c#-4.0 - 从碎片化的 MP4 "mdat"原子重建 MP4 文件?

标签 c#-4.0 mp4 smooth-streaming

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

存储在这些原子中的所有信息都被放入我拥有的 Manifest XML 文件中。

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

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

  • 或者,有没有可以合并fMP4的工具?

    最佳答案

    是的。这是完全可能的。

    你可以用 FFmpeg 做到这一点。研究 libavformat 中的 mov.c [MP4 demuxer]。

    您需要使用 fMP4 中“缺失”的所有数据来完成内存中的 MP4。换句话说,当您需要 fMP4 [几乎所有] 中不存在的原子时,您将不得不输入所有硬编码的信息(此类信息,其中大部分来自 list )。

    这并不容易……但肯定有可能。我自己做过。不幸的是,代码不是我的属性(property)。

    祝你好运! ;-)

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

    关于c#-4.0 - 从碎片化的 MP4 "mdat"原子重建 MP4 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11899247/

    相关文章:

    c# - 根据以前的值实时猜测值

    c# - 如何在保存到磁盘之前压缩文件?

    c# - 避免过多的 if else, else if 语句用于多个 (9) 条件

    winforms - 防止 ToolStripMenuItem 上下文菜单在单击时关闭

    JAVA - Xuggler - 结合 MP3 音频文件和 MP4 电影

    video - 场景剪辑检测和一致的 GOP 大小 - 自适应流

    c#-4.0 - CreateParams.Style的可能值是什么?

    javascript - javascript MSE可以从中间播放分段的mp4吗?

    Prezi 格式的图像到视频