共计 2060 个字符,预计需要花费 6 分钟才能阅读完成。
为 Capped CRF 编码抉择最佳 CRF 值
扬·奥泽
2020 年 2 月 3 日
在一个充斥不稳固压缩文章的博客中,这可能是所有文章中最不稳固的文章。如果您不应用封顶 CRF 编码,或思考应用雷同的编码,则简直必定不会对它感兴趣。然而,如果您应用下限 CRF 编码(用于恒定速率因子),您简直必定会发现它很乏味,甚至可能很有启发性。
疾速背景阐明。去年年底,我征询了一家大型 OTT 商店,该商店对编码阶梯中的顶级文件应用了 CRF 值为 19 的下限 CRF 编码。上面显示的大部分剖析都是针对这个客户的(他批准了我在一篇文章中的探讨)。我还没有写这篇文章,因为我感觉它对大多数读者来说太艰涩了。
然而,明天早上,我从 Vimeo 下载了一个视频,并留神到它们应用 CRF 值为 20 的下限 CRF 进行编码,您能够在上面的 MediaInfo 中看到。为什么我在玩 Vimeo?因为他们在几个月前声势浩大地承诺,他们将应用 AV1 编解码器对产品抉择进行编码。我会定期下载一个文件,看看是不是这样;到目前为止,还没有 AV1 编码。这并不意味着 Vimeo 不应用 AV1,可能是我的下载工具基本没有捕捉 AV1 编码。
然而,我的确留神到 Vimeo 应用的是 CRF 20,恕我直言,这是次优的,并促使本文复活。没有对 Vimeo 的不尊重,他领有一支杰出的编码业余团队。但这就是我的想法以及起因。
作为背景,大多数制作人应用封顶 capped CRF 作为 DIY per-title 按题目编码技术。当您应用 CRF 和无下限进行编码时,FFmpeg 会优先思考品质而不是比特率,并扭转比特率以提供指定的品质,范畴从 1 到 51,较低的数字提供更高的品质。请参阅此处以获取对包含 FFmpeg 命令行在内的封顶 CRF 的残缺阐明。CBR 和 VBR 编码相同,并调整品质以满足指定的数据速率。
当然,您不能将仅 CRF 编码用于流媒体,因为限度数据速率是可交付性的要害。因而,您增加下限或最大比特率。要生成下限 CRF,您须要指定 CRF 值以及最大速率和缓冲区大小,它们也在下面的 MediaInfo 屏幕中突出显示。实质上,Vimeo 通知 FFmpeg 编码为 20 的 CRF 值,最大速率为 5500,VBV 缓冲区为 15000(无关 VBV 缓冲区的更多信息,请参见此处)。
我下载的文件之一是 Light Speed,它显示在上面的 Bitrate Viewer 中。您会看到均匀比特率约为 4664 kbps,但均匀数据速率(由淡蓝线显示)大部分工夫都在 5 Mbps 以上。当线下方有足够的空间时,如那些由 CRF 管制的线所指向的区域,这意味着 CRF 正在设置品质级别。当数据速率被推向 5.5 Mbps 时,这是强制执行限度的下限。
可视化封顶 crf 编码
应用 CRF 20 有什么问题?好吧,如果您不关怀在带宽上破费太多,那就没什么了。然而,如果您应用下限 CRF 来缩小易于编码的视频的带宽,您可能能够应用更高的值(并提供略低的品质)并在没有人留神到的状况下缩小带宽。
VMAF 93 = 足够好
VMAF 上的几个点,我前面会提到。首先,作为 RealNetworks 的 CTO Reza Rassool 在这里构建的,93 分 的 VMAF 得分意味着“绝大多数观众 会发现内容 要么与原始内容无奈辨别,要么有显著但不烦人的失真。”因而,如果您的分数为 93 – 95,则您的视频可能“足够好”。如果它更高,那么您就是在花钱来提供没人会留神到的额定品质。
对于 VMAF 的另一点是,应用 CRF 23 和 x264 编码在我的书 Video Encoding by the Numbers 中应用的测试视频中的 VMAF 均匀得分为 95.96,如下表所示。因而,如果您应用 CRF 20,简直能够必定您提供的 VMAF 品质高于 93-95(因为较低的 CRF 值提供更高的品质)。这意味着您散发的所有视频的数据速率可能太高,或者至多比它须要的要高。
您能够在下表中看到这一点,其中显示了以 CRF 19 编码的大多数雷同剪辑,下限为 5 Mbps。数据速率次要由 CRF 值管制的易于编码的视频的 CMAF 分数为 96.90,这是不必要的高。由下限管制的难以编码的视频依然在 93 以北,因而它们的品质还能够。
当您应用雷同下限的更高 CRF 值时会产生什么?如下所示(单击表格以全分辨率查看)。在 CRF 23 中,您将易于编码的视频的数据速率升高了 33%,同时将 VMAF 从 96.9 升高到 96.15,这是无关紧要的。因而,您曾经实现了按题目编码的一个要害指标,即升高易于编码的视频的数据速率。
对于难以编码的视频,CRF 19 和 CRF 23 之间的数据速率和品质增量要低得多,因为数据速率下限管制这些剪辑的比特率和品质,而不是 CRF。尽管如此,在 CRF 23 下,您将比特率升高了 8.57%,但只会将 VMAF 分数从 94.68 升高到 94.41。
最重要的是,如果您应用下限 CRF 进行编码并且您的 CRF 值低于 23,那么您可能会在易于编码的剪辑上节约带宽。在 CRF 23 上运行一些测试,看看这如何影响带宽和显着的品质。
无关计算和应用视频质量指标的更多信息,我有一个视频课程,其中蕴含超过 3 小时的视频教学。无关课程的更多信息,单击此处.