我收集了一组来自数码相机的 h264 视频,正在将其重新编码为 h265 (HEVC)。我使用的 FFmpeg 选项是:
-c:v libx265 -preset medium -x265-params crf=20:keyint=30 -c:a copy -pix_fmt yuv420p10le -map_metadata 0
虽然“质量”显然是主观的,但经过大量阅读后,似乎大多数人都同意 CRF 约为 23 是一个相当不错的折衷方案(默认值为 28;越低越好)。我将其降至 20 以获得更高的质量。生成的 HEVC 视频在视觉上几乎与源视频相同 - 真正感知差异的唯一方法是截取屏幕截图并放大,但对于常规观看而言,效果非常好。
然而,文件大小让我有点吃惊。我的理解是,对于 1080p+ 素材,HEVC 可以提供与 h264 大致相同的视频质量,而占用的空间大约只有 h264 的一半,但在许多情况下,我最终得到的视频大小只有 h264 的 5%。当然,这取决于比特率 - 源视频约为 50Mbps,而压缩后的视频从 30Mbps 一直到 700kbps。
我的问题是:如何才能节省如此多的空间?700kbps 的速率下可以制作出高质量的全高清视频?考虑到 CRF=20,这难道不是一个极低的比特率吗?
答案1
HEVC 相对于 H.264 的节省估算是比较两次编码运行,它们产生的输出质量大致相同,使用已建立的视觉质量指标(例如 PSNR 或 SSIM)进行测量。您的 50 Mbps 源将由编码器以较短的关键帧间隔追逐目标比特率生成,而不是使用完整的编码工具库,例如深度运动搜索或长 GOP。
但正如您所说,仔细观察就能发现差异,但这与正常观看条件无关。