How to confirm HW/GPU conversions are used?

Here is what I see in the logs. It looks like HW (nVidia) GPU is detected, but later on it looks like it is not using the GPU.

WARNING> 2020-03-13T22:27:03 MCEBuddy.AppWrapper.NVidiaQuery --> Checking if Hardware is nvENC compatible
INFORMATION> --> NVidia nvENC encoding supported -> True
WARNING> 2020-03-13T22:27:08 MCEBuddy.AppWrapper.AMDQuery --> AMD driver not detected or driver is not compatible
INFORMATION> --> AMD AMF encoding support available -> False
INFORMATION> 2020-03-13T22:27:08 MCEBuddy.Engine.ConversionJob --> Converting
INFORMATION> 2020-03-13T22:27:08 MCEBuddy.Transcode.ConvertWithHandbrake --> Checking for Unsupported profile for container / codec combination
INFORMATION> 2020-03-13T22:27:08 MCEBuddy.Transcode.ConvertWithFfmpeg --> Checking for Unsupported profile for container / codec combination
INFORMATION> 2020-03-13T22:27:08 MCEBuddy.Transcode.ConvertWithHandbrake --> Checking for Unsupported profile for container / codec combination
INFORMATION> 2020-03-13T22:27:08 MCEBuddy.Transcode.Convert --> Converting with Handbrake, type: SoftwareOnly, gpu: {
  "hardwareBrand": "Any",
  "codecType": "Undefined",
  "hardwareCodecPresent": false,
  "h265Codec": false,
  "h264Codec": false
}

BTW, this profile is to convert to H.265, so I’m not sure why the h265codec is flagged as false.
Clues in above:
INFORMATION> --> NVidia nvENC encoding supported -> True
and
Converting with Handbrake, type: SoftwareOnly,

Am I mis-interpreting the above, or is there a setting I need to make somewhere to enable/force GPU conversions?

Yes it’s using software, either because the Use Hardware Encoding option is not checked in the conversion task -> Expert Settings or your profile is telling MCEBuddy to not use hardware encoding. No way to tell without the logs

Attaching log.How to Cook Well With Rory O’Connell S02E03 20160511 [20200314-0430].mpg-MKV-TV-SD-2020-03-15T12-24-27.log (38.7 KB)

This may be a red herring, but MCEBuddy is running as a service, and I read (see below) that services start under Process 0 in Windows, and because of that they cannot access kernel drivers, and I don’t know if that’s an issue with MCEBuddy as a service and GPU drivers. It would explain why it works if run from the CLI (i.e. with user credentials) and not from the service (with system credentials from Process 0) - if that is the issue (I installed MCEBuddy to run for “Everyone”).

Services run in session 0. Session 0 does not have access to the video driver so hardware acceleration is unavailable to PMS as a service.

There was some discussion on this in CJMurph’s Plex Media Server Service addon GitHub Link on the Plex plugin forums. Here is the Discussion post link.

Please set the logs to debug. I can’t see much in this.

See attached.
How to Cook Well With Rory O’Connell S02E06 20160601 [20200317-0630].mpg-MKV-TV-SD-2020-03-17T03-21-43.log (37.2 KB)

This isn’t a conversion log, you’ve enabled skip re-processing so it skipped the conversion:

INFORMATION> 2020-03-17T03:21:59 MCEBuddy.Engine.ConversionJob --> Checking for destination file skip reprocessing
WARNING> 2020-03-17T03:21:59 MCEBuddy.Engine.ConversionJob --> Destination file F:\Video\TV Shows\How to Cook Well With Rory O’Connell\Season 02\How to Cook Well With Rory O’Connell-S02E06-Episode 6-2016-06-01.mkv EXISTS, skipping conversion - SUCCESSFUL processing

My bad. I didn’t check the details on already having that recording already processed.
Here is a new one, and it is from a TiVo (pulled via KMTTG with mpg output) for bonus points.
This one is much bigger (6MB) so I zipped it. I see some testing but lots of disabling and “unable to find H.264/H.265 profile” type messages so I’m not sure what that is about. The CPU is an i5 4330 (4th gen).

I hope that helps figure out what is going on. There’s a lot of data when debug is turned up.
You might also be able to see if/where the HW/GPU is or is not being used by the various utilities as it scans the TiVo mpeg, marks ads, cuts/merges, and then transcodes to H2.65 in an MKV.
How to Cook Well With Rory OConnell-S01E14-Episode 114-2018-07-04.TiVo-MKV-TV-SD-2020-03-17T14-44-30.log.zip (155.7 KB)

It’s working as expected. Your hardware only supports h.264 encoding and not h.265 encoding

–> Detected hardware encoder capability ->
{
“hardwareBrand”: “NVidia”,
“codecType”: “Encoder”,
“hardwareCodecPresent”: true,
"h265Codec": false,
“h264Codec”: true
}

And your profile is converting to h.265 (HEVC) so it can’t use the hardware:

–> Profile being used : HEVC MKV
Profile entries ->
–> Description=HEVC in MKV (H.265/AC3) conversion. Creates a smaller file (50% smaller than H.264) with comparable quality but very slow.

So it falls back to software encoding

2020-03-17T14:46:38 MCEBuddy.Transcode.ConvertWithHandbrake --> Cannot find supported h264/h265 software/hardware encoder combination in profile, disabling auto hardware encoder adjustments

1 Like

So, does anything support HW H.265 encoding?
Is that a nVidia driver thing? An add-on library I can purchase?

Thanks for your time looking into it, and for highlighting the sections with “the goods” to educate me/us.

Running Handbrake 1.3.1 (2020010400) it looks like they support H.265 NVENC encoding.
I’m running a GTX-750ti using nVidia drivers 442.59 03/10/2020 on Win10x64 1909 release.
The current handbrakeCLI in MCEBuddy says nvenc_h265 is supported.
So what am I missing? Is it that MCEBuddy is running as a service (i.e. process 0) and can’t access the video drivers from the kernel? Do I need to re-install and not pick “everyone” during the install?

It doesn’t support HEVC: https://www.nvidia.com/en-us/geforce/forums/discover/216452/gtx-750-ti-nvenc-hevc/

From the FAQ:

1 Like

Just adding that H.265 doesn’t get support on nVidia until the Pascal GPUs (GTX-1050 and above/newer). My (ancient) 750ti is a Maxwell GPU. It is in a dedicated HTPC, which has plenty of spare time to use, so HW transcoding isn’t urgent enough to get an upgrade (yet). I also don’t have 4K content or a 4K TV, so the H.265 is just for the space savings and to be future-ready.