我有一个从 Premiere Pro/Media Encoder(目标比特率 10)渲染并以 H.265 编码的 30 秒 1080p 视频文件。它有 36.6 MB。当我运行命令时
ffmpeg -i input -c:v libx265 -c:a copy output.mp4
新文件只有 5.04 MB。mediainfo
显示新文件的比特率仅为 1164 kb/s。尽管一个比另一个小得多,但两个视频看起来都一样(与未压缩版本相比,两者的 VMAF 分数都高于 97)。
是否libx265
明智地选择比特率,从而使视频尺寸更小?
无论感知“质量”如何,您都会在重新编码时丢失数据。那是尺寸减小的来源之一。使用压缩器的算法将丢失或近似于次要或不易察觉的细节。
主要区别在于 Adobe
ffmpeg
具有不同的默认质量和带宽设置。“VMAF 分数”看起来很相似,只是告诉您人类可能看不到差异,而不是丢失了多少数据。ffmpeg
将解码帧并使用其默认设置对其重新编码。很可能默认设置是激进的,根据https://trac.ffmpeg.org/wiki/Encode/H.265,它将默认为medium
质量配置文件。较慢的压缩设置将以更高的文件大小和压缩时间为代价更忠实地保留真正的原始质量。
ffmpeg
也默认为 28 的 CRF,这将是相当高的相对压缩甚至有可能
ffmpeg
默认启用一些更高级的压缩功能。Adobe 可能会避开某些编码近似功能,以支持更高的比特率,以减少渲染时间,或保持质量或其他功能。如果不确切知道正在使用哪些设置,就很难知道。如果您想在 Adobe 和
ffmpeg
输出之间进行公平比较,那么您应该渲染为未压缩格式,准确了解 Adobe 使用的设置,然后在两者中压缩该未压缩文件。重新压缩已经压缩的文件(解码和重新编码)将导致生成损失,虽然它可能仅在一次通过时看起来并不重要,但会丢失数据和质量。几次通过后,损失将是巨大的。
对于非常高质量的编码,VMAF根本不是一个好的指标。即使比较数学上相同的内容有时也会给你 vmaf 分数低至 97.4 左右,而即使 vmaf 100 也不能保证视觉透明度。
这意味着 VMAF 分数几乎不会告诉您这些特定编码的质量。
当时,适合近透明视频的最佳视觉指标是静态图像指标,如Butteraugli或 SSIMULACRA。