Get MCEBuddy to use NVidia GPU instead of Intel Integrated


#1

Hi, I´m doing some conversion with MCEBuddy and whenever I look into the task manager I can see that the Intel Graphics GPU is on full throttle, but NVidia GPU is almost never used. The offender component is Handbreak Cli… how can I change it to use my powerfull nvidia instead of my powerless intel?

Thank you!


(RBoy) #2

Handbrake uses Intel QuickSync and FFMpeg uses NVidia acceleration.

If you’re using a profile that uses both ffmpeg and handbrake, MCEBuddy will check which hardware encoding capabilities exist and will automatically use the hardware accelerated encoder first. So if your profile has both ffmpeg and handbrake, it will test to see if NVidia acceleration is supported and then it will use ffmpeg first.
Most profiles have both ffmpeg and handbrake so it should pick it automatically if acceleration is working.

The log files will give you more information about what’s going on.

More details here:


#3

I´m using MKV profile with high quality… I want to 720 videos as small as possible with the best possible image quality.

Which profile will you recomend? How may I know if mkv uses nvidia… probably it doesn’t


#4

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


(RBoy) #5

Attach your conversion log file so I can see what’s going on in more detail.


#6

A Certain Scientific Railgun - S01E08 - Level Upper.mp4-Converto-2019-01-01T12-30-01.4727138-06-00.log (614.1 KB)


(RBoy) #7

From your logs, if you look a little above your NVidia hardware query, it looks for 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

It find that your graphics driver is reporting that it supports Intel QuickSync hardware acceleration.

It also finds that your graphics driver is reporting that it supports 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

Do you’ve got a setup that supports both QuickSync and CUDA, hence MCEBuddy doesn’t change the encoder order and it uses the encoders as defined in the profile (preserves the encoder order).

–> New encoder tool order -> handbrake,ffmpeg,mencoder

That’s why it using handbrake to convert your video; and handbrake is using your Intel graphics hardware encoder and achieving a speed of 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)

So technically it’s using hardware encoding but just not the encoder you want.

If you want it to use NVIDIA instead of QuickSync then change your encoder order in the profile:
from:

order=handbrake,ffmpeg,mencoder

to

order=ffmpeg,handbrake,mencoder


#8

I switched the profiles and got some success into speeding up the process, although the job is being done by the CPU instead of the 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)

Any other suggestion :frowning: … please


(RBoy) #9

Doesnt’ look like you made any changes to your profile. It’s showing the original order:

–> order=handbrake,ffmpeg,mencoder

You need to edit profles.conf and change the order for the profile you’re using (MKV High Quality)