家庭视频的 FFMPEG 配置

FFMPEG configuration for home video

我有很多来自智能手机和相机的家庭视频。但是他们占了很多space。我想通过 ffmpeg 在 x264 文件中 compress/convert 这些。 我找到以下配置:

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

能否请您帮助我改进这些配置,以转换质量可接受且体积小的文件。

您似乎在进行两次编码。这通常只有在您关心达到确切的目标文件大小时才有用。我认为在您的情况下您可能实际上不需要它。

我也会省略其他一些论点,因为通常 ffmpeg/x264 "do the right thing".

为此,您很可能一次获得所需的信息:

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

与您原来命令的区别:

  • 依赖一些 x264 默认值(-preset medium 是其中之一)
  • -tune film 会告诉 x264 来源是 "live"(相对于动画、静态等)
  • 直接复制音频(可能已经足够低了,重新编码不会给你带来太多好处)

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

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

如果增加 -crf 值,会减小文件大小,但也会降低输出视频质量。我建议使用 -crf 值,直到找到满意的值。