特定区域的 h265 和 CRF

问题描述

我需要创建一个 h265,其中的区域使用不同的 CRF 进行压缩。

我正在考虑使用具有不同 CRF 的 h265 从原始视频生成 2 个压缩视频,然后混合每一帧。最后一步是使用两者之间的最小 CRF 从混合帧创建 h265 视频。是否有意义或有更简单更好的方法

解决方法

libx265 支持感兴趣区域 (ROI)。您可以使用 addroi 过滤器选择 ROI 并提供所需的量化偏移。

示例使用极值进行演示,使帧的上半部分具有比下半部分更好的质量:

Mandelbrot with ROI applied

ffmpeg -i input.mkv -vf "addroi=x=0:y=0:w=iw:h=ih/2:qoffset=-1/2" -c:v libx265 -crf 51 -c:a copy output.mkv

可以通过多次应用过滤器来标记多个区域。