Android MediaCodec java.nio.BufferOverflowException

时间:2014-09-09 08:19:31

标签: java android h.264 encode mediacodec

我想将视频从摄像机编码为​​H.264。要做到这一点,我正在使用this code

问题是,我在此行java.nio.BufferOverflowException的{​​{1}}函数中获得offerEncoder

我发现了inputBuffer.put(input);input.length = 2332800

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

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

1 个答案:

答案 0 :(得分:0)

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