Comskip.ini 說明

我花了大半个月时间,想给每个节目/频道配一个 comskip INI 文件,结果根本行不通。200 来个视频,我全是手动剪的,已经剪到崩溃。现在我只想重新让 comskip 自己把广告切掉。Dirty Jobs 甚至一条广告都没去掉——是的,我明明在 MCEBuddy 里勾了用 comskip 去广告。
要是能有个“comskip 分析器”就好了:它先跑一遍视频,然后告诉我该改哪几项设置。现在的文档对新手极不友好,去问人,得到的回答永远是“哦你只要让 comskip 干这干那”,可 GUI 里的描述一半都看不懂,我简直像在推导火箭燃料配方。求求哪位大神救救我的 sanity,帮我把它配对吧!


Discovery 频道我用的 comskip.ini 如下:

detect_method=111    ;1=black frame, 2=logo, 4=scene change, 8=fuzzy logic, 16=closed captions, 32=aspect ration, 255=all
verbose=1    ;show a lot of extra info, level 5 is also OK, set to 0 to disable
ticker_tape=0
subtitles=0
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=0    ;maximum average brightness for a dim frame to be considered black (scale 0 to 255) 0 means autosetting
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=120    ;maximum time in seconds for a single commercial or multiple commercials if no breaks in between
min_commercial_size=5   ;mimimum time in seconds for a single commercial
min_show_segment_length=120; any segment longer than this will be scored towards show.
excessive_length_modifier=0.5
ar_wrong_modifier=10
before_logo=0
after_logo=0
ar_delta=0.06
punish=0                        ;1=brightness, 2=uniform 4=volume, 8=silence, 16=schange
reward=0
non_uniformity=260
max_volume=500            ; any frame with sound volume larger than this will not be regarded as black frame
min_silence=20
volume_slip=20; Disabled
intelligent_brightness=0 ; 
delete_logo_file=0    ; set to 1 if you want comskip to tidy up after finishing
give_up_logo_search=2000 
output_framearray=1    ; create a big excel file for detailed analysis, set to 0 to disable
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_percentile=0.92    ; if more then this amount of logo is found then logo detection will be disabled
logo_threshold=0
logo_present_modifier=0.2
cut_on_ar_change=1    ; set to 1 if you want to cut also on aspect ratio changes, set to 0 to disable
delete_show_before_or_after_current=1
delete_show_after_last_commercial=1; delete the last block if its a show and after a commercial
shrink_logo=5    ; Reduce the duration of the logo with this amount of seconds
output_videoredo=0
output_cuttermaran=0
output_mls=0
output_womble=0
output_mpgtx=0
output_dvrcut=0
output_training=0
output_edl=0
output_edlx=0
output_zoomplayer_chapter=0
output_zoomplayer_cutlist=0
padding=0
live_tv=0
aggressive_logo_rejection=0
cuttermaran_options="cut=\"true\" unattended=\"true\" muxResult=\"false\" snapToCutPoints=\"true\" closeApp=\"true\""

日志:
Dirty Jobs (2003) - S03E01 - Bug Breeder.mkv-TEST DISCOVERY CHANNEL REMOVE ADS-2021-06-28T15-51-49.log (1.8 MB)

Comskip 真的很挑剔——我最好的成果是從 Comskip 論壇的 ini 檔案開始,再根據看到的行為微調寬鬆或嚴格程度。我的設定(Comcast CableCard)運作得非常順——僅供參考。

Country INI files - Comskip Support Forum (kaashoek.com)

這是我用的設定——錄製的節目幾乎偵測不到廣告:

; 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=255							; 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
max_commercialbreak=305    				; maximum length in seconds to consider a segment a commercial break
min_commercialbreak=21					; minimum length in seconds to consider a segment a commercial break
max_commercial_size=65					; maximum time in seconds for a single commercial or multiple commercials if no breaks in between
min_commercial_size=14       				; 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=250						; Set to 0 to disable cutpoints based on uniform frames
max_volume=250							; any frame with sound volume larger than this will not be regarded as black frame
min_silence=20							; 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
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
punish=0								; 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=2						; When above average * threshold multiply score by this value
intelligent_brightness=1	    			; 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.70
punish_no_logo=1						; Default, set to 0 to avoid show segments without logo to be scored towards commercial
aggressive_logo_rejection=1
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.
cut_on_ar_change=2						; 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_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
padding=0
ms_audio_delay=5
volume_slip=20
skip_b_frames=0							; Set to 1 to force Comskip to skip frames for higher processing speed.
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=255					; 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_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"
thread_count=8 ; multi-threaded processing
hardware_decode=0
variable_bitrate=1
cut_on_ac_change=1
subtitles=0
use_existing_logo_file=1
two_pass_logo=1
require_div5=0
noise_level=5
brightness_jump=200
fps=25
global_threshold=1.05
play_nice_sleep=30
lowres=0
play_nice_start=-1
play_nice_end=-1
ar_delta=.08
min_commercial_break_at_start_or_end=39
always_keep_first_seconds=0
always_keep_last_seconds=0
black_percentile=.0076
uniform_percentile=.003
score_percentile=.71
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=.01
dark_block_modifier=.3
min_schange_modifier=.5
max_schange_modifier=2
logo_present_modifier=.01
reward=0
reward_modifier=.5
border=10
give_up_logo_search=5000
delay_logo_search=0
logo_max_percentage_of_screen=.15
ignore_side=0
edge_level_threshold=5
edge_radius=2
edge_weight=10
edge_step=1
num_logo_buffers=50
logo_fraction=.4
before_logo=0
where_logo=0
min_black_frames_for_break=1
cc_commercial_type_modifier=4
cc_wrong_type_modifier=2
cc_correct_type_modifier=.75
div5_tolerance=-1
output_default=0
output_plist_cutlist=0
videoredo_offset=2
edl_skip_field=0
output_edlp=0
output_ipodchap=0
output_debugwindow=0
output_tuning=0
output_training=0
output_false=0
output_aspect=0
output_srt=0
output_smi=0
output_timing=0
cutscene_frame=0
cutscene_dumpfile=""
cutscene_threshold=10
cutscenefile1=""
cutscenefile2=""
cutscenefile3=""
cutscenefile4=""
cutscenefile5=""
cutscenefile6=""
cutscenefile7=""
cutscenefile8=""
maxbright=1
added_recording=1
delete_show_before_first_commercial=0
ac_wrong_modifier=1
top_ticker_tape=0
ignore_left_side=0
ignore_right_side=0
logo_percentage_threshold=.25
ccCheck=1
output_scf=0

@Will_Tschumy 谢谢!我正在为《Dirty Jobs》做尝试,它似乎能很好地剪掉广告,只是现在它拒绝剪掉上一节目的结尾,最后3分钟没有声音。等mcebuddy处理完,我会试试你发的那份,再次感谢!

@Will_Tschumy 不知為何它並沒有照你說的做,我不確定是不是我把內容複製貼上到 ini 檔時出了錯。它把《蓋酷家庭》最後 45–60 秒切掉了,也漏了幾秒廣告。方便的話,你能貼出真正的 ini 檔嗎?

編輯:我又試了另外兩個節目,它直接把《史帝夫哈維秀》的開場完全砍掉,也沒刪掉《驗屍最後時刻》的廣告段,還把節目最後一分鐘左右切掉。看來我得再花幾個月微調了,總之還是謝謝。真希望這些鳥事能簡單一點!

如果有人用 Discord 願意一步步教我設定 comskip.ini,那就太棒了!!

comskip.ini (7.9 KB)

给你。

这些 INI 文件非常特定——它们对某个网络上的某一类节目效果很好,对其他节目则可能失效。不知道是否有影响,但我用的是 comskip 的 doner 版本。Kaashoek 的响应很快——你也可以去那个论坛试试。我找到了一个对我足够有效的配置就停止折腾了——我觉得更多是运气好……

@Will_Tschumy 感謝,看起來現在可以運作了,但在廣告休息結束、播到一半時影片又會凍結。這實在令人抓狂。每當我以為有進展,就會發生其他問題把我打回原點。我完全不知道該怎麼辦。我使用的是捐贈版,目前版本是 2.5.6。我知道我不是唯一遇到影片凍結問題的人,Google 搜尋就能找到很多有同樣狀況的使用者。我開始懷疑是不是 mcebuddy 或 comskip 的問題。