如何使用 ffmpeg hevc_qsv 编码器无损转码为 hevc?

如何使用 ffmpeg hevc_qsv 编码器无损转码为 hevc?

我正在使用ffmpeg -hwaccel qsv -c:v h264_qsv -i Intro.mkv -strict -2 -c:v hevc_qsv -preset veryslow -c:a copy Intro-hevc.mp4将 h264 mkv 视频转码为 hevc mp4。虽然文件大小减小了。但图像质量非常差。那么,如何使用 hevc_qsv 编码器无损转码为 hevc?

答案1

尝试定义分辨率和视频比特率。

我不知道 hevc,但 h264 qsv 有一个配置文件选项。尝试应用它,更不用说你必须在 -c:v 标志中将 hevcqsv(或 h265 qsv,我不知道,请查看 ffmpeg 文档和媒体 SDK 文档)选项替换为 h264qsv,否则它将以 h264 进行编码。

答案2

使用 hevc_qsv 无法进行无损转码。

但是你可以定义-global_quality从 1(几乎无损)到 51(不适合观看)的值来控制质量。这将启用 ICQ 模式,其行为类似于因子-crf,其中 crf 23 大致等于 global_quality 25 的质量。

另一个选择是使用libx265,但这样您就无法从硬件加速中获益。在现实世界中,任何小于 15 的倍数与无损版本之间的质量差异并不明显。即使是 20 也非常好。它只会增加文件大小。

答案3

我不知道如何使用 FFMPEG 来做到这一点,但你可以使用 HandBrake。

編碼器 如您在屏幕截图中看到的,列出了我可以使用的所有编码器。只需选择 H.265(英特尔 QSV)并选择质量为 0。

相关内容