Commercial skip suddenly less accurate

I agree - maybe last couple of weeks. Any tweaks to the config and/or new binaries recently?

1 Like

No changes were made recently.

Strange. Something is not the same.

Yes, same here. Sometimes the "Skip Comercial" sign stays on the screen for most of the 2-hour show. The last 2 weeks sound about right.

1 Like

Same here, noticed only one break in a TVE recording yesterday

Perhaps the server is getting bogged down and causing this?
I've noticed for me, commercials are not being recognized as well when they then occur while the server is feeding multiple tv's at the same time where upon tv's connected via WiFi begin 2+ second pausing of streams.

Perhaps a pause button for commercial skipping or a defer until idle bottom?

Looking at the log during those times I see this

2021/09/24 23:41:01.778907 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.778907 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 29 > 15 or 1 > 15
2021/09/24 23:41:01.778907 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.778907 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 45 > 15 or 0 > 15
2021/09/24 23:41:01.779429 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.779429 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 30 > 15 or 2 > 15
2021/09/24 23:41:01.779429 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.779429 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 30 > 15 or 1 > 15
2021/09/24 23:41:01.779951 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.779951 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 30 > 15 or 2 > 15
2021/09/24 23:41:01.779951 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.779951 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 29 > 15 or 0 > 15
2021/09/24 23:41:01.780472 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.780472 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 29 > 15 or 1 > 15
2021/09/24 23:41:01.780472 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.781510 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal reordering_of_pic_nums_idc 22
2021/09/24 23:41:01.781510 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal reordering_of_pic_nums_idc 14
2021/09/24 23:41:01.782062 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.782062 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 29 > 15 or 0 > 15
2021/09/24 23:41:01.782062 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.782062 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 30 > 15 or 0 > 15
2021/09/24 23:41:01.782062 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.782062 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 29 > 15 or 3 > 15
2021/09/24 23:41:01.782584 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.782584 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 29 > 15 or 0 > 15
2021/09/24 23:41:01.782584 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10
2021/09/24 23:41:01.782584 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] reference overflow 30 > 15 or 2 > 15
2021/09/24 23:41:01.782584 [HLS] ffmpeg: file21593-ip10.0.0.209: [NULL @ 0000000000fdd300] illegal memory management control operation 10

It didn't work at all for me the other day when it recorded a show off my ota station.
However, i figured it was due to the fact the channel has that lower ticker up the whole show warning about severe weather in my area...and still shows the channel logo.

Comskip, far as i know, works by detecting when the channel logo is on screen, when it goes way its a commercial, when it comes back, show is on. something like that.

It actually uses several different means to determine when commercial breaks occur. The station logo, persistent black bars (ie, letterboxed content), audio changes (5.1 to 2.0, volume changes), periods of black/no content. Different reasons are given different weight, and then they're all combined together into its heuristic algorithm.

2 Likes

My guess is most of the misidentified ads are due to changes in the network broadcasts.
I noticed it recently with either Discovery or NatGeo from a cable feed via an HDHR Prime.

I've had that happen frequently as well. I was there were some AI for detecting commercials. Hell, there's one for just about everything else nowadays. Networks have figured out how to trick tools like Comskip.

You know- it wouldn’t surprise me if the Channels folks have experimented with (or will) training commercial-detection neural networks… It really may be the way to go in the future.

1 Like

I'm glad this was brought up. I, too, have noticed a significant drop in commercial skip accuracy recently. Both TVE and OTA are affected. What I've seen is the first few commercials in a block are not skipped and then the last few are skipped. Or, worse, commercials and then a large chunk of the show are skipped.

Doug

Pretty much what I see. Its very random. Some breaks are perfectly tracked, and others are way off, starting playback in the middle of a commercial or late into the program.

Now the networks are getting tricky. I noticed that Stephen Colbert's show now plays commercials in a window with another window showing the studio. So effectively never really going to commercial in a way that can be detected (yet).

But in general there has been a very perceivable reduction in the algo's ability accurately mark off the commercial breaks.

Any chance it's related to DVR: Improved Library Search (v2021.08.01.1442) ?

I'm just wondering if a parameter that "feeds" the comskip executable run itself is getting played with inadvertently. This is the only back-end-ish thing i could think of in the recent past.

Always skips over a news segment on ABC world news tonight and goes to the last segment of show.

Glad to hear it's not just me!

The advertisers are getting smarter putting a logo on the commercials .. right bottom corner.

Channels DVR uses a fork of the comskip commercial detection application.

There is a tuning guide available, and there are some reference .ini files here.

What I don't know is if a (supported) way to adjust parameters in the comskip.ini file (besides the thread_count setting) is available to users. Having a way to adjust comskip's .ini parameters (even as a hidden, advanced feature) would allow us to experiment to try and improve commercial detection, and share insights on what helps and what doesn't.

For reference, if you look in your shares directory, you will see a bunch of DVR/Logs/comskip/* folders. Inside each is a comskip.ini file, and a video.log file (this is the same file displayed when you click on comskip.log from the Edit Commercials screen in the Options menu in the web UI).

See:

Whoa, that's cool. :tada:

So you can have your own, totally custom comskip.ini (by placing said .ini file in your "data" directory), or, if you only want to add new settings (and not override any that are set by default by Channels, since comskip uses "first match wins" instead of "last match wins"), you can PUT them to the comskip/ini/{setting}/{value} API endpoint. Very cool.

Thanks for the pointer! :+1:

2 Likes