Comskip Support Forum

Comskip is a free commercial detector, browse the forum for more information
It is currently Sat Sep 22, 2018 11:16 pm

All times are UTC [ DST ]




Post new topic Reply to topic  [ 3 posts ] 
Author Message
PostPosted: Sun Dec 02, 2007 12:22 pm 
Offline
Site Admin

Joined: Sun Aug 21, 2005 3:49 pm
Posts: 3209
This is the full list of tunable parameters.
Explanation can be found in manual.htm or in readme.txt inside the distribution zip file
When verbose is set to 10 this list is recorded in the first part of the log file including the settings read from the ini file.
I will keep updating so subscribe if you want to be informed on changes
An exclamation sign (!) after a parameters indicates that any change to this parameter requires a complete reprocessing of the original recording. All others can be changed and validated using the .csv/.data files.

After the list of parameters you can find a short description of the Heuristic rules. (H1 till H7) that can be disabled with disable_heuristics

Code:
[Main Settings]
detect_method=107 ! disabling certain methods is always possible when using the .csv/.data
verbose=10
max_brightness=60 !
maxbright=1
test_brightness=40 !
max_avg_brightness=25 !
max_commercialbreak=600
min_commercialbreak=20
max_commercial_size=120
min_commercial_size=4
min_show_segment_length=120
max_volume=500
non_uniformity=500
[Detailed Settings]
min_silence=0
noise_level=5
brightness_jump=200
validate_silence=1
validate_uniform=1
validate_scenechange=1
global_threshold=1.05
disable_heuristics=0
[CPU Load Reduction]
play_nice_start=-1
play_nice_end=-1
play_nice_sleep=10
[Input Correction]
max_repair_size=40 !
ms_audio_delay=5 !
volume_slip=10
variable_bitrate=1
[Aspect Ratio]
ar_delta=0.05
cut_on_ar_change=1
[Global Removes]
padding=0
remove_before=0
remove_after=0
delete_show_after_last_commercial=0
delete_show_before_first_commercial=0
delete_show_before_or_after_current=0
delete_block_after_commercial=0
min_commercial_break_at_start_or_end=39
[USA Specific]
intelligent_brightness=0 !
black_percentile=0.0073
uniform_percentile=0.005
score_percentile=0.71
[Main Scoring]
length_strict_modifier=3
length_nonstrict_modifier=1.5
combined_length_strict_modifier=2
combined_length_nonstrict_modifier=1.25
ar_wrong_modifier=2
excessive_length_modifier=0.01
dark_block_modifier=0.3
min_schange_modifier=0.5
max_schange_modifier=2
logo_present_modifier=0.01
punish_no_logo=1
[Detailed Scoring]
punish=0
reward=0
punish_threshold=1.3
punish_modifier=2
reward_modifier=0.5
[Logo Finding]
border=10 !
give_up_logo_search=2000
logo_max_percentage_of_screen=0.1 !
ticker_tape=0 !
ignore_side=0 !
subtitles=0 !
logo_at_bottom=0 !
logo_threshold=0.8
logo_filter=0
aggressive_logo_rejection=0 !
edge_level_threshold=5 !
edge_radius=2 !
edge_weight=10 !
num_logo_buffers=50 !
use_existing_logo_file=1
two_pass_logo=1
[Logo Interpretation]
connect_blocks_with_logo=1
logo_percentile=0.92
logo_fraction=0.4
shrink_logo=5
before_logo=0
after_logo=0
where_logo=0
min_black_frames_for_break=1
[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 !
live_tv_retries=4 !
standoff=0 !
dvrmsstandoff=120000 !
require_div5=0 !
div5_tolerance=-1 !
[Output Control]
output_default=1
output_zoomplayer_cutlist=0
output_zoomplayer_chapter=0
output_vcf=0
output_vdr=0
output_projectx=0
output_avisynth=0
output_videoredo=0
videoredo_offset=2
output_btv=0
output_edl=0
output_edlp=0
output_bsplayer=0
output_edlx=0
output_cuttermaran=0
output_mpeg2schnitt=0
output_womble=0
output_mls=0
output_mpgtx=0
output_dvrmstb=0
output_dvrcut=0
output_framearray=0
output_debugwindow=0
output_tuning=0
output_training=0
output_demux=0
output_timing=0
delete_logo_file=1
cutscene_frame=0 !
cutscene_dumpfile="" !
cutscene_threshold=10
cutscenefile1="" !
cutscenefile2="" !
cutscenefile3="" !
cutscenefile4="" !
cutscenefile5="" !
cutscenefile6="" !
cutscenefile7="" !
cutscenefile8="" !
windowtitle="Comskip - %s"
cuttermaran_options=""
mpeg2schnitt_options=""
avisynth_options=""
dvrcut_options=""
[Sage Workarounds]
sage_framenumber_bug=0
sage_minute_bug=0
enable_mencoder_pts=0


Code:
H1: Deletes short show blocks between two commercial blocks
H2: Deletes short show blocks before or after commercials for various reasons
H3: Deletes or adds short blocks based on Logo interpretation
H4: Adds short blocks because of various reasons
H5: Deletes show block before the first or after the last commercial
H6: Deletes too short or too long commercials and too short commercials at the start of the end of the recording
      Related settings
         max_commercialbreak=600
         min_commercialbreak=20
         min_commercial_break_at_start_or_end=39
H7: Tries to find the start of the show and deletes the short part of the previous show.


Top
 Profile  
Reply with quote  
PostPosted: Wed Feb 25, 2009 8:49 pm 
Offline
Site Admin

Joined: Sun Aug 21, 2005 3:49 pm
Posts: 3209
A first annotation
Code:
[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 ofset 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
;No required anymore, not used
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 usefull 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]
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 miliseconds 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%
[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 usefull when frames are corrupt due to transmission errors. This fails to work for large PTS discontinueties.
ms_audio_delay=5 (0-200)
;Audio/video aligment 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 misalligned 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
[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

remove_after=0
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 preveious 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 recordin 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
[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
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 oportunity to learn the logo. Better have the value too large then too small
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=0 (0=off / 1=on)
;Use to set the amount of pixels at the bottom of the screen to completely ignore in processing.
;;Usefull when there is a ticker tape or text at the bottom that never disappears.
ignore_side=0
;Should be usefull to ignore the right/left half of the screen but not sure its implemented.
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 oposite. 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_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-2
;Set to higher values when the spatial logo detection is difficult
;;Experiment only with this setting if logo detection fails.
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)
;Usefull for HD wher 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 aneabled all blocks that have logo at the cutpoint between the blocks will be considered one block.
;;Very usefull when a recording has many dark scenes, should normaly 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 usefulllogo 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 realier/later
;;Sometimes logo extends into the commercial for a couple of seconds. Use this to shrink the logo so it disappears before the commrcial
before_logo=0
after_logo=0
where_logo=0
min_black_frames_for_break=1
[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)
live_tv_retries=4
dvrms_live_tv_retries=300
standoff=0
dvrmsstandoff=120000
require_div5=0 (0=off / 1=on)
div5_tolerance=-1
[Output Control]
output_default=1
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
videoredo_offset=2
output_btv=0
output_edl=1
output_edlp=0
output_bsplayer=0
output_edlx=0
output_cuttermaran=0
output_mpeg2schnitt=0
output_womble=0
output_mls=0
output_mpgtx=0
output_dvrmstb=0
output_dvrcut=0
output_ipodchap=0
output_framearray=0
output_debugwindow=1
output_tuning=0
output_training=0
output_false=0
output_aspect=0
output_demux=0
output_data=0
output_srt=0
output_smi=0
output_timing=0
delete_logo_file=0
cutscene_frame=0
cutscene_dumpfile=""
cutscene_threshold=10
cutscenefile1=""
cutscenefile2=""
cutscenefile3=""
cutscenefile4=""
cutscenefile5=""
cutscenefile6=""
cutscenefile7=""
cutscenefile8=""
windowtitle="Comskip - %s"
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


Top
 Profile  
Reply with quote  
PostPosted: Sun Jan 15, 2012 12:35 pm 
Offline
Site Admin

Joined: Sun Aug 21, 2005 3:49 pm
Posts: 3209
The list is old.

Set
verbose=10
and you will find the latest complete list of all tunable/settable parameters in the generated log file.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 3 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group