我正在尝试在 4.3 上运行带有 H264 编码器的媒体编解码器 API 的示例代码,在 bigflake 的以下链接中进行了解释
http://bigflake.com/mediacodec/CameraToMpegTest.java.txt
我遇到了以下问题。-> 在 H264 编码器代码中,颜色格式、高度和宽度没有得到更新,因为 getpatameter 实现存在问题。所以我应用了这个补丁(https://code.google.com/p/android/issues/detail?id=58834)。-> 应用补丁后,编码器也不编码 -> 我看到像 D/CameraToMpegTest(3421) 这样的观察结果:编码器输出格式已更改:{csd-1=java.nio.ByteArrayBuffer[position=0,limit=8 ,容量=8],高度=144,mime=video/avc,csd-0=java.nio.ByteArrayBuffer[位置=0,限制=12,容量=12],什么=1869968451,宽度=176}
那么为什么这个值会被改变,不知道......之后我们总是看到编码器将 queueOutputBuffer 的状态提供为 INFO_TRY_AGAIN_LATER。所以它创建了文件,但它不编码任何东西,它停止为
I/MPEG4Writer(3421):接收到总/0 长度 (0/0) 缓冲区并编码 0 帧。- 视频
D/MPEG4Writer(3421):停止视频轨道
D/MPEG4Writer(3421):停止视频轨道源
D/MPEG4Writer(3421):视频轨道停止
D/MPEG4Writer(3421):停止编写器线程
D/MPEG4Writer(3421): 最后一批写入了 0 个块
D/MPEG4Writer(3421):编写器线程已停止
因此,据我所知,它应该可以工作,但看起来编码器仍然没有正确配置......
请指导这...谢谢
内哈尔