【发布时间】:2013-09-17 14:59:30
【问题描述】:
我正在尝试在 4.3 上使用 H264 编码器运行 Media Codec 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,capacity=8], height=144, mime=video/avc, csd-0= java.nio.ByteArrayBuffer[position=0,limit=12,capacity=12], what=1869968451, width=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): 写入器线程停止
所以在我看来它应该可以工作,但看起来编码器仍然没有正确配置......
请指导... 谢谢
尼尔
【问题讨论】:
标签: android-4.3-jelly-bean android-mediacodec muxer