让 MCEBuddy 使用 NVidia 显卡而非英特尔核显

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

請附上您的轉換記錄檔,這樣我才能更詳細地了解情況。

某科学的超电磁炮 - S01E08 - Level Upper.mp4-Converto-2019-01-01T12-30-01.4727138-06-00.log (614.1 KB)

从日志来看,如果你往上翻一点,在 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)

還有其他建議嗎 :frowning: … 拜託了

看起來你沒有對個人檔案做任何變更。它顯示的是原始順序:

→ order=handbrake,ffmpeg,mencoder

你需要編輯 profles.conf 並變更你正在使用的設定檔(MKV 高品質)的順序。