我看到 youtube 上有一些分辨率为 1080p 的视频,长度超过 10 分钟,大小只有 50-60 MB。
我的视频只有 3 分钟长,分辨率只有 720p,但无法将其大小降至 90mb 以下。
我检查了另一个在这里回答关于减小尺寸的问题。尝试使用更改比特率ffmpeg -i input.mp4 -b 1000000 output.mp4
也尝试过ffmpeg -i input.mp4 -vcodec libx265 -crf 20 output.mp4
将 -crf 在 18 到 24 之间更改,同时使用 libx264,265,但这都导致了几乎相同的输出大小,有时它甚至变得更大而不是更小。
答案1
我对 h265 编解码器有很好的体验。
输出视频的尺寸缩小了 2-8 倍,但质量没有任何明显的损失。
ffmpeg -i input.mkv -c:v libx265 -vtag hvc1 -c:a copy output.mkv
如果你想进一步减小文件大小,x265支持病例报告表以及两种不同的目标比特率算法:
与x264类似,x265编码器具有多种码率控制算法,包括:
- 1-pass 目标比特率(通过设置 -b:v)
- 2 遍目标比特率
- 恒定速率因子 (CRF)
病例报告表:
虽然比特率随 CRF 变化,但帧与帧之间的质量几乎相同。
CRF 可以是 0 到 51 之间的任何值,其中较低的值将导致较高的质量。你想要做的就是设置一个相对较高的 CRF。这当然会使质量变差。
选择 CRF。 CRF影响质量。默认值为 28,它在视觉上应与 CRF 23 处的 libx264 视频相对应,但文件大小约为一半。 CRF 的工作方式与 x264 中一样,因此请选择提供可接受质量的最高值。
选择一个预设。默认值为中等。预设决定压缩效率并因此影响编码速度。有效预设为超快、超快、非常快、更快、快、中、慢、慢、非常慢和安慰剂。使用您有耐心的最慢预设。忽略安慰剂,因为它为编码时间的显着增加提供了微不足道的回报。
选择一首曲子(可选)。默认情况下,此功能处于禁用状态,并且通常不需要设置调整选项。 x265 支持以下 -tune 选项:psnr、ssim、grain、zerolatency、fastdecode。 H.264 指南中对此进行了解释。
条件描述表示例
ffmpeg -i input -c:v libx265 -crf 28 -preset slower -c:a copy output.mp4
请注意,在示例中我们只是复制音频流。您还可以对音频流进行转码以节省额外的几MB。