我想使用 FFmpeg 压缩高质量的视频,但文件比预期的要小得多,因此质量下降。我怎样才能达到预期的质量和文件大小,而不是我现在得到的输出。
视频质量不如预期。FFmpeg 正在将大小为 11.3GB 的原始视频转换为仅 797 MB。
视频编解码器的详细信息可以在这里找到:
我想将视频转换为MP4 - 编解码器:高品质 H264。
11.3GB 应压缩为4GB. 预期媒体信息可见于:
中等尺寸应压缩为1.25 GB. 预期媒体信息可见于:
我运行了以下命令,产生了如下输出:
文件大小可以在这里查看:
ffmpeg -i Orignal-Video.mov -s 720x576 -b 512k -vcodec mpeg1video -acodec copy Compressed-Video_Output_1.mov
制作 787 MB 的视频
ffmpeg -i Orignal-Video.mov -c:v libx264 -crf 24 -b:v 1M -c:a aac Compressed-Video-Output_2.mp4
制作 413 MB 的视频
ffmpeg -i Orignal-Video.mov -map_metadata -1 -c:v libx265 -crf 20 -c:a aac -b:a 128k -ac 2 -vol 512 -tag:v hvc1 -sn Compressed-Video-Output_3.mp4
制作 797 MB 的视频
如何才能在获得更好质量的同时减小文件大小?
答案1
选择 1:特定品质或者具体文件大小
- 您可以选择质量级别,也可以选择所需的文件大小。
- 大多数用户都想要特定的质量,文件大小不太重要。
- 仅当您的空间有限(例如小型 USB 驱动器)时才建议选择特定的文件大小。
特定质量
使用 libx264 (H.264) 和 libx265 (H.265/HEVC),如果您希望所有视频都具有相同的质量水平,您基本上只需要:
-crf
使用可提供可接受质量的最高值。- 使用
-preset
您有耐心的最慢速度。 -crf
使用相同的和对您的一批视频进行编码-preset
。
这将使编码器更加高效,并应用适当的位数来达到所需的质量水平。输出文件大小不可预测。
看FFmpeg 维基:H.264和FFmpeg 维基百科:H.265更多细节。
具体文件大小
如果您需要特定的文件大小,请使用上面两个链接中所示的两遍编码。但是,除非您需要特定大小的视频,否则没有必要这样做。
不要使用比特率作为质量指标
FFmpeg 正在将大小为 11.3GB 的原始视频转换为仅 797 MB。
原始格式是 DV,一种为旧摄像机和编辑制作的古老格式。它从来就不是一种高效、高度压缩的格式。这不是它的设计目的。输出是 HEVC,一种更新的格式,由功能强大、高效的编码器编码。比较它们的比特率毫无意义。
忽略比特率。观看视频。如果看起来比原始视频差很多,则降低比特率,-crf
直到可以接受为止。