从碎片化的MP4"mdat"原子重建MP4文件?

Vel*_*cro 6 mp4 c#-4.0 smooth-streaming

我正在尝试从Smooth Streaming服务器重建视频文件.Smooth Streaming提供fMP4文件,这些文件是常规的MP4文件,既没有FTYP也没有MOOV原子.

存储在那些atom中的所有信息都放在一个Manifest XML文件中,我有.

有没有办法以编程方式重建原始MP4文件,通过:

  • 直接从位于MDAT(和图片格式信息)的H264/AAC内容重建新文件; 要么
  • 重建FTYP和MOOV原子

否则,是否有可以合并fMP4的工具?

Wag*_*ota 3

是的。这是完全有可能的。

您可以使用 FFmpeg 来完成此操作。研究 libavformat 中的 mov.c [MP4 demuxer]。

您需要使用 fMP4 中“丢失”的所有数据来完成内存中的 MP4。换句话说,当你需要一个fMP4中不存在的原子时[几乎全部],你将不得不输入硬编码的所有信息(这样的信息,大部分来自清单)。

这并不容易……但肯定是可能的。我自己做过。不幸的是,该代码不是我的财产。

祝你好运!;-)

更新: PIFF 格式规范将非常有用(http://go.microsoft.com/?linkid=9682897),因此人们可以了解 fMP4 中已有的内容和不包含的内容!