压缩AVI视频流,同时盲目复制另一个流

时间:2011-07-05 19:39:02

标签: video ffmpeg avi riff

我有一堆视频文件格式有些奇怪。有一个常规视频流,还有一个文本流,用于存储视频帧的精确时间戳(来自GPS同步的硬件时钟)。以下是ffmpeg的示例输出:

Input #0, avi, from 'in.avi':
  Duration: 00:00:52.13, start: 0.000000, bitrate: 311033 kb/s
    Stream #0.0: Video: rawvideo, rgb32, 658x492, 30 tbr, 30 tbn, 30 tbc
    Stream #0.1: Data: 0x0000

视频未压缩,所以我想压缩它。我已成功使用ffmpeg作为该部分。问题是,我想将数据流#0.1映射到输出文件,完全不变。我一直在尝试和尝试,但我找不到任何方法让ffmpeg这样做。它只想处理音频,视频和字幕流,并且文本不是有效的字幕格式。制作视频的人刚刚退休,因此更改输入格式不是一种选择。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好吧,让我们考虑一下你在这里要做的事情:

  • 您希望节省空间并保存您的存档。高贵的想法。但是,视频文件的用途是什么?由于您的数据流位于AVI文件中,因此您似乎拥有一个可以读取该文件并使用它们执行某些操作的软件。那么,该软件能够完全读取COMPRESSED视频吗?
  • 是视频帧速率常数还是正在变化?如果它是常数,你可以提取第一帧的时间,并编程计算使用文件时每帧的时间。
  • AVI不会处理你想要做的事情。你可以拥有现在拥有的东西,因为从视频帧到时间戳有一对一的通信,当你的视频打包时,会有KEYFRAMES和其他视频数据,你只能为关键帧加时间戳
  • 如果您不需要软件来使用该文件,您是否可以考虑对视频的IN帧进行时间戳,并完全抛弃您的数据流?

好吧,我不想回答,但你的问题太开放了。

编辑:我正在读取AVI文件 ARE 确实是一个恒定的帧速率,所以你真的可以使用第一种技术并将第一帧的时间戳写入某个文件。