在 Android 上使用 MediaMuxer 保存 h.264 流媒体视频
Saving h.264 streaming video using MediaMuxer on Android
(我的英语不是很好,但我会尽力的。)
我正在开发一个 Android 应用程序,可以将接收到的 h.264 流 video/audio 帧保存到剪辑中。我 运行 遇到了一个问题 here, "Missing codec specific data."
我尝试了一些方法来解决这个问题。
- 分配预定义的编解码器特定数据。
我从 this post 那里借来的,它的工作出奇地完美 - 但仅限于我个人 phone(Sony Xperia Z3,Android 5.1.1)。大多数测试设备只是碾压。(Android 4.3/4.4).
- 正在从视频流本身解析编解码器特定数据。
在我的 phone 上,它被压碎了。但不知何故适用于某些设备。
我以this code为例。
- 创建一个编码器来对接收到的视频帧进行编码,然后将它们传递给 MediaMuxer。
是的,这是一个愚蠢的想法,它行不通。
- 创建一个解码器来解码接收到的视频帧,将它们传递给编码器,然后将编码后的帧传递给 MediaMuxer,保存它。
应用无法从编码器获取任何空闲缓冲区。僵局。
现在我运行没主意了。
我最后的希望是使用 ffmpeg。
但是我找到的资源是 encode/decode 来自视频文件的视频,而不是来自流的视频。
有什么建议吗?
提前致谢。 :)
经过一周的试用,包括周末学习 h.264 规范等等。
我发现问题与视频无关。
是音频导致应用崩溃。
结案,感谢观看。 :\
(我的英语不是很好,但我会尽力的。)
我正在开发一个 Android 应用程序,可以将接收到的 h.264 流 video/audio 帧保存到剪辑中。我 运行 遇到了一个问题 here, "Missing codec specific data."
我尝试了一些方法来解决这个问题。
- 分配预定义的编解码器特定数据。
我从 this post 那里借来的,它的工作出奇地完美 - 但仅限于我个人 phone(Sony Xperia Z3,Android 5.1.1)。大多数测试设备只是碾压。(Android 4.3/4.4). - 正在从视频流本身解析编解码器特定数据。
在我的 phone 上,它被压碎了。但不知何故适用于某些设备。 我以this code为例。 - 创建一个编码器来对接收到的视频帧进行编码,然后将它们传递给 MediaMuxer。
是的,这是一个愚蠢的想法,它行不通。 - 创建一个解码器来解码接收到的视频帧,将它们传递给编码器,然后将编码后的帧传递给 MediaMuxer,保存它。
应用无法从编码器获取任何空闲缓冲区。僵局。
现在我运行没主意了。
我最后的希望是使用 ffmpeg。
但是我找到的资源是 encode/decode 来自视频文件的视频,而不是来自流的视频。
有什么建议吗?
提前致谢。 :)
经过一周的试用,包括周末学习 h.264 规范等等。
我发现问题与视频无关。
是音频导致应用崩溃。
结案,感谢观看。 :\