【问题标题】:Android MediaCodec java.nio.BufferOverflowExceptionAndroid MediaCodec java.nio.BufferOverflowException
【发布时间】:2023-04-07 03:54:01
【问题描述】:

我想将摄像机中的视频编码为 H.264。为此,我使用 this code

问题是我在inputBuffer.put(input); 这一行的offerEncoder 函数中得到了java.nio.BufferOverflowException

我发现input.length = 2332800inputBuffer.limit()=520192

有谁知道如何解决这个问题?

或者另一种解决方法来实现对 H.264 的编码?我看到了一些关于这个问题的帖子,但这些帖子对我没有帮助。

【问题讨论】:

    标签: java android h.264 encode android-mediacodec


    【解决方案1】:

    在这种情况下,您的输入数据为 2.2 MB,而输入缓冲区只有 508 KB。您的示例代码显示了为 320x240 设置编码器(其中输入缓冲区只有大约 112 KB 大),而您的输入数据似乎太大了。相反 - 你的输入帧有多大?确保这与您在编码器中设置的参数相匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      相关资源
      最近更新 更多