Comskip INI per show?

I saw the forum topic that indicated I could drop a custom comskip.ini in the data directory and it would use that (yay! – is that documented elsewhere?). I do have a small problem, though. The commonly-shared US OTA file works great for 99% of the shows out there, but Jeopardy is an edge case. They have a lot of commercials (regularly) that look like Jeopardy segments (evil!) and comskip bails early and calls that a show segment. The fixes to the INI file that make that work cause other shows to get their segments wrong. Worse, the local station doesn’t use their logo on daytime TV so it can’t use that to assist.

Basically, Jeopardy needs its own comskip.ini file to detect the commercials perfectly without breaking everyone else.

I know it’s a far-future request, but I figured I’d put that on the board/radar. What would really be nice is if, once that’s integrated (maybe in the web UI?), the DVR would crowdsource the settings per show/station and suggest that to new users. Even further in the future, yeah. :wink:

I’m also using a custom comskip.ini. It is great for most circumstances. I don’t think I have the time to develop an ini per show, even it was implemented. I would grab a confirmed working ini from other users, though, if this was implemented.
Here is my generic ini, pieced together from various commonly-shared inis:
thread_count=3
verbose=1
lowres=2
logo_fraction=0.39
output_vdr=1
output_edl=1
output_ffmeta=1
output_ffsplit=1
; See comskip.txt in the distribution zip file for many settable parameters, read manual.html, tuning.html and debugwindow.html for how to tune and debug comskip
detect_method=107 ; 1=black frame, 2=logo, 4=scene change, 8=fuzzy logic, 16=closed captions, 32=aspect ration, 64=silence, 128=cutscenes, 255=all
validate_silence=1 ; Default, set to 0 to force using this clues if selected above.
validate_uniform=1 ; Default, set to 0 to force using this clues (like pure white frames) if blackframe is selected above.
validate_scenechange=1 ; Default, set to 0 to force using this clues if selected above.
verbose=1 ; Show a lot of extra info, level 5 is also OK, set to 0 to disable
max_brightness=60 ; Frame not black if any pixels checked are greater than this (scale 0 to 255)
test_brightness=40 ; Frame not pure black if any pixels checked are greater than this, will check average brightness (scale 0 to 255)
max_avg_brightness=25 ; Maximum average brightness for a dim frame to be considered black (scale 0 to 255) 0 means autosetting
maxbright=1
brightness_jump=200
max_commercialbreak=600 ; Maximum length in seconds to consider a segment a commercial break
min_commercialbreak=24 ; Minimum length in seconds to consider a segment a commercial break
max_commercial_size=197 ; Maximum time in seconds for a single commercial or multiple commercials if no breaks in between
min_commercial_size=4 ; Mimimum time in seconds for a single commercial
min_show_segment_length=250 ; Any segment longer than this will be scored towards show.
non_uniformity=500 ; Set to 0 to disable cutpoints based on uniform frames
max_volume=500 ; Any frame with sound volume larger than this will not be regarded as black frame
max_silence=100 ;
min_silence=12 ; Any deep silence longer than this amount of frames is a possible cutpoint
noise_level=5
ticker_tape=0 ; Amount of pixels from bottom to ignore in all processing
logo_at_bottom=0 ; Set to 1 to search only for logo at the lower half of the video, do not combine with subtitle setting
ignore_side=0
subtitles=0
use_existing_logo_file=1 ; Use logo file already created at beginning of show, default 0
two_pass_logo=1
punish=1 ; Compare to average for sum of 1=brightness, 2=uniform 4=volume, 8=silence, 16=schange, set to 0 to disable
punish_threshold=1.3 ; Multiply when amount is above average * punish_threshold
punish_modifier=4 ; When above average * threshold multiply score by this value
intelligent_brightness=0 ; Set to 1 to use a USA specific algorithm to tune some of the settings, not adviced outside the USA
logo_percentile=0.92 ; If more then this amount of logo is found then logo detection will be disabled
logo_threshold=0.725 ; Digital signals can be higher
global_threshold=1.79
min_black_frames_for_break=1 ;
punish_no_logo=1 ; Default, set to 0 to avoid show segments without logo to be scored towards commercial
aggressive_logo_rejection=0
connect_blocks_with_logo=1 ; Set to 1 if you want successive blocks with logo on the transition to be regarded as connected, set to 0 to disable
delay_logo_search=0 ;
logo_filter=0 ; Set the size of the filter to apply to bad logo detection, 4 seems to be a good value.
edge_step=2 ; New, default 1
cut_on_ar_change=1 ; Set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable
delete_show_after_last_commercial=0 ; Set to 1 if you want to delete the last block if its a show and after a commercial
delete_show_before_first_commercial=0 ; New, default 0
delete_show_before_or_after_current=0 ; Set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
delete_block_after_commercial=0 ; Set to max size of block in seconds to be discarded, set to 0 to disable
remove_before=0 ; Amount of seconds of show to be removed before ALL commercials
remove_after=0 ; Amount of seconds of show to be removed after ALL commercials
shrink_logo=5 ; Reduce the duration of the logo with this amount of seconds
after_logo=0 ; Set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint
before_logo=0
padding=0.50
ms_audio_delay=5
volume_slip=40
skip_b_frames=0 ; Set to 1 to force Comskip to skip frames for higher processing speed.
hardware_decode=0 ; Set to 1 to enable hardware accelerated video decoding, only available in donator version
max_repair_size=200 ; Will repair maximum 200 missing MPEG frames in the timeline, set to 0 to disable repairing for players that don’t use PTS.
disable_heuristics=4 ; Bit pattern for disabling heuristics, adding 1 disables heristics 1, adding 2 disables heristics 2, adding 4 disables heristics 3, 255 disables all heuristics
delete_logo_file=1 ; Set to 1 if you want comskip to tidy up after finishing
output_framearray=0 ; Create a big excel file for detailed analysis, set to 0 to disable
output_data=0 ; Create a dump of the user data channel, used for CC and XDS (such as V-Chip info). Can be use together with output_framearray to remote debug CC decoding
output_videoredo=0 ; The old videoredo format
output_videoredo3=0 ; The new videoredo v3 format.
output_womble=0
output_mls=0 ; Set to 1 if you want MPeg Video Wizard bookmark file output
output_cuttermaran=0
output_mpeg2schnitt=0
output_mpgtx=0
output_dvrcut=0
output_zoomplayer_chapter=0
output_zoomplayer_cutlist=0
output_dvrmstb=0 ; Set to 1 if you’re running DVRMS-Toolbox
output_edlx=0
output_vcf=0
output_bsplayer=0
output_btv=0 ; Set to 1 if you want Beyond TV chapter cutlist output
output_projectx=0 ; Set to 1 if you want ProjectX cutlist output (Xcl)
output_avisynth=0
output_demux=0 ; Set to 1 if you want comskip to demux the mpeg file while scanning
sage_framenumber_bug=0
sage_minute_bug=0

I don’t know how the developers would feel about this but a simple way for them to allow this would be to add a way for us to run a script that would be triggered for each recording. I know several other DVR programs use this method.

Npvr uses a hook for a postprocessing.bat file which allows users to run comskip etc. on each recording as soon as it finishes. Npvr passes parameters such as show name etc. to the script. This would allow us in the community to do more with the shows once recorded, such as renaming for plex/emby/kodi or transcoding without needing any complicated directory monitoring tools.

This could also mean that comskip support is not a part of the Channels software…

I hate to necro such an old thread, but could you share your .ini file settings for Jeopardy? (If you still have them)

My local affiliate does the exact same thing and I’ve been tearing my hair out trying to tweak comskip to work on Jeopardy recordings.

2 Likes