答案1
FFmpeg 从 yuv420p 转换为 rgb24 像素格式的方法,使用质量较低的插值方法。
我们可以通过使用以下方法将 yuv420p 转换为 yuv444p 来提高质量兰佐斯插值方法,然后从yuv444p转换为rgb24:
ffmpeg -i input.mkv -r 24000/1001 -vf "scale=sws_flags=lanczos:in_color_matrix=bt709,format=yuv444p" frame%08d.png
scale=sws_flags=lanczos
在放大 U 和 V 色度通道时选择 Lanczos 插值方法(反转色度子采样)。format=yuv444p
强制将过滤器的输出格式scale
设为yuv444p
。PNG
输出图像将隐式转换为 rgb24 格式。in_color_matrix=bt709
用于修复颜色不准确。
请注意,默认转换重采样sws_flags=neighbor
(“最近邻”插值)速度更快,但质量较低。
注意:
我没有检查 MPC-HC 使用的确切插值方法。
与最近邻方法相比,所用方法是更高质量的插值。