silverdog
V2EX  ›  WebRTC

android google 原生 webrtc setVideoProcessor 如何消费 VideoFrame

  •  
  •   silverdog · Apr 2, 2021 · 2273 views
    This topic created in 1874 days ago, the information mentioned may be changed or developed.
    如何解决着急!!!!!!!

    // 调用第三方美颜算法( mMHBeautyManager.render ) 返回新的 textureId
    // textureId 生成 VideoFrame
    // s.onFrame()


    // 报错
    11-24 16:01:59.673: E/org.webrtc.Logging(25509): MediaCodecVideoEncoder: encodeTexture failed
    11-24 16:01:59.673: E/org.webrtc.Logging(25509): MediaCodecVideoEncoder: java.lang.RuntimeException: glUseProgram: GLES20 error: 1282
    11-24 16:01:59.676: E/org.webrtc.Logging(25509): MediaCodecVideoEncoder: java.lang.RuntimeException: glUseProgram: GLES20 error: 1282
    11-24 16:01:59.676: E/org.webrtc.Logging(25509): at org.webrtc.GlUtil.checkNoGLES2Error(GlUtil.java:29)
    11-24 16:01:59.676: E/org.webrtc.Logging(25509): at org.webrtc.GlShader.useProgram(GlShader.java:110)
    11-24 16:01:59.676: E/org.webrtc.Logging(25509): at org.webrtc.GlRectDrawer.prepareShader(GlRectDrawer.java:195)
    11-24 16:01:59.676: E/org.webrtc.Logging(25509): at org.webrtc.GlRectDrawer.drawOes(GlRectDrawer.java:118)
    11-24 16:01:59.676: E/org.webrtc.Logging(25509): at org.webrtc.MediaCodecVideoEncoder.encodeTexture(MediaCodecVideoEncoder.java:592)



    // 关键代码如下
    val buffer = p0.buffer as TextureBuffer
    val textureId = mMHBeautyManager.render(
    buffer.textureId,
    buffer.width,
    buffer.height,1,1
    )
    val textureBufferImpl= TextureBufferImpl(
    buffer.width,
    buffer.height,
    buffer.type,
    textureId,
    buffer.transformMatrix,
    surfaceTextureHelper?.handler,
    yuvConverter,
    null
    )

    val new = VideoFrame(textureBufferImpl, 270, System.nanoTime())
    s.onFrame(new)
    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1389 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 17:12 · PVG 01:12 · LAX 10:12 · JFK 13:12
    ♥ Do have faith in what you're doing.