获得相同质量的最小视频,如何使用 FFMPEG?

获得相同质量的最小视频,如何使用 FFMPEG?

我知道这是一个“无聊”的问题,但是:假设我有一个 wmv、avi 等大文件。我想将其转换为 .MP4,尽可能减小文件大小,当然还要保持音频/视频的质量。怎么做?我应该使用什么编解码器?我使用的是 FFmpeg

答案1

您可以尝试使用 libx264 CRF 18 进行编码。CRF 参数设置质量并影响文件大小。值越低表示质量越高,典型值为 18 到 28。默认值为 23。

CRF 18 因产生(可以说是)“视觉无损”的结果而闻名:

ffmpeg -i input.avi -c:v libx264 -crf 18 -preset veryslow -c:a copy out.mp4

请注意,我使用了一个veryslow预设,它将为您提供尽可能小的文件。如果您想更快地编码,可以忽略它,但文件大小也会更大。

另外,我决定复制音轨而不是重新编码它(-c:a copy),主要是因为我认为您的样本中已经是 AAC/MP3 立体声。

如果输出对您来说太大,请尝试使用更高的 CRF 值(最高 23),但质量会受到影响。

答案2

2021

H265 / HEVC 版本:

ffmpeg -i input.mp4 -vcodec libx265 -crf 18 -tag:v hvc1 -preset veryslow output.mp4

答案3

获得最小的视频并尽量减少质量损失是最大的挑战。网络上有很多指南会推荐在 FFmpeg 上使用的设置,例如游戏捕获、流媒体、DVD 翻录等。

如果你想无损无损,试试这个:

ffmpeg -i input.mp4 -c:v libx264 -crf 0 output.mp4

最重要的部分是-crf 0将其设置为无损。但是,输出文件通常会非常大。您可以将其更改为,-crf 18这样可以让您获得质量可接受且没有大多数瑕疵的东西。

相关内容