在这篇文章中, slhck提到对于 VoD(不要与实时流媒体混淆),应该使用以下两种压缩方法之一:
- 上限 CRF
- 具有 VBV 约束比特率的 ABR
我对理解这些方法有何不同感到非常有信心,但我真的不明白其中一种方法是否比另一种更好,如果是,为什么。
-maxrate
在我看来,将 Capped CRF 与(约束模式)一起使用是最有意义的。然后编码器将为我计算最佳比特率,如果该比特率高于我的上传速度,编码器将限制比特率。因此,-b:v 5000K
除非始终保持一定的比特率非常重要,否则使用像设置这样的固定比特率是没有意义的。但为什么会呢?
我在这里的假设错了吗?
我应该选择有上限的 CRF-maxrate
还是有我没有看到的缺点?
如果您对上传速度有硬性限制,但不关心文件大小,那么上限 CRF 编码似乎是最好的折衷方案。它将为易于编码的剪辑节省文件大小,但也会对难以编码的部分实施最大速率。
所以,你可以这样做:
CRF 参数和最大速率/缓冲区大小取决于内容的分辨率和类型。全高清剪辑需要更大的比特率(H.264 高于 8 MBit/s),对于 4K,我建议您切换到 H.265,因为 H.264 的比特率太极端了。由于这是 VoD,无论如何您可能有更多时间进行编码,因此您可以负担较慢的 H.265 编码器。
一般来说,如果你的 CRF 设置得太低,你总是会达到上限;反之亦然。理想情况下,您应该做一些实验,看看当您使用选定的 CRF 值进行无上限编码时比特率是什么样的。对于 Windows,Bitrate Viewer是一个有用的工具。对于 Linux,
plotbitrate
似乎很有用(但我还没有尝试过)。