我正在使用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。