AlphaPlayer icon indicating copy to clipboard operation
AlphaPlayer copied to clipboard

【Android】原视频上下布局已调试好了,但是就是色值上有明显的差异,麻烦帮忙看一下

Open sonuan opened this issue 2 years ago • 4 comments

上图:这是原视频里的一帧。 下图:合成后的效果,有点偏暗。

frag.sh

#extension GL_OES_EGL_image_external : require
precision mediump float;
varying vec2 vTextureCoord;
uniform samplerExternalOES sTexture;

void main() {
    vec4 color = texture2D(sTexture, vTextureCoord);
    vec4 color2Map = vec4(1.0, 1.0, 1.0, 1.0);
    if (vTextureCoord.y < 0.5) {
        color2Map = texture2D(sTexture, vec2(vTextureCoord.x, vTextureCoord.y + 0.5));
        gl_FragColor = vec4(color.r, color.g, color.b, color2Map.g);
    } else {
        gl_FragColor = vec4(color.r, color.g, color.b, color.a);
    }
}

vertex.sh

uniform mat4 uMVPMatrix;
uniform mat4 uSTMatrix;

attribute vec4 aPosition;
attribute vec4 aTextureCoord;

varying vec2 vTextureCoord;

void main() {
    gl_Position = uMVPMatrix * aPosition;
    vTextureCoord = (uSTMatrix * aTextureCoord).xy;
}

sonuan avatar Jul 27 '21 12:07 sonuan

@sonuan 你是如何支持上下视频的?求教

junixapp avatar Sep 16 '21 08:09 junixapp

@li-xiaojun

  1. 原来的 VideoRenderer的halfRightVerticeData 改成下面这样。

private var halfRightVerticeData = floatArrayOf( // X, Y, Z, U, V -1.0f, -1.0f, 0f, 0f, 0.5f, 1.0f, -1.0f, 0f, 1f, 0.5f, -1.0f, 1.0f, 0f, 0f, 1f, 1.0f, 1.0f, 0f, 1f, 1f )

  1. frag.sh修改

#extension GL_OES_EGL_image_external : require precision mediump float; varying vec2 vTextureCoord; uniform samplerExternalOES sTexture;

void main() { vec4 color = texture2D(sTexture, vTextureCoord); vec4 color2Map = vec4(1.0, 1.0, 1.0, 1.0); if (vTextureCoord.y < 0.5) { color2Map = texture2D(sTexture, vec2(vTextureCoord.x, vTextureCoord.y + 0.5)); gl_FragColor = vec4(color.r, color.g, color.b, color2Map.g); } else { gl_FragColor = vec4(color.r, color.g, color.b, color.a); } }

sonuan avatar Sep 16 '21 08:09 sonuan

@sonuan 色差的问题你咋解决的,按你的改了之后,颜色有点深

junixapp avatar Sep 16 '21 09:09 junixapp

@li-xiaojun 貌似无法解决。用RGB转成YUV正常情况是可以,但是绿幕上的色值,不仅仅只有绿色,这个有点奇怪。

sonuan avatar Sep 16 '21 09:09 sonuan