先进的ffmpeg压缩控制

advanced ffmpeg compression control

我正在使用非常激进的视频压缩,例如 -crf 51。我将其用于 'artistic' 效果,因此从普通视频压缩的角度来看,我所做的可能没有意义。

到目前为止,我只使用了仅使用 -crf-b:v 标志的非常基本的压缩控制。结果看起来像 ffmpeg 将图像分成方形块,并在块内进行平滑近似。这为过程提供了 2 个控制维度:补丁大小和补丁内平滑的积极性。

它发现 ffmpeg 在某种程度上使用了这两个参数,但似乎有一个绝对的最大像素块大小,无论帧大小如何,它都不会超过这个大小。 之后它只会通过减少补丁中的细节来增加压缩。

这对于高分辨率视频来说不是最理想的,这相当于降低分辨率。这个问题在具有大的无特征区域和高细节区域的类似分形的图像上尤为明显。

如何告诉 ffmpeg 增加最大补丁大小并在补丁中保留更多细节?

你所说的 'patch' 是一个宏块。每个编解码器都有一个最大宏块大小,并且通常非常小(16x16 像素)。它是此类压缩工作原理的基础 属性,不能设置为任意值。您需要以其他方式创建效果。