【发布时间】:2015-01-03 17:02:36
【问题描述】:
我一直在探索 Fadden 在http://bigflake.com/mediacodec/ 上的文档和示例,并将补丁http://bigflake.com/mediacodec/0001-Record-game-into-.mp4.patch 应用于突破游戏。不幸的是,在编译代码后,我意识到它不起作用,生成的视频文件无法流式传输。
我看到以下错误: “mp4 文件将不可流式传输。”
根据 Fadden 的说法,这应该通过检查 mBufferInfo.flags (https://stackoverflow.com/questions/23934087/non-streamable-video-file-created-with-mediamuxer) 来解决,这已经在他的代码中完成了,所以我完全不知所措。有其他人让视频录制补丁正常工作吗?
【问题讨论】:
-
消息来自 MPEG4Writer.cpp (android.googlesource.com/platform/frameworks/av/+/…) 的第 913 行。如果未设置
mWriteMoovBoxToMemory,则会发出它。第 642 行有一个很长的注释,解释了这一切。简短的版本是有一大块数据可以写入文件的前面或末尾,如果没有写入前面,则文件不可流,因为流的接收者无法找到结束阅读。我实际上不知道是什么原因导致它无法写到前面。 -
我可能应该补充一下:Grafika (github.com/google/grafika) 中有更完整的示例,例如“记录 GL 应用程序”。
标签: android android-mediacodec