如何从命令行减小视频的文件大小?

thi*_*eye 8 command-line video codecs

我想减小视频大小。视频可能是 .flv、.avi 等。我希望从终端完成。我怎样才能做到这一点?

chr*_*tis 7

这应该从一个警告开始,即有损媒体格式之间的转码通常会导致质量损失。

这里有很多选择:

  • 将原有的格式(MPEG-1DivX 3等),以更新,更高效的编解码器(例如x264theora),它通常会保留大部分的视频/音频质量较小的输出。

  • 降低目标比特率或目标输出大小,以牺牲再现质量为代价来提高大小。

  • 减少视频尺寸,以较低的总尺寸实现类似的再现质量。

除非您有其他选择的充分理由,否则对于质量和相当广泛的兼容性而言,容器中的x264视频和aac音频mp4是一个不错的选择(但您应该对一些简短的内容进行编码并尝试在任何您想要播放的内容上进行播放 - 越来越广泛)可播放的转码结果仍然是一种巫术练习)。

我发现当前命令可以很好地转换旧格式:

avconv -y -i INPUT -pre:v libx264-slower -b:a 96k -c:v libx264 -c:a libvo_aacenc OUTPUT.mp4
Run Code Online (Sandbox Code Playgroud)

您可以通过-vf scale=iw*0.5:ih*0.5在输出名称之前添加来缩小图像大小,或设置视频比特率-b:v,或使用多通道选项进行播放……但大多数情况下,以上都会产生合理的结果。