NOTE 1: I record OTA programming in the USA, and have no idea how this may or may not work for cable/satellite or non-USA programming.
NOTE 2: A couple settings are specific and may need adjusted for your situations, including thread_count (set to 6, as my PC is hexacore, set to 4 if you have quadcore, etc) and possibly some others. Also, I use captions and tend to modify my dictionary as needed, though this shouldn't make a huge difference as it is mostly a "backup" method and just inflates the already-above-threshold scores of commercials.
EDIT 1: Changed "padding" to 2.5 as Comskip was removing a small amount of the show, and I prefer (as I think most people do) to occasionally have a couple seconds of commercials rather than occasionally losing a couple seconds of show.
Code: Select all
detect_method=59 ;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=10 ;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 brightness_jump=200 ; max_commercialbreak=600 ;maximum length in seconds to consider a segment a commercial break min_commercialbreak=4 ;minimum length in seconds to consider a segment a commercial break max_commercial_size=140 ;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 non_uniformity=500 ; Set to 0 to disable cutpoints based on uniform frames max_volume=150 ; any frame with sound volume larger than this will not be regarded as black frame min_silence=30 ; Any deep silence longer than this amount of frames is a possible cutpoint ticker_tape=0 ; Amount of pixels from bottom to ignore in all processing 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=2 ; 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.98 ; if more then this amount of logo is found then logo detection will be disabled logo_threshold=0.75 ; 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 logo_filter=0 ; set the size of the filter to apply to bad logo detection, 4 seems to be a good value. delete_show_after_last_commercial=1 ; set to 1 if you want to delete the last block if its a show and after a commercial delete_show_before_or_after_current=1 ; 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 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=2 ; 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 padding=1.75 ; ms_audio_delay=0 ; volume_slip=20 ; 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=400 ; 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=0 ; 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=0 ; set to 1 if you want comskip to tidy up after finishing output_framearray=1 ; create a big excel file for detailed analysis, set to 0 to disable output_data=1 ; 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_edl=1 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_vdr=0 ; set to 1 if you want XBMC to skipping commercials 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 live_tv=0 ; set to 1 if you use parallelprocessing and need the output while recording live_tv_retries=4 ; change to 16 when using live_tv in BTV, used for mpeg PS and TS dvrms_live_tv_retries=300 ; only used for dvr_ms standoff=0 ; change to 8000000 when using live_tv in BTV cuttermaran_options="cut=\"true\" unattended=\"true\" muxResult=\"false\" snapToCutPoints=\"true\" closeApp=\"true\"" mpeg2schnitt_options="mpeg2schnitt.exe /S /E /R25 /Z %2 %1" avisynth_options="LoadPlugin(\"MPEG2Dec3.dll\") \nMPEG2Source(\"%s\")\n" dvrcut_options="dvrcut \"%s.dvr-ms\" \"%s_clean.dvr-ms\" " windowtitle="Comskip - %s" two_pass_logo=1 maxbright=1 noise_level=5 global_threshold=1.79 thread_count=6 delete_show_before_first_commercial=1 length_strict_modifier=3 length_nonstrict_modifier=1.5 combined_length_strict_modifier=2 combined_length_nonstrict_modifier=1.25 ar_wrong_modifier=10 excessive_length_modifier=0.01 dark_block_modifier=0.3 min_schange_modifier=0.5 max_schange_modifier=2 logo_present_modifier=0.1 border=10 give_up_logo_search=1020 delay_logo_search=120 logo_max_percentage_of_screen=0.1 logo_percentage_threshold=0.38 edge_level_threshold=5 edge_radius=2 edge_step=2 before_logo=0 min_black_frames_for_break=1 ar_delta=0.1 min_show_segment_length=210 cc_commercial_type_modifier=1.75 cc_wrong_type_modifier=1.75 cc_correct_type_modifier=0.8 fps=29.97 logo_fraction=.25 ignore_side=0 cut_on_ar_change=1 variable_bitrate=1 always_keep_first_seconds=0 always_keep_last_seconds=0 output_default=1 output_plist_cutlist=0 output_tuning=0 output_training=0 added_recording=4 use_existing_logo_file=0
EDIT 15-OCT-16: Made some changes including disabling scene change detection (method 123 now, was 127) decreasing min black frames for break from 3 back to 1 (one recording had only 1 black frame between end of a commercial break and the show starting again), increasing logo_threshold_percentage to .45 (up from .35) and increasing min_show_segment_length to 210 (observed a commercial block of length ~190 in a recording) as well as possibly a few other small tweaks since last posting.
EDIT 19-OCT-16: INI updated, and started new list of results based on the new INI. New INI includes changes listed from period between 15-OCT and today, as well as a couple other small tweaks.