New comskip.ini API vs Override comskip.ini file

These are the notes I made for why there's still a case for using an override comskip.ini file.
Plus added a few comments for posting.

Some background for those not familiar.

Override comskip.ini file - In order to change the way comskip (Detect Commercials) works in Channels DVR, the devs allowed us to create our own override comskip.ini file that totally replaces the default one used by Channels DVR. The contents of this ini file determines how comskip detects commercials and what files it outputs.

New comskip.ini API - using curl you can add or delete individual comskip.ini settings that Channels DVR will add (append) to its default settings and use when detecting commercials (with limitations, first setting encountered rules).

First, I want to express my appreciation to the devs for surfacing the thread count setting in the UI and creating the new comskip.ini API. (Way to send ComSkip request to server)

TL;DR or for those who knew this, in comskip.ini only the first setting declaration is used.
Quoting the tuning.html in the comskip distro

Comskip is rather picky on how you format the ini file. No spaces before of after the '=' are allowed. Multiple occurrences of any setting can exist anywhere in the file but only the first will be used. There is no way to 'comment out' a setting.

So, if a setting appears more than once, it will only use the first occurrence.

Override comskip.ini file - When comskip runs it will use the settings within your override comskip.ini file instead of the default Channels DVR comskip.ini.

NEW API - stores PUT comskip.ini settings in the Channels DVR settings database and appends them to the default Channels DVR comskip.ini settings when comskip runs. This means if you use the API intending to change a setting that Channels DVR declares in its default comskip.ini, you lose.

Here are the current Channels DVR comskip.ini settings that can only be overridden using an override > comskip.ini file.

verbose=10
detect_method=123 ;; everything but scenechange
punish_no_logo=0
cc_correct_type_modifier=1
length_nonstrict_modifier=1.5 ;; required before below due to comskip.ini parsing bug
combined_length_nonstrict_modifier=1
min_show_segment_length=222
min_commercialbreak=45
use_existing_logo_file=0
logo_fraction=0.39
delete_logo_file=1
output_vdr=1
output_edl=1
output_ffmeta=1
output_ffsplit=1
lowres=1

I want to override min_commercialbreak, so I'll still use the override comskip.ini file to do that.

I think they made the right choice in how this works. If you want total control, use the override comskip.ini file.

1 Like

I noticed when using the comskip.ini API instead of an override comskip.ini file that the setting
lowres=1
is missing. Is this intended behavior?

Looks like lowres is not used on Windows, and is not used on SD recordings (if Airing tags is missing "HDTV"). This is due to problems reported in the past.

What I meant is that the copy of comskip.ini that Channels DVR places in the Logs>comskip>file# folder does not contain the setting lowres=1 like it used to.

This is after comskipping a HD show (not SD) on my Synology NAS (not Windows).

Now I see what you were saying.
I have two new HD H.264 720p recordings with the tag 'HD 1080i'.
One was processed with lowres=0, the other with lowres=1.
The one processed with lowres=1 also had the tag 'HDTV'.

Looking through my recordings I see the following 3 tags used to designate HD.
'HD'
'HDTV'
'HD 1080i'

I will add these to the list for now.

It seems in the future we should check the actual video resolution, not look for tags.

Agree 100%

Could you also add HD 720p
I would think any tag that 'starts with' HD, but then who knows what they could come up with.

1 Like

Another HD tag
Telemundo HD channel has HD Unknown

Done.

Thanks, was surprised to see HD Unknown in the guide (don't watch Telemundo).
I figured the next one (someday) would be HDR, but that implies HD anyway.