我正试图从一个平滑的流媒体服务器重建一个视频文件。平滑流提供fMP4文件,这些文件是普通的MP4文件,没有它们的FTYP或MOOV原子。
存储在这些原子中的所有信息都放在我拥有的Manifest XML文件中。
是否有一种以编程方式重新生成原始MP4文件的方法:
否则,是否有一个可以合并fMP4的工具?
发布于 2012-08-27 14:02:30
是。这是完全可能的。
您可以使用FFmpeg来完成这个任务。研究libavformat中的mov.c MP4演示器。
您需要在内存中使用fMP4中“缺失”的所有数据来完成fMP4。换句话说,当您需要一个几乎不存在于fMP4中的原子时,您将不得不输入所有硬编码的信息(这些信息大多来自清单)。
这不容易..。但这肯定是可能的。我自己做的。不幸的是,代码不是我的财产。
祝你好运!
更新:,PIFF格式规范将是非常有用的(http://go.microsoft.com/?linkid=9682897),这样我们就可以理解fMP4中已经存在了什么,什么不是!
发布于 2013-12-19 02:53:45
如果存在与分段mp4文件相关的ism和ismc文件,则重构mp4文件非常简单。
要求您了解媒体类型、编解码器类型、编解码器特定数据和每个trak的时间尺度,以重建moov和ftyp原子。
这些信息可以从ism和ismc文件中检索。
您可以从ism文件中检索每个曲目的媒体类型。您可以从ismc文件中检索编解码器类型、编解码器特定数据和每个音轨的时间尺度。
简单地说,ism/ismc文件是服务器和客户端的元数据,因此您可以为mp4文件重新构建元数据(ftyp、moov )。
https://stackoverflow.com/questions/11899247
复制相似问题