BUG : commercial skip processing not triggered in TV show library

I’m recording my OTA TV shows with NextPVR on a Windows 10 PC with a Hauppauge Quad HD.
I also have Plex Media Server installed on the same system.

I have added the NextPVR video folder to my Plex library. The files are all recognized including episodes, show names, etc. But commercial skip processing is never run on any of the videos, unfortunately.

I have correctly set the DVR settings to “Detect commercials and mark for skip”.
In the library advanced settings, I I have also set Ad detection to “For all items”.

Despite this, commercial skip is not run on any external video files.

Commercial skip does work if I record the videos directly using Plex DVR. I can’t do that, however, because Plex DVR doesn’t support waking up the PC for recordings, and it would cost me hundreds of dollars a year extra in power to keep the PC on 24/7 to run Plex DVR.

Server Version#: 1.24.3.5033
Player Version#: 1.33.0.2444-a220eae4

Plex Media Server Logs_2021-09-21_21-35-24.zip (2.2 MB)

The ad detection for existing content (not recorded by Plex DVR) is done during the scheduled task. If you turn off your computer when it’s not being used, the scheduled task is likely not getting triggered.

I never turn the computer off. I let it go to sleep automatically. My Windows power plan is set to make that happen after 10 minutes of inactivity.

Any scheduled task should cause the computer to wake up, just like scheduled OTA recordings do in NextPVR, but sadly, not in PlexDVR. Sigh.

The scheduled task isn’t mention anywhere in the doc about commercial skipping, also.

The Scheduled task menu itself doesn’t mention anything about commercial skipping.

I think it’s really silly not to run the commercial skipping when content is scanned into the library. I certainly don’t want to wait 24 hours to watch programs commercial-free.

I set the scheduled task to the hour before now, and I see comskip is indeed running over the whole library I re-created. It’s using only about 15% CPUs - about 2 of the 16 logical threads. Task manager shows it chugging at about 24 MB/s, which is way more than the maximum throughput of any TV tuner, or even quad tuner. I really don’t see why the commercial skip processing has to be delayed.

In fact, I would like to sometimes like to watch programs delayed by just 15 minutes, so I can start at 15 minutes on the hour and finish on the next hour, and have the commercials automatically skipped in real-time. I have tried that with NextPVR, but there is a bug, probably in the NextPVR client, when watching a program the same time as it is being analyzed for commercials. NextPVR skips at bogus times in that scenario, making the program unwatchable. Once the program is fully recorded and analyzed, commercial skips are properly skipped.

I haven’t tried the same scenario in PlexDVR. The doc for commercial skip implies that comskip only runs after the program is recorded, not while it’s being recorded. It should be able to run real-time though, since it consumes so little CPU.

If the processing must run on a schedule, then at least it should be more efficient. Scheduling it at night at using only 2 out of 16 processor threads is silly. That means commercial skip processing will run 8 times as long as it otherwise could, and thus consume 8 times as much electricity as needed.
I tried to play with thread_count in comskip.ini, but the best I could achieve was about 50% CPU utilization with thread_count=32 on my Ryzen 2700 . I guess it makes sense that commercial skipping algorithms are not highly parallel. Plex Media Server could allow spawning multiple comskip processes at once, though, on different videos, though, but I didn’t see any such option.

None of this would be an issue if commercial skipping ran immediately upon importing content, as opposed to on schedule.

Or if Plex DVR supported proper power management and wake-up events for recordings, so that NextPVR didn’t have to be used.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.