2016-05-12 62 views
0

我将视频文件分成几块。分割完成和随机文件位置,但大块足够大。用ffmpeg解析分割视频

我需要用AVFormatContext的不同实例来解析每个零件。块依次以正确的顺序依次出现。我认为这里有两种选择:

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

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

你能帮我吗?

谢谢。

回答

2

这完全取决于文件类型。例如MP4,头部必须完全重写,并且不能被复制。 Flv头可能只是被复制,但必须在帧边界上分割,而不是随机分割。 TS可以做到这一点,但你会错过一个切入点的框架。

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

+0

我可以保存前一个块的一部分用于下一个块分析。所以我们可以假设文件以正确的方式分割。 – mtomy

+0

我看到标题复制不是解决方案。你认为保存/恢复AVFormatContext状态会更好吗? – mtomy

+0

保存前一个块的一部分并不是以适当的方式拆分。您需要了解如何构建文件。花几天时间写一个MP4解析器。然后您将了解如何正确分割它。 – szatmary