(我的英语不是很好,但我会尽力而为。)
我正在开发一个将收到的 h.264 流式视频/音频帧保存到剪辑中的 Android 应用程序。我遇到了这里提到的一个问题,“缺少编解码器特定数据”。
我尝试了一些方法来解决这个问题。
- 分配预定义的编解码器特定数据。我从这篇文章
中 借来的,它工作得非常完美——但仅限于我的个人手机(Sony Xperia Z3,Android 5.1.1)。大多数测试设备只是粉碎。(Android 4.3/4.4)。 - 从视频流本身解析编解码器特定数据。
在我的手机上它粉碎了。但不知何故适用于某些设备。我以这段代码为例。 - 创建一个编码器来对接收到的视频帧进行编码,然后将它们传递给 MediaMuxer。
是的,这是一个愚蠢的想法,它不起作用。 - 创建一个解码器来解码接收到的视频帧,将它们传递给编码器,然后将编码的帧传递给 MediaMuxer,保存。
应用程序无法从编码器获取任何空闲缓冲区。僵局。
现在我的想法已经不多了。
我得到的最后希望是使用 ffmpeg。
但是我发现的资源是来自视频文件的编码/解码视频,而不是来自流。
有什么建议么?
提前致谢。:)