HW Acceleration for Comskip?

I’ve been messing around with Comskip on the command line - after some experimentation, it looks like the --hwassist and --dxva2 seem to speed up comskip pretty dramatically. Does MCEBuddy do that optimization as well? Is there an ability to add that in the profiles?

Thanks! Will.

Good question, in our testing with intel cards it found it to be inconsistent hence we didn’t auto enable it but it can be done.

What’s your setup like? Can you test with and without the dxva because that‘s a particularly tricky option which we found slows down decoding on older GPU’s.

I’ve got a pretty beefy machine – 10 physical cores, RTX 2080 Super, 64 gigs of ram.

I found that using the dxva2 was the fastest, followed by –cuvid (~10% slower). I didn’t try vdpau.

If I didn’t specify a dxva or any of the other switches, it was roughly ~60% slower using just the –hwassist

Thanks for looking at this! Will.

Mail](Outlook) for Windows 10

Have you tried settings the hardware_decode option in comskip.ini?

hardware_decode=0 ; Set to 1 to enable hardware accelerated video decoding, only available in donator version

You can use the Comkip INI Editor, under the CPU Load Reduction tab, included in the comskip folder to do it using a GUI interface.

I have tried that – I found that when I do so, I get audio sync errors. I’m not sure how that happens, but when I uncheck it, they go away. Oddly enough, if I jump forward or back in Plex, the audio resyncs, but I don’t see that behavior
when I don’t have the HW Acceleration box checked…

IIRC, I saw something about that in the comskip forums.

Thanks! Will.

Mail](Outlook) for Windows 10

Separately, can you tell me what the behavior is when MCEBuddy finds an EDL file for a given recording and comskip is selected? Does it ignore that EDL file, or does it just use it instead of running comskip again? Thanks!

It’ll use the EDL (or EDLP or any other recognized commercial markers like in PlayOn) it finds before it detects a commercial using comskip or showanalyzer

Hey Goose,

Hope you and your family are safe and healthy.

Thanks! Will.

Mail](Outlook) for Windows 10

1 Like

Is there any way to have MCE Buddy invoke the donators comskip using the --cuvid?
I have a very old Core2 quad with a 1050TI that I would like to see how/if I can gain any hw acceleration using the gpu vs the cpu. I just enabled the -U for my MP4 profile. But comskip is still a dog with me having enabled the accelerate using the ini editor.

also, I assume you can’t change the ini in the main C:\Program Files\MCEBuddy2x\comskip folder only wherever you saved the donators file? every time I try it in C:\Program Files\MCEBuddy2x\comskip it says access denied…I assume b/c that version is not the donators version.

Thanks in Advance!

in experimenting with manually invoking comskip from the command line with the HW and CUVID flags in place, you do get a big boost in processing time, but I ran into audio sync issues. This is mentioned in Comskip’s forums.

So I watched things run last night and it appears that Mp4 normal and Fast both are using ffmpeg, Fine… but I recall that ffmpeg cannot use HWaccelleration, correct? Should I edit my profile to use handbrake instead? I guess I can…just have to make sure I save a tv recording for testing purposes. I appreciate any insight on what I can do to HW accelerate the donators version of comskip- for sure HW accelerate is not working right now with me pointing to the donators version within MCEBuddy and editing the ini file of the donators version. Do I need to copy over my donators version into the program files mce folder?

The newer versions of FFMpeg are HW aware (they include the NVENC stuff) - I think it’s 3.x and later. MCEBuddy includes those versions.

In MCEBuddy, it’s possible to point it to a different Comskip folder, so you don’t have to replace the existing comskip installation. It’s under Settings -> System Settings

Good luck! Will.

I guess we have to wait for Goose to chime in about comskip and hwacceleration…
I know I’ve configured it all the right way within MCEBuddy and the donators comskip ini…I don’t think MCEBuddy calls the comskip.exe with any extra “–features to be used” so it’s hard to tell if any hwaccelerate was used last night. I will have to look tonight when I have more time to poke around in the logs.

Well, in poking around comskip, I see that Erik admitted, in several spots actually, that windows hw acceleration performance did not deliver results people were expecting…adding to that is the whole lack of win7 or 8 support now due to him changing computers and building on a win10 machine…there’s been no updates to win7/8 now for several years. Hopefully Ryan gets this figured out with Erik

I guess I have to live with what I have, but I have 160 shows in queue to convert and the list grows…would love to find a way to speed things up without dropping $800 on new hardware just to watch TV…

Revisiting in 2023. Comskip in MCEBuddy 2.5.8 (March 06 2023) is donator version 0.82.003. HWaccell is set. I have an RTX2060 with current NV drivers on Win10x64 22H2. MCEBuddy is using Handbrake for transcoding and it is banging that HW NVenc encoding. So not concerned there. However, when comskip is running, it is hitting the CPU, not the nVidia.

Is there a way to have MCEBuddy invoke the --cuvid option or is one of the other NV options preferred? e.g. --vdpau

Will the donator version of comskip included in MCEBuddy be upgraded to the current version, 0.82.012 as there have been several updates to the embedded ffmpeg decoders within comskip? What are the challenges with doing that? Is there a roadmap or general ETA?

The HW acceleration in Comskip is controlled in comskip.ini - you’ll need to change it there (or at least that where it was when I last looked). That said, I played around with it maybe 18 months ago (maybe - it’s been a while). It wasn’t that much faster and it seemed to cause audio sync issues for me (which was called out in the comskip forums).

Maybe it’s better now. You can always replace the comskip.exe with the latest donator version…

1 Like

Thanks for the quick response to a follow up 3 years later on this thread. Digging further, it looks like the ComskipINIeditor GUI is borked on the hardware_decode option. It displayed “disabled” and the checkbox was empty. So I (apparently mistakenly) assumed that this meant that it was already enabled, and to check the box in order to disable it. There is no display of 0 or 1 (the actual value of the setting) even though the help/description mentions those values specifically.

To edit the comskip.ini file, I had to run my editor as Administrator to be able to edit the file (due to normal read-only permissions for program files where MCEBuddy is installed).

Found hardware_decode=0 in the file. So the default is OFF, and it appears the GUI indicates the current value and the checkbox corresponds to that value, not to acting on the current value (i.e. like a toggle). I changed it to hardware_decode=1 and saved the file. Keeping an eye on the conversions, but it doesn’t look like MCEBuddy is picking up the changed comskip.ini. Will try bouncing MCEBuddy to see if that picks up the new comskip.ini file.

I’ve been trying to tweak my profiles to see if there’s any more speed to be gained or to more consider the balance between speed/quality/file size. Though I may just end up where I started :slight_smile: But on the comskip side of things, I made hardware_decode=1 and it appears to have no change in speed, nor does video decode light up in the task manager. Do I need ver 0.82.012? I thought I paid for the donator version, but I might not have ever done anything with it. Will try lowres and/or more cores to see what happens.

See my other posts on my performance results testing the latest donator comskip with the different nVidia HW options. You’ll need to setup MCEBuddy to use your donator version, and I’m looking into the extra command line options it requires. The comskip donator version in MCEBuddy is too old for the nvdec options, and I think the “hwaccel” option is really just using the CPU’s integrated GPU media instructions, not actual discrete GPU usage (an nVidia or Radeon or ARC add-in board).

That has nothing to do with transcoding, which happens in either FFMPEG or Handbrake (Handbrake has its own baked in FFMPEG), and each of those versions have their own GPU integration for transcoding.

Thanks for confirming what I thought. Yes, I’ve definitely read your posts, and I know the decoding is separate from the handbrake encode process. I think when I noticed slower processes, the priority may have been set to Low, prompting me to figure out how to speed things up.

I’m mostly recording 720p TVE content, so comskip is already pretty darn fast already (2.5 min per 30 min show). Going to 4 threads took that under 2 minutes.

I recently got my first decent GPU (1660 super) and was surprised at how well handbrake handled a bluray episode. Size was as good as CPU x265, and it passed the eye test. However, I was not able to reproduce the results using MCE (even updating the built in CLI). Same results using Handbrake GUI, so I think it’s just the content not being as clean as the bluray.