[Main Settings]
detect_method=43 (0 - 255)
;the sum of the values for which kind of frames comskip will consider as possible cutpoints: 1=uniform (black or any other color) frame, 2=logo, 4=scene change, 8=resolution change, 16=closed captions, 32=aspect ration, 64=silence, 128=cutscene, 255=all.
;;The decte methods chosen can used for two purposes. The detection of where to cut and determining if a block (the segment between cutpoints) is show or commercial. Some methods only help defining cutpoints (such as blackframe) others only for determining show or commercial (such as closed captioning) and others for both (such as aspect ratio or logo)
verbose=10 (0 - 10)
;Set to 10 to show a lot of extra info, acceptable levels are 0 (no info at all, only errors) till 12 (a really a lot of info)
max_brightness=60 (10 - 255)
;Frame not a black frame if more then maxbright (see next) number of the pixels of the frame have a brightness greater than this (scale 0 to 255)
maxbright=1 (1 - MAXINT)
;Amount of pixels in a black frame allowed to be brighter then max_brightness
test_brightness=40 (10 - 255)
;Frame not pure black if a small number of the pixels of the frame has a brightness greater than this. To decide if the frame is truly black, comskip will also check average brightness (scale 0 to 255)
;; If more then about 10% of the frame has a higher brightness then test_brightness the frame is not regarded black
max_avg_brightness=25 (10-255)
;Frame is pure black if the average brightness is less then this
max_commercialbreak=600 (0 - MAXINT)
;The maximum duration in seconds of any commercial break, that is a sequence of blocks regarded as commercial
min_commercialbreak=25 (0 - MAXINT)
;The minimum duration in seconds of any commercial break, that is a sequence of blocks regarded as commercial
max_commercial_size=125 (0 - MAXINT)
;The maximum duration in seconds of any single commercial, that is any block between cutpoints regarded as commercial
min_commercial_size=4 (0 - MAXINT)
;The minimum duration in seconds of any single commercial, that is any block between cutpoints regarded as commercial
min_show_segment_length=125 (0 - MAXINT)
;Any block larger then this in seconds is regarded as a show block
max_volume=500 (0 - 32000)
;The maximum sound volume allowed at or around a black frame, volume_slip determines the allowed offset in frames between sound and video
non_uniformity=500 (0-20000)
;The maximum fraction of pixels that are allowed to have more then noise_level brightness difference from the average brightness of a frame to be regarded as a uniform frame
;; A value of 0 will activate a automatic setting of this value, not recommended as a well tuned manual setting is better
[Detailed Settings]
min_silence=12 (0-3200)
;The minimum number of frames the volume has to be below the silence level to be regarded as a silence cutpoint.
noise_level=5 (1-255)
;The maximum deviation of the average brightness in a uniform frame that allows pixels not to be counted as non uniform.
brightness_jump=200 (10-255)
;Any frame with a jump in average brightness compared to the previous frame is a candidate scene change cutpoint
fps=25
;To set the frame rate when reviewing .csv files as there is no other way to determine the framerate
validate_silence=1 (0=off / 1=on)
;Heuristic validation of the quality of the silence cutpoints. If the validation fails the method will automatically be disabled
validate_uniform=1 (0=off / 1=on)
;Heuristic validation of the quality of the uniform cutpoints. If the validation fails the method will automatically be disabled
validate_scenechange=1 (0=off / 1=on)
;Heuristic validation of the quality of the scene change cutpoints. If the validation fails the method will automatically be disabled
global_threshold=1.05
;Any block that has a score above this value will be regarded as commercial, any score below will be regarded as show. Do not change this value
disable_heuristics=4 (0-255, bitmaks)
; Bitmask, when a bit is set the corresponding heuristics method is disabled. H1 -> 1, H2 -> 2, H3 ->4, H4 -> 8, etc
;; This is useful when certain heuristics fail to improve the results and have to be disabled. Set verbose=10 and inspect the log file for the applied heuristics. Each heuristic is identified with an H followed by a number from 1 till 7
[CPU Load Reduction]
lowres=0 (0-10)
;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
hardware_decode=0(0=off / 1=on)
;On enables hardware accelerated video decoding
;;This is only faster then CPU decoding when you have a fast graphics card and a slow CPU. Only available in donator version
play_nice_start=-1 (-1 - 2359)
;Start time in 24 hour format when CPU load reduction should be used, 14:00 is written as 1400
play_nice_end=-1 (-1 - 2359)
;End time in 24 hour format when CPU load reduction should be used, 14:00 is written as 1400
play_nice_sleep=10 (0-MAXINT)
;Amount of milliseconds for each frame the processing should be suspended to reduce CPU load.
;;The effect depends on the processing speed in frames/second. When 10 frames/second are processed then a value of 10 only reduces 10% PCU load. When 100 f/s then the reduction is 50%
thread_count=2 (1-16)
;Number of threads used when decoding the video
;;Increasing the thread count speeds up the processing on CPU's with more cores then the current thread count. Setting the number to higher then the amount of cores makes processing slower. Setting the thread_count to 1 disables multi-threaded decoding, useful in case comskip crashes when decoding the video.
skip_b_frames=0 (0-1)
;Skip some frames to reduce the decoding load
;;Detection quality can reduce but this may reduce the CPU load substantially. Will not work on all types of recordings and only in donator version
[Input Correction]
max_repair_size=200 (0 - MAXINT)
;The maximum number of dummy frames that will be inserted to keep a consistent timeline, any jump in PTS larger then this will be ignored. Setting to 0 disabled repair, any value larger then 1000 is useless
;;Accurate measurement of the duration of commercials is essential, using the PTS to calculate the duration of commercials is useful when frames are corrupt due to transmission errors. This fails to work for large PTS discontinueties.
ms_audio_delay=5 (0-200)
;Audio/video alignment fix for dvr-ms files. Only change this value when during inspection a offset between sound and video is observed for dvr-ms recordings
volume_slip=20 (5-MAXINT)
;Maximum number of frames the silence is allowed to be misaligned with a blackframe to be regarded as a cutpoint. When the broadcast has transmission errors and bad PTS a value of upto 200 can be required. A higher value increases the chance of false positives on black frames.
variable_bitrate=1 (0=off / 1=on)
;Enables an adaptive algorithm when seeking during previewing of a recording in the debugwindow. Sometimes this fails and it has to be disabled
[Aspect Ratio]
ar_delta=0.08 (0.01 - 0.5)
;All aspect ratios within this range will be regarded as having the same aspect ration
;;Used for tuning the quality of the aspect ratio cutpoints and determining the scoring on aspect ratio differences. A too small value will create too many cutpoints and wrong scoring. A too large value will ignore relevant differences in aspect ratio.
cut_on_ar_change=1 (0=off / 1=on)
;Enable the generation of cutpoints on aspect ratio changes.
;;When the aspect ratio method is disabled the aspect ratio will still be use for scoring the blocks. When the aspect ratio method is disabled no aspect ratio cutpoints will be generated
cut_on_ac_change=1 (0=off / 1=on)
;Enable the generation of cutpoints on audio channel changes.
;;When the audio channels method is disabled the number of audio channels will still be use for scoring the blocks. When the audio channel method is disabled no audio channel cutpoints will be generated
[Global Removes]
padding=0 (0-MAXINT)
;Amount of seconds each commercial will be reduced both as start and end.
;;When you always want to see the start and end of the commercial break this can be used.
remove_before=0
;Set the amount of seconds to remove before ALL commercials
remove_after=0
;Set to the amount of seconds to remove after ALL commercials
added_recording=14 (0-MAXINT)
;Amount of minutes that a recording is longer then the actual show + closing commercial (if any)
;;This value is used to determine the maximum amount to remove in the below delete_show_... settings
delete_show_after_last_commercial=0 (0=disabled / 1=on / 2-MAXINT amount of seconds)
;Any part of the show that comes after the last commercial is deleted when that part is shorter then added_recording (1) or the amount of seconds set (2 or more).
;;To be used when more then the actual show is recorded and part of the next show separated from the actual show with a commercial break is to be removed. Make sure there is ALWAYS a closing commercial recorded and recognized
delete_show_before_first_commercial=0 (0=disabled / 1=on / 2-MAXINT amount of seconds)
;Any part of the show that comes before the first commercial is deleted when that part is shorter then added_recording (1) or the amount of seconds set (2 or more).
;;To be used when the recording may start before the actual show and there is always a commercial break separating the two shows.
delete_show_before_or_after_current=0 (0=disabled / 1=on / 2-MAXINT amount of seconds)
;Any part of the show that comes before or after the actual show and is separated from the show by a small commercial block less then min_commercial_break is deleted when that part is shorter then added_recording (1) or the amount of seconds set (2 or more).
;;To be used when the recording contains more then the actual show and the previous and next show are separated from the actual show with very small commercials, too small to be an actual commercial break
delete_block_after_commercial=0 (0=off / 1=on)
;When enabled the first show block directly after a commercial will be deleted
;;Only to be use in very specific situations when you know what you are doing.
min_commercial_break_at_start_or_end=39 (0-MAXINT)
;Any commercial at the very beginning or end of the recording shorter then the amount of seconds set will not be regarded as commercial but as show
;;To be used when you are sure the recording always starts with show but the early part of the show has some characteristics that cause it to be regarded as commercial
always_keep_first_seconds=0	
;Any commercial at the start shorter then this amount of seconds will be regarded as show
always_keep_last_seconds=0	
;Any commercial at the end shorter then this amount of seconds will be regarded as show
[USA Specific]
intelligent_brightness=0 (0=off / 1=on)
;Only for historic reasons, should not be used
black_percentile=0.0076
;Only for historic reasons, should not be used
uniform_percentile=0.003
;Only for historic reasons, should not be used
score_percentile=0.71
;Only for historic reasons, should not be used
[Main Scoring]
;All the modifiers below are used to calculate the score of a block. The score starts as 1 and is then multiplied by the value below, if applicable, to come to the final score
length_strict_modifier=3
;Used when the block adheres to some strict criteria for commercials
length_nonstrict_modifier=1.5
;Used when the block adheres to some lesser used criteria for commercials
combined_length_strict_modifier=2
;used when a short number of sequential blocks adhere to the strict criteria for commercials
combined_length_nonstrict_modifier=1.25
;used when a short number of sequential blocks adhere to the lesser used criteria for commercials
ar_wrong_modifier=2
;Used when the aspect ratio of a block is different from the dominant aspect ratio
ac_wrong_modifier=1
;Used when the number of audio channels of a block is different from the dominant number of audio channels
excessive_length_modifier=0.01
;Used when the length of a block exceeds min_show_segment
dark_block_modifier=0.3
;Used when a block is darker then the average
min_schange_modifier=0.5
;Used when a block has much less then average scene changes
max_schange_modifier=2
;Used when a block has much more then average scene changes
logo_present_modifier=0.01
;Used when a block has logo or use in reverse when there is no logo
punish_no_logo=1
;Do not modify the score of a block because it has no logo
[Detailed Scoring]
;;The following settings are used to score blocks based on the certain average aspects of video and audio. The debugwindow shows these averages as white or red straight lines for each block. Red lines indicate blocks that have average values above the threshold, white lines for blocks below the threshold.
;;The bitmask is: 1=brightness, 2=uniformity 4=volume, 8=silence amount, 16=scene change rate
punish=0 (bitmask)
;Set the bitmask of the average audio/video aspects to monitor
;;When the average value is above the threshold a block is punished towards commercial by multiplying the score with the punish_modifier
;;Example: when you want to punish load blocks set punish=4
reward=0  (bitmask)
;Not implemented
punish_threshold=1.3 (1.0 - 10.0)
;When the average is punish_threshold times above the average then it will be punished.
;; A value of 1 set the average to be the threshold. A value of 1.5 sets the threshold to 50% above the average
punish_modifier=2  (1.0 - 10.0)
;Used to modify the score when the punish is above the threshold.
reward_modifier=0.5 (0.01 - 1.0)
;Not implemented
[Logo Finding]
border=10 (0-MAXINT)
;The amount of pixels in the outside border to ignore in any processing
;;When the recording contains noise in the outmost pixels of the video these can be ignored by setting the right amount of border
give_up_logo_search=2000 (0-MAXINT)
;Logo search is stopped when no logo is found after the amount of seconds set. Make sure there is always ample opportunity to learn the logo. Better have the value too large then too small
delay_logo_search=0  (0,1, MAXINT)
;Delay the start of the logo search, this helps if there is another logo early in the recording.
;;When set to 1 logo seach will start after added_recording*60 seconds, or you can set it to the number of seconds after which to start the logo search
logo_max_percentage_of_screen=0.1
;Set the fraction of the screen that can be occupied by logo. When two logo's are identified the square  space between them is included in the logo space.
;;Two logo's, at the same side of the screen can be found but may require a slightly larger value (0.15 till 0.2) 0.1 is only used for finding a single logo
ticker_tape_percentage= (0-99)
;Use to set the percentage of screen from bottom of screen to completely ignore in processing, set to 0 to disable
;;Useful when there is a ticker tape or text at the bottom that never disappears. Never use in combination with ticker_tape in pixels. Only one of these two settings can be used 
ticker_tape=0 (0-MAXINT)
;Use to set the amount of pixels at the bottom of the screen to completely ignore in processing.
;;Useful when there is a ticker tape or text at the bottom that never disappears.
top_ticker_tape_percentage= (0-99)
;Use to set the percentage of screen from top of screen to completely ignore in processing, set to 0 to disable
;;Useful when there is a ticker tape or text at the top that never disappears. Never use in combination with ticker_tape in pixels. Only one of these two settings can be used 
top_ticker_tape=0 (0-MAXINT)
;Use to set the amount of pixels at the top of the screen to completely ignore in processing.
;;Useful when there is a ticker tape or text at the top that never disappears.
ignore_side=0
;Use to set the amount pixels to ignore of the side of the screen
ignore_left_side=0
;Use to set the amount pixels to ignore of the left side of the screen
ignore_right_side=0
;Use to set the amount pixels to ignore of the right side of the screen
subtitles=0 (0=off / 1=on)
;Do not try to find a logo at the lower half of the screen when this is on.
;;Subtitles sometimes stay soo long they can be considered a logo. Set this to make this impossible
logo_at_bottom=0 (0=off / 1=on)
;The opposite. Set when you are sure the logo is at the bottom.
logo_threshold=0.75 (0.1 - 0.95)
;A logo is search using a logo mask. The logo threshold determines how much of the logo mask must match the video.
;;Only very clean logo's can use a value of 0.9 or higher) You can see the quality of the logo detection in the yellow line in the debug window. The cleaner/higher the line, the better the quality, the higher you can set the threshold
logo_percentage_threshold=0.25 ((0.1 - 0.95)
;The logo percentage threshold determines the percentage of frames in a block that must (not) have logo to be promoted/punished.
;;A higher value is useful if logo is good and you have commercials blocks with a bit of logo 
logo_filter=0 (0-10)
;With a very noisy logo you can use this setting to enable a temporal filter on the logo detection.
;;With noisy logo a value of 4 can give a big improvement. A disadvantage is that the start and end time of a detected logo becomes less accurate. You may have to increase shrink_logo
aggressive_logo_rejection=0 (0-4)
;Set to higher values when the spatial logo detection is difficult
;;Experiment only with this setting if logo detection fails. 4=special for very bright backgrounds 
edge_level_threshold=5
;The minimum brightness step required to identify the edge of a logo
;;Increase only when too much logo is found.
edge_radius=2 (2-10)
;The pixel distance over which the brightness step should be found
;;A small value give nice sharp edges in logo detection, increase only when desperate
edge_weight=10
;??? dont know....
edge_step=1 (1-5)
;Useful for HD where you want to do logo detection on a lower resolution(gives higher speed)
;;A value of 2 gives a nice speed improvement without hampering detection on HD.
num_logo_buffers=50
;Only for internal use, do not change
use_existing_logo_file=1 (0=off / 1=on)
;??
two_pass_logo=1 (0=off / 1=on)
;When enabled the recording processing will restart when logo is found to ensure best quality logo coverage.
[Logo Interpretation]
connect_blocks_with_logo=1 (0=off / 1=on)
;When enabled all blocks that have logo at the cutpoint between the blocks will be considered one block.
;;Very useful when a recording has many dark scenes, should normally always be enabled
logo_percentile=0.92
;If more then logo percentile fraction of the recording contains logo it is assumed there is always logo so the logo is no longer used in interpreting the content.
logo_fraction=0.4
;If less then logo percentile fraction of the recording contains logo it is assumed there is no useful logo so the logo is no longer used in interpreting the content.
shrink_logo=5
;Each (dis)appearance of logo is assumed to be the given amount of seconds earlier/later
;;Sometimes logo extends into the commercial for a couple of seconds. Use this to shrink the logo so it disappears before the commercial
before_logo=0
;Cutpoints can be inserted just before the logo appears. Set value set is the amount of seconds to start a search for a silence before the logo appears. 
after_logo=0
;Cutpoints can be inserted just after the logo disappears. Set value set is the amount of seconds to start a search for a silence after the logo disappears. 
where_logo=0
;Not used
min_black_frames_for_break=1 (1-MAXINT)
;The minimum amount of black frames required for recognizing a black frame cutpoint
;;Should be 1 for regular SD but a value of 3 may be useful for certain HD broadcast, specially when too many black frame cutpoints are found.
[Closed Captioning]
ccCheck=0
cc_commercial_type_modifier=4
cc_wrong_type_modifier=2
cc_correct_type_modifier=0.75
[Live TV]
live_tv=0 (0=off / 1=on)
;This will enable the output of commercial information during the processing allowing the skipping of detecting commercials before the processing is finished
;;Use when you want to process during recording and have the commercial information available before the recording is finished. This uses a simplified detection algorithm so the results may be different from the final results.
live_tv_retries=4 (0-MAXINT)
;When the end of the recording is reach comskip will wait for one second and check to see if the recording is still ongoing. This will be done live_tv_retries times.
require_div5=0 (0=off / 1=on)
;Used to tune the live tv recognition algorithm, do not change
div5_tolerance=-1
;Used to tune the live tv recognition algorithm, do not change
[Output Control]
;Comskip can output many commercial list formats. They can be individually enabled. The names should be self explanatory. If not, just enable and inspect the result.
output_default=1
;This dis/enables the default .txt output file.
output_plist_cutlist=0
output_zoomplayer_cutlist=0
output_zoomplayer_chapter=0
output_vcf=0
output_vdr=0
output_projectx=0
output_avisynth=0
output_videoredo=0
output_scf=0
videoredo_offset=2
; The amount of frames subtracted from the videoredo cut time output, use negative numbers to shift to later.
output_btv=0
output_edl=1
edl_offset
; The amount of frames subtracted from the edl cut time output, use negative numbers to shift to later.
edl_skip_field=0
; Sets the skip indicator in an EDL file. Set to 3 to have better skip behaviour on XBMC
output_edlp=0
;This special edl format uses the PTS to as a timebase because that is what mencoder does when processing .ts files.
output_bsplayer=0
output_edlx=0
;An XML variant of edl
output_cuttermaran=0
output_mpeg2schnitt=0
output_womble=0
output_mls=0
output_mpgtx=0
output_dvrmstb=0
output_dvrcut=0
output_ipodchap=0
;The following switches control all kind of additional outputs comskip can generate
output_framearray=0
;Output a large .csv file that can be use by ComskipGUI to quickly reprocess the recording with different comskip.ini settings without having to redo the lengthy mpeg/h.264 decoding
;;Some changes in settings require a full reprocessing. In general all changes of setting that change the processing of video on pixel level require a full re-decoding
output_debugwindow=1
;This switched the regular comskip to ComskipGUI behaviour
output_tuning=0
;Used only during comskip development
output_training=0
;Used only during comskip development
output_false=0
;??
output_aspect=0
;Output a .aspect file listing the aspect ratio and pixel size data of the video
output_demux=0
;Demux the input file and output separate audio and video files
output_data=0
;Output the CC or XDS data to a .data file. Is used in combination with the .csv file when reprocessing in ComskipGUI
output_srt=0
;Ouput a CC .srt file, uses the integrated CCExtract
output_smi=0
;Output a CC .smi file, uses the integrated CCExtract
output_timing=0
;Output data used in debugging the PTS decoding
delete_logo_file=0
;Delete the .logo.txt file after processing is finished
[Cutscene processing]
;Comskip can recognize prerecorded video frames to generate cutpoints, pressing the 'c' key in preview mode of ComskipGUI will save the current frame as cutscenefile
cutscene_frame=0
;The frame number of the video frame to dump for future recognition, this can be used when the preview does not work but you know the frame number you want to save
cutscene_dumpfile=""
;The name of the dump file of the video frame to dump for future recognition, used when cutscene_frame is set  
cutscene_threshold=10
;Sets the threshold to match the dumped video frame, a too high value matches too many frames, too low will be too sensitive for noise.
;;Experiment with values between 5-20 when results are not acceptable
cutscenefile1=""
;Name of one of the possibly 8 frame to match
cutscenefile2=""
;Name of one of the possibly 8 frame to match
cutscenefile3=""
;Name of one of the possibly 8 frame to match
cutscenefile4=""
;Name of one of the possibly 8 frame to match
cutscenefile5=""
;Name of one of the possibly 8 frame to match
cutscenefile6=""
;Name of one of the possibly 8 frame to match
cutscenefile7=""
;Name of one of the possibly 8 frame to match
cutscenefile8=""
;Name of one of the possibly 8 frame to match
windowtitle="Comskip - %s"
;You can change the Comskip window title, usefull for remote controlling comskipgui by sending key presses and you want a fixed window title.
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\" "
[Sage Workarounds]
sage_framenumber_bug=0
sage_minute_bug=0
enable_mencoder_pts=0