正确分割 avi 文件

正确分割 avi 文件

我正在尝试avi按如下方式拆分文件。

avconv -i file.avi -vcodec copy -acodec copy -ss 0 -t 10 out.avi

这样就可以了(它用视频的前 10 秒创建了一个块)。

问题是当我想从视频的第十秒分割到第二十秒时

avconv -i file.avi -vcodec copy -acodec copy -ss 10 -t 10 out.avi

生成的视频在前两秒只有声音。

我循环使用它。因此,类似地,块 20-30.avi、30-40.avi ... 的分块很糟糕,并且从一开始就只包含不同长度的声音。

你知道如何正确分块 avi 视频吗?

答案1

许多视频编解码器以两种或三种不同的方式对视频帧进行编码:I 帧、P 帧和 B 帧。简而言之,只有 I 帧才能容纳足够的数据来作为视频起点。对于-vcodec copy,该软件仅执行此操作 - 复制帧。因此,如果您的剪切发生在块从 I 帧开始的时间,那么它会播放得很好;否则,不会。

因此,无法对视频进行重新编码。一些 GUI 软件(例如 avidemux)“聪明”地做到了这一点:它们仅重新编码块的开头,直到第一个可用的 I 帧,然后复制其余部分。

相关内容