Comskip not always detecting commercials

Here you can ask your questions on how to use Comskip for the detection of commercials. Also questions on how to remove commercials are welcome
Post Reply
RKCRLR
Posts: 5
Joined: Fri Jan 20, 2023 2:52 am

Comskip not always detecting commercials

Post by RKCRLR »

I'm running a Tvheadend server on a CoreELEC (Kodi) box. I'm in the US and receive OTA TV.
Sometimes Comskip detects commercials as expected and other times it doesn't detect any. It can be the same show on the same network, one week it works fine and the next week it doesn't detect any commercials on the same show but a subsequent episode. The .txt and .edl files are created but there is no data in them.

Any suggestions?

Below is my comskip.ini file:

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=0 ; 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 ; New
brightness_jump=200 ; New
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, some sports require lower numbers than normal tv shows
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 (sports and 30 minute programming), increase this to 250 for 1 hour long programming
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 ; New
ticker_tape=0 ; Amount of pixels from bottom to ignore in all processing
ignore_side=0 ; New, default 0
subtitles=0 ; New, default 0
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
use_existing_logo_file=1 ; Use logo file already created at beginning of show, default 0
two_pass_logo=1 ; New
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 advised 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.7250 ; Digital signals can be higher
global_threshold=1.79 ; New
min_black_frames_for_break=1 ; Default 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 ; Set to number of seconds before logo appears comskip should start to search for silence to insert an additional cutpoint
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
thread_count=4 ; Set to utilize Quad Core
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_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=1 ; Set to 1 if you use parallelprocessing and need the output while recording
live_tv_retries=1 ; 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"
always_keep_first_seconds=300
always_keep_last_seconds=300
erik
Site Admin
Posts: 3368
Joined: Sun Aug 21, 2005 3:49 pm

Re: Comskip not always detecting commercials

Post by erik »

The most obvious reason for not detecting anything is a ticker tape or otherwise permanently visible thingy on screen.
RKCRLR
Posts: 5
Joined: Fri Jan 20, 2023 2:52 am

Re: Comskip not always detecting commercials

Post by RKCRLR »

That is possible, I've noticed more banners lately at the bottom of the screen advertising upcoming shows. We've also been having a lot of weather warnings lately.
Do you have some recommended setting changes to address this?
RKCRLR
Posts: 5
Joined: Fri Jan 20, 2023 2:52 am

Re: Comskip not always detecting commercials

Post by RKCRLR »

I started over with an original comskip.ini file and still have the same problem.

It appears that the shows that fail to detect commercials have the following error in the log file multiple times:

Panic: Audio buffer overflow, resetting audio buffer

Any suggestions on how to correct this?

Thanks
RKCRLR
Posts: 5
Joined: Fri Jan 20, 2023 2:52 am

Re: Comskip not always detecting commercials

Post by RKCRLR »

Giving this a bump. I'm pretty sure my problem is related to the message below:

Panic: Audio buffer overflow, resetting audio buffer

Any reason I'm getting this message repeatedly on some shows but not others? Is this a problem that can be addressed by settings in the comskip.ini file or do I need to make changes in Kodi or TVHeadend?

Thanks
erik
Site Admin
Posts: 3368
Joined: Sun Aug 21, 2005 3:49 pm

Re: Comskip not always detecting commercials

Post by erik »

The reason for the "panic" message is an incompatible audio coding in the transmission format chosen by the broadcaster
This can not be solved with ini file settings.
RKCRLR
Posts: 5
Joined: Fri Jan 20, 2023 2:52 am

Re: Comskip not always detecting commercials

Post by RKCRLR »

OK, thanks, I'll start looking for other solutions.
It seems strange that it would be the broadcast format. I record US OTA ATSC broadcasts that use AC3 audio. The problem happens on all networks (ABC, NBC, CBS, etc.). As I mentioned, one show will work fine and the very next show on the same channel will have problems. And one show will work fine but the next episode of the same series recorded on the following week will have problems. Perhaps something is happening with my reception or perhaps my tuner is having problems. But the shows play fine.
Post Reply