-1

我有很多来自智能手机和相机的家庭视频。但是它们占用了很多空间。我想通过 ffmpeg 将这些压缩/转换为 x264 文件。我找到以下配置:

ffmpeg -y -i input.mov -c:v libx264 -preset medium -b:v 4500k -pix_fmt yuvj420p -pass 1 -an -f mp4 nul
ffmpeg -y -i input.mov -c:v libx264 -preset medium -b:v 4500k -pix_fmt yuvj420p -pass 2 -c:a aac -b:a 256k -f mp4 out.mp4

请您帮我改进这些配置,以转换质量可接受且尺寸较小的文件。

4

1 回答 1

0

看起来您正在执行两遍编码。这通常仅在您关心达到精确的目标文件大小时才有用。我认为在您的情况下,您可能实际上并不需要它。

我也会省略其他一些论点,因为通常ffmpeg/ x264“做正确的事”。

为此,您可能只需通过一次即可获得所需的东西:

ffmpeg -y -i input.mov -c:v libx264 -tune film -c:a copy output.mp4

与原始命令的区别:

  • 依赖一些x264默认值(-preset medium作为其中之一)
  • -tune film会告诉x264源是“活的”(与动画相反,静止等)
  • 音频是直接复制的(可能已经足够低,重新编码不会给你带来很多好处)

如果还是觉得文件过大,可以稍微降低质量(-crf以下默认为23):

ffmpeg -y -i input.mov -c:v libx264 -tune film -crf 24 -c:a copy output.mp4

如果增加该-crf值,则会减小文件大小,但也会降低输出视频质量。我建议你玩这个-crf值,直到你找到一个你满意的值。

于 2015-12-17T13:13:01.680 回答