我一直在折腾 ffmpeg,想找出用 Intel QSV 时画质最优的参数。在一台桌面(Intel UHD 630,驱动版本 27.20.100.9168)上,我遇到如下错误:
[hevc_qsv @ 0000018e9a302e00] Could not load the requested plugin '6fadc791a0c2eb479ab6dcd5ea9da347': specified object was not found (-9)
[hevc_qsv @ 0000018e9a302e00] Error loading plugins
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
但在另一台桌面(Intel Iris Pro 580,驱动版本 27.20.100.8681)上却完全正常。我用的是系统自带的 ffmpeg,只是手动在命令行里跑。下面是我的命令:
ffmpeg.exe -hide_banner -threads 0 -hwaccel qsv -i D:\Temp\input.mp4 -vf yadif=0:-1:1,hqdn3d -vcodec hevc_qsv -preset slow -crf 26 -vsync 2 -map 0:v -sn -acodec copy -map 0:a -f matroska c:\Temp\output.mkv
有人知道怎么解决这个错误吗?
RBoy
(RBoy)
2021 年1 月 30 日 22:16
2
您的 630 驅動程式/硬體可能不支援某些參數(例如 hevc、vsync 或某個 preset),請嘗試逐項排除,找出是哪一項不支援。
我把它精簡到最基本(如下),仍然得到同樣的錯誤。
ffmpeg.exe -hide_banner -threads 0 -i D:\Temp\input.mp4 -vcodec hevc_qsv -map 0:v -acodec copy -map 0:a -f matroska c:\Temp\output.mkv
在 Handbrake 中运行良好。
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] CPU: Intel(R) Core(TM) i9-10900K CPU @ 3.70GHz
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - 逻辑处理器数: 20
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] Intel Quick Sync Video 支持: 是
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - Intel Media SDK 硬件: API 1.32 (最低: 1.3)
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - Intel Media SDK 软件: API 1.19 (最低: 1.3)
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - H.264 编码器: 是
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - 首选实现: 硬件 (任意) 通过 D3D11
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - 功能 (硬件): breftype icq+la+i+downs vsinfo opt1 opt2+mbbrc+extbrc+trellis+ib_adapt+nmpslice
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - 功能 (软件): bpyramid vsinfo opt1 opt2
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - H.265 编码器: 是 (8bit: 是, 10bit: 是)
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - 首选实现: 硬件 (任意) 通过 D3D11
2021-02-02T07:32:11 MCEBuddy.AppWrapper.IntelQuery --> [07:32:11] - 功能 (硬件): bpyramid icq vsinfo opt1
Goose
(Goose)
2021 年2 月 2 日 17:49
6
看起來您可能缺少了影片的 -crf/-cq/bitrate 參數。
您有試過將 ffmpeg 更新到較新的版本,看看是否有幫助嗎?因為它在 HandBrake 中是正常的。
我确实尝试了 -crf。最后那个是我为了测试 @RBoy 的建议而能做到的最精简版本。我会试试最新版的 ffmpeg。我只是觉得奇怪,为什么一台台式机能运行,另一台却不行。