我需要拆分mpeg4视频流(实际上来自Android视频摄像头)以通过RTP发送它。 规范有点大,无法快速参考。
我想知道是否有mpeg4打包的示例/开源代码?
感谢您的帮助!
答案 0 :(得分:5)
Mpeg4文件格式也称为ISO / IEC 14496-14。谷歌任何你会发现规格。 但是,您尝试做的事情(RTP发布者)将因以下原因而变得困难:
Mpeg4在文件末尾有标题。这意味着只有在视频流完成时才会写出标题。由于您想要进行实时视频流,您需要猜测音频和视频数据包的开始/结束位置。这在所有Android设备上都不一样,因为它们可能使用不同的视频大小和编解码器参数。因此,您的代码将取决于设备,您需要支持和测试许多不同的设备。
某些设备不会定期将视频数据刷新到文件。有些人每分钟只冲洗一次。这将打破您的实时流。
没有示例代码。我知道,因为我看了。有一些公司做了类似的事情,但主要是他们跳过RTP。相反,他们逐步将文件上传到他们自己的服务器,然后实现视频/音频流“斩波”,然后将其插入到他们的视频/转码器后端。我曾经为其中一家公司工作,这就是我们做到的。 AFAIK比赛采用了类似的方法。好处是所有复杂性都在服务器上,当出现问题或新设备上市时,您不需要更新客户端。