如何将 12 位 H.265 视频转换为 10 位 H.265 且不损失质量?

如何将 12 位 H.265 视频转换为 10 位 H.265 且不损失质量?

我的笔记本电脑似乎无法有效处理 12 位 HEVC 视频。播放时视频似乎不稳定,所以我想将它们转换为 10 位 H.265。如何使用 ffmpeg 做到这一点,同时几乎没有质量损失?

编辑:好的,我设法将其从 12 位转换为 10 位,但比较起来质量明显下降。如何在转换为 10 位输出时保持质量?

这是我使用的命令ffmpeg -i input.mkv -c:v libx265 -vf format=yuv420p10le -c:a copy output.mkv
我应该尝试特定的-crf/cbr吗?

媒体播放器中启用/禁用硬件加速选项无法很好地播放 12 位视频。

解决了:好的,质量问题已解决。我尝试了三个命令,效果都一样好。

第一个ffmpeg -i input.mkv -c:v libx265 -crf 16 -vf format=yuv420p10le -c:a copy output.mkv结果是与原始视频几乎相同的视觉质量和相同的尺寸。

第二个(由@harrymc 提供)ffmpeg -i input.mkv -pix_fmt yuv420p10le -c:v libx265 -crf 28 -x265-params profile=main10 out.mkv这个也产生了与上面同样好的视觉质量,但不知何故,它将我的文件大小减少到了近一半,所以对我来说它似乎是这三个命令中最好的。

第三个(由@Anmol Mishra 制作),ffmpeg -i input.mkv -pix_fmt yuv420p10le -c:v libx265 -crf 23 -preset slow -tune grain out.mkv这个也没有肉眼可见的视觉质量损失,并且文件大小也减少了四分之一。

谢谢大家的帮助。

答案1

您想使用视觉无损等效 crf 并进行调整。请在此处阅读 x265 页面 -https://trac.ffmpeg.org/wiki/Encode/H.265和这里 -https://forum.doom9.org/showthread.php?t=172458

ffmpeg -i input.mkv -pix_fmt yuv420p10le -c:v libx265 -crf 23 -preset slow -tune grain film out.mkv

x264 会变得块状,而 x265 会变得模糊。为了抵消一些模糊,-tune 粒度会带来较小的细节。除非您真正了解 HEVC,否则不要尝试修改其他参数。

根据您拥有的空间,您可以测试 20-23 的 crf 值,我发现不了太大的差异。

相关内容