Commercial Detection Experiences

Last night the Late Show with Seth meyers did a fake movie piece and the whole thing was detected as a commercial. The screen went letterboxed, but the logo was present.

Running 2019.02.12.0028 for the last ten days.

Some commercial detection behaviour is improved over the version we used to run, but, overall I'd say it's mostly worse than before. All sorts of instances of it utterly failing to detect commercial breaks at all. Sometimes detecting program material in the middle of a commercial break. Frequent returns well before commercial breaks end--sometimes by a minute or more.

Do not like. Can I get the old version of Channels DVR back?

Commercial skipping works well for us, but I would still like ChannelsDVR to be able to do this while recording, rather than waiting until recording is complete: Request: com skip while recording

Running Channels DVR v2019.02.12.0028 on a Synology DS1513+ NAS with a 4 core Intel Atom D2701 @ 2.13GHz, 4GB ram.

HDHR Prime on Comcast cable

Using the default comskip.ini it took too long to process recordings. 1-2 hrs for a 1 hour recording, although only 25% CPU load.

I modified the comskip.ini to use two threads [thread_count=2] instead of one and performance is acceptable now with 50% CPU load.

I also added the VideoRedo Project file output [output_videoredo3=1] so I can bring up the recording in VideoRedo TVSuite v5 to see where the scene markers and chapter skip points are set.

Initial observation is it's pretty close, but usually misses at least one commercial segment and/or includes show segments in the commercial blocks.

I'll continue testing it, but most of my recording are cable programs since I use TiVo for my OTA channels.

So the channels I would test it on are;
Animal Planet
BBC America
Discovery
History
MyNetworkTV
National Geographic
NatGeo WILD
Outdoor
PBS
Science
Universal Kids
Weather Channel

I realized when a new Channels DVR version comes out (beta or released) I may have to modify my override comskip.ini file in the data directory to include any changes in the release. I found if I put an override comskip.ini in the data directory that Channels DVR does not copy the default.ini to the Logs/comkip directory anymore. So the only way I know to see what's in the new default comskip.ini is to rename my override comskip.ini to comskip.bak and process a recording to get Channels DVR to copy it's default comskip.ini to the Logs/comskip folder.

Is there an easier way to view the default comskip.ini to see what changed in releases?

OK, so one of the things I'm curious about are two parameters that have been added to the lastest beta. comskip.ini

min_show_segment_length=222
;Any block larger then this in seconds is regarded as a show block

min_commercialbreak=45
;The minimum duration in seconds of any commercial break, that is a sequence of blocks regarded as commercial

So far the commercials that comskip has missed are stand-alone commercial segments from 25-43 secs long.
Does min_commercialbreak=45 mean it won't consider commercial segments shorter than 45 secs?
If so, that's why they're being missed.

A standard commercial is 30 seconds. Sometimes there are 15 second ones. But the broadcasters don't sell slots at 25 or 43 seconds.

I don't have any issue with commercial detection. They all work fine and detect quickly. I have been using a custom comskip.ini for years, though... and I don't play on changing this as long as I continue to use the same hardware.

Will be releasing another build tomorrow to fix these regressions.

I want this too.

I plan to add a number of threads setting to make this easier.

Individual commercials are segments. Segments combined together make up a break. Where are you seeing a 25-45s break?

2 Likes

MyNetworkTV
It's an ad for "Closed Captioning brought to you by insert_sponsor_name"
Usually just one a few minutes before end of the show, but sometimes there will be a couple spread apart

IIRC it was Ocean Mysteries With Jeff Corwin

I see the default min_commercialbreak value is 25 secs, I'm trying 30 now.

1 Like

Channels DVR v2019.02.12.0028 comskip so far is 3 for 3, spot on commercial recognition. :+1:

Discovery, PBS and Science channel shows.

Only change I've made to the default comskip.ini is min_commercialbreak=30
(Other than output_videoredo3=1 which doesn't affect recognition)

I can confirm this. I have the same setup. It's right like 80% of the time. That's pretty good to me.

Did this happen?

Had another commercial detection problem. This one on a recording we watched this evening. Missed the commercial break entirely. Was Feb. 25th's recording of Bull on CBS.

I'm wondering how accurate it can get w/comskip. I know it will never be 100%
It seems like even if you have a custom comskip for every channel you record, they will never be 100% since things change and it's a continual cat and mouse game to keep up with the changes.
That's why I like Channels making them chapter skip points instead of cutting out the blocks that may not be the blocks we want cut out.

I know it'll never be 100%. That's why I'm uninterested in it actually splicing-out the areas it "thinks" are commercials. I don't mind hitting a "skip" button.

My problem is the beta version of Channels DVR I installed for test purposes is worse than the stable version it replaced.

My reply wasn't directed to you, it was just another of my posts on the thread.

I agree and that's why I use VRD TVSuite to cut for archives only.

I would like to be able to revert to the latest stable release if a beta causes issues, is there a way to do that without uninstall/reinstall that you know of?

There's a new build out now which I am in the process of testing.

To switch versions you can change the latest symlink in the install directory. For instance, on Synology:

cd /volume1/@appstore/ChannelsDVR/channels-dvr/
ln -nsf 2019.01.01.0000 latest

then stop and start the DVR service.

1 Like

Just migrated my Channels DVR from old to new NAS and when installing on new one it picked up the beta DVR v2019.03.01.2325.

Noticed the only change since v2019-02-12-0028 is the addition of
lowres=1
;Enables resolution reduction, setting to 10 makes comskip choose the best value automatically
;;This only works for certain types of video encoding, may not work for h.264 encoded video and may deliver bad results when used with hardware_decode=1

Will try this with future recordings starting tonight on the new nas.

[Update] So far so good, Discovery show processed was spot on.

We are actively researching several ways to make commercial detection more consistent and accurate. Chances are that in the long term we will be moving away from comskip towards our own solution.

The latest DVR pre-release from today has a new "Edit Commercials" feature- it will show what segments were detected in the recording, and let you fix any mistakes. There are three main goals for this new experimental feature:

  1. Provide more insight into what comskip is doing, so we can notice patterns when it fails.
    (For example, you can see what logo was detected and which segments contain a logo match.)

  2. Let users fix their commercial markings when comskip fails, for a better viewing experience.
    (You can even fix commercials on phone/tablet via web UI while you're watching an episode on the TV, and the app on the TV will automatically load the new markers as soon as you save).

  3. Help us collect commercial detection results data from a variety of users/channels/programs/locations in order to build a more accurate detector.
    (This is one of our areas of research, and future DVR pre-release builds will likely contain a button allowing you to upload all your fixed commercial markers to us for analysis).

Here's a quick look at how the new feature works:

6 Likes

I think this is an excellent idea.

The changes to the comskip settings have had mixed reviews, and I'm always hesitant to run beta versions for software that other family members are going to use. But allowing for corrections, as well as incremental improvements is a very nice touch.

1 Like

Wow! This is so freaking cool! I just had a play around with this tonight and it's pretty quick and easy to do. Man, I am stunned.

The things you guys do and come up with amaze me sometimes!

2 Likes

When you make the changes where are they saved? I looked in the comskip directory, but it looks like those files are untouched after the save in the Web UI. I was hoping to be able to correct some commercial and rerun an ffmpeg script to pick up the changes.