ffmpeg:重新编码视频,保持设置相似

One*_*oob 13 video mp4 ffmpeg

我正在处理一些在手机上编码并且非常大的 mp4 视频。

我认为 ffmpeg 可以做得更好。我试图找出使用哪些标志来保持 fps、分辨率并保持外观相同(无损或接近无损)。

我应该使用什么标志?

llo*_*gan 22

保留设置

ffmpeg 编码时会自动尝试使用许多相同的参数,包括:帧速率、宽度、高度、像素格式、音频通道布局、音频采样率等。因此您通常不必做任何特殊的事情。

如果存在格式或编码器限制,某些设置可能会更改。

保持品质

对于使用编码器 libx264 的 H.264 视频,请使用:

  • -crf 18
  • 你有耐心的最慢的预设

这些选项将输出有损视频,但它-crf 18提供了足够的位,因此可能在视觉上无损或几乎无损。如果输出仍然太大,一般建议使用-crf仍能提供可接受质量的最高值。

您可以将其更改-crf 0为真正的无损,但结果输出将是一个巨大的文件大小——可能比原始文件还要大。

例子:

ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -c:a copy output.mp4
Run Code Online (Sandbox Code Playgroud)

此示例流复制音频而不是重新编码,因为大部分文件大小来自视频。

开发非常活跃,因此请确保使用最新版本的ffmpeg. 有关二进制文件的链接,请参阅FFmpeg 下载页面。

另见: