【问题标题】:Parsing split video with ffmpeg使用 ffmpeg 解析分割视频
【发布时间】:2016-09-08 16:19:54
【问题描述】:

我将视频文件分成几块。拆分完成和随机文件位置,但块足够大。

我需要用不同的 AVFormatContext 实例解析每个部分。块按正确的顺序一个接一个地出现。我认为这里有两种选择:

  1. 能够保存和恢复 AVFormatContext 状态;
  2. 保存视频文件头(从第一个块开始)并将其附加到每个块。

我都试过了,但都没有成功。第一种方法需要过于深入地超越 ffmpeg 的公共 API。使用第二种方法,我无法将标头与新块合并,以便 ffmpeg 可以处理它。

你能帮我解决这个问题吗?

谢谢。

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    这完全取决于文件类型。以 MP4 为例,表头必须完全重写,不能随便复制。 Flv 标头可能只是被复制,但必须在帧边界上分割,而不是随机分割。 TS 可以做到这一点,但你会在切割点错过一帧。

    实际上,文件需要重新组合,正确拆分。

    【讨论】:

    • 我可以保存前一个块的一部分用于下一个块解析。所以我们可以假设文件以正确的方式分割。
    • 我看到标题复制不是一个解决方案。你认为保存/恢复 AVFormatContext 状态更好吗?
    • 保存前一个块的一部分不是以正确的方式拆分。您需要了解文件是如何构造的。花几天时间编写一个 MP4 解析器。然后您将了解如何正确拆分它。
    • 保存上下文可能有效。但这是一项艰巨的任务。
    猜你喜欢
    • 1970-01-01
    • 2021-01-16
    • 2019-02-13
    • 2011-08-04
    • 1970-01-01
    • 2023-02-02
    • 2015-10-09
    • 1970-01-01
    • 2016-11-10
    相关资源
    最近更新 更多