嗨,我正在使用 MCEBuddy 進行轉檔,每次打開工作管理員都看到 Intel 內顯 GPU 滿載,但 NVidia GPU 幾乎沒動。罪魁禍首是 HandBrake CLI… 要怎麼讓它改用我那張強大的 NVidia,而不是這張沒力的 Intel?
謝謝!
嗨,我正在使用 MCEBuddy 進行轉檔,每次打開工作管理員都看到 Intel 內顯 GPU 滿載,但 NVidia GPU 幾乎沒動。罪魁禍首是 HandBrake CLI… 要怎麼讓它改用我那張強大的 NVidia,而不是這張沒力的 Intel?
謝謝!
Handbrake 使用 Intel QuickSync,而 FFMpeg 使用 NVidia 加速。
如果你使用的配置文件同时包含 ffmpeg 和 handbrake,MCEBuddy 会检查存在哪些硬件编码能力,并优先自动使用硬件加速编码器。因此,如果你的配置文件同时包含 ffmpeg 和 handbrake,它会先测试是否支持 NVidia 加速,如果支持,就会优先使用 ffmpeg。
大多数配置文件都同时包含 ffmpeg 和 handbrake,因此如果加速功能正常工作,它会自动选择。
日志文件会提供更多相关信息。
更多详情:
我使用的是高品質的MKV設定……我希望720影片盡可能小,同時保有最佳畫質。
你會推薦哪個設定?我該如何知道mkv是否使用NVIDIA……大概沒有吧。
2019-01-01T21:01:22 MCEBuddy.AppWrapper.NVidiaQuery → deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 8.0, CUDA Runtime Version = 7.5, NumDevs = 1, Device0 = GeForce GTX 960M
2019-01-01T21:01:22 MCEBuddy.AppWrapper.NVidiaQuery → Result = PASS
→ Process exited with code 0
→ NVidia H.264 Hardware Encoder Detected : True
→ NVidia H.265 Hardware Encoder Detected : False
2019-01-01T21:01:24 MCEBuddy.Transcode.ConvertWithFfmpeg → FFMpeg profile disable software encoder fallback after hardware encoding failure (ffmpeg-DisableSoftwareEncoderFallback) : False
2019-01-01T21:01:24 MCEBuddy.Transcode.ConvertWithFfmpeg → FFMpeg profile optimized for hardware decoding/encoding, disable auto hardware optimization (ffmpeg-UsingHardwareEncoding) : False
→ New encoder tool order → handbrake,ffmpeg,mencoder
請附上您的轉換記錄檔,這樣我才能更詳細地了解情況。
从日志来看,如果你往上翻一点,在 NVidia 硬件查询之前,它会先查找 Intel QuickSync:
INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → QuickSync encoding support available → True
INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → H.264 encoding support available → True
INFORMATION> 2019-01-01T12:31:44 MCEBuddy.AppWrapper.Handbrake → H.265 encoding support available → True
它发现你的显卡驱动报告支持 Intel QuickSync 硬件加速。
它还会发现你的显卡驱动报告支持 NVidia CUDA:
2019-01-01T12:31:45 MCEBuddy.AppWrapper.NVidiaQuery → Result = PASS
→ Process exited with code 0
→ NVidia H.264 Hardware Encoder Detected : True
→ NVidia H.265 Hardware Encoder Detected : False
你的机器同时支持 QuickSync 和 CUDA,因此 MCEBuddy 不会调整编码器顺序,而是按照配置文件中定义的顺序使用编码器(保留编码器顺序)。
→ New encoder tool order → handbrake,ffmpeg,mencoder
因此它使用 handbrake 来转换视频;而 handbrake 使用的是你的 Intel 显卡硬件编码器,速度达到 145fps:
2019-01-01T12:31:55 MCEBuddy.AppWrapper.Handbrake → [12:31:55] qsv_enc_init: using ‘hardware (1)’ implementation, API: 1.19
2019-01-01T12:31:55 MCEBuddy.AppWrapper.Handbrake → [12:31:55] compute_init_delay: 6006 (2 frames)
2019-01-01T12:31:58 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 0.56 %
2019-01-01T12:32:00 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 1.24 %
2019-01-01T12:32:02 MCEBuddy.AppWrapper.Handbrake → Encoding: task 1 of 2, 1.89 % (148.02 fps, avg 143.78 fps, ETA 00h05m04s)
所以技术上它确实在使用硬件编码,只是用的不是你想用的那一种。
如果你想让它用 NVIDIA 而不是 QuickSync,就在配置文件里调整编码器顺序:
把:
order=handbrake,ffmpeg,mencoder
改成:
order=ffmpeg,handbrake,mencoder
我切換了設定檔,成功加快了處理速度,不過工作仍然是由 CPU 執行,而不是 NVidia GPU…
2019-01-02T18:10:46 MCEBuddy.Transcode.ConvertWithFfmpeg --> FFMpeg profile disable software encoder fallback after hardware encoding failure (ffmpeg-DisableSoftwareEncoderFallback) : False
2019-01-02T18:10:46 MCEBuddy.Transcode.ConvertWithFfmpeg --> FFMpeg profile optimized for hardware decoding/encoding, disable auto hardware optimization (ffmpeg-UsingHardwareEncoding) : False
INFORMATION> 2019-01-02T18:10:46 MCEBuddy.Transcode.Convert --> Converting with FFMpeg
Christmas Belle.mp4-Converto-2019-01-02T16-47-21.6000112-06-00.log (2.2 MB)
還有其他建議嗎
… 拜託了
看起來你沒有對個人檔案做任何變更。它顯示的是原始順序:
→ order=handbrake,ffmpeg,mencoder
你需要編輯 profles.conf 並變更你正在使用的設定檔(MKV 高品質)的順序。