Comskip.ini Hilfe

Ich habe den größten Teil eines Monats damit verbracht, für jede Sendung/jeden Sender eine comskip-INI-Datei zu konfigurieren, und es funktioniert nicht wirklich gut. Ich habe jedes Video (etwa 200 Videos) händig geschnitten – ich bin es leid und will wieder versuchen, comskip die Werbung automatisch herausschneiden zu lassen. Bei „Dirty Jobs“ entfernt es gar keine Werbung, und ja, ich habe mcebuddy so eingestellt, dass es Werbung mit comskip entfernt. Ich würde einen comskip-Analysator lieben, der das Video analysiert und Empfehlungen gibt, welche Einstellungen man ändern sollte. Ich habe das Gefühl, ich bräuchte einen PhD, um comskip korrekt zu konfigurieren – die gesamte Dokumentation ist nicht Einsteiger-freundlich, und wenn ich um Hilfe frage, bekomme ich Antworten wie „du musst comskip sagen, es solle das und jenes tun“, aber die Beschreibungen in den comskip-Dateien oder im GUI-Editor sind meistens unklar, ich habe keine Ahnung, was ich tue; ich fühle mich wie ein Raketenwissenschaftler, der eine Raketentreibstoff-Formel knacken will. Kann mir bitte jemand um Gottes Willen und meiner geistigen Gesundheit helfen, comskip richtig zu konfigurieren!!!

Für den Discovery Channel hier meine comskip.ini-Einstellungen:

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\""

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

Comskip ist wirklich heikel – ich habe die besten Ergebnisse erzielt, indem ich mit den ini-Dateien aus dem Comskip-Forum begonnen habe. Von dort aus habe ich sie je nach beobachtetem Verhalten leicht angepasst, um sie strenger oder lockerer zu machen. Bei meinem Setup (Comcast Cable Card) funktioniert es wirklich gut – deine Erfahrungen können abweichen (YMMV).

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

Das verwende ich – ich bekomme praktisch keine Werbung in den Sendungen, die ich aufnehme:

; Siehe comskip.txt in der Verteilungs-zip-Datei für viele einstellbare Parameter, lies manual.html, tuning.html und debugwindow.html, um zu erfahren, wie man comskip abstimmt und debuggt
detect_method=255						; 1=schwarzes Bild, 2=Logo, 4=Szenenwechsel, 8=Fuzzy-Logik, 16=Untertitel, 32=Seitenverhältnis, 64=Stille, 128=Schnitte, 255=alles
validate_silence=1						; Standard, auf 0 setzen, um diese Hinweise zu erzwingen, falls oben ausgewählt.
validate_uniform=1						; Standard, auf 0 setzen, um diese Hinweise (wie reine weiße Bilder) zu erzwingen, falls Schwarzbilder oben ausgewählt sind.
validate_scenechange=1					; Standard, auf 0 setzen, um diese Hinweise zu erzwingen, falls oben ausgewählt.
verbose=10								; viele zusätzliche Infos anzeigen, Level 5 ist auch OK, auf 0 setzen zum Deaktivieren
max_brightness=60						; Bild nicht schwarz, wenn geprüfte Pixel größer als dieser Wert sind (Skala 0 bis 255)
test_brightness=40						; Bild nicht rein schwarz, wenn geprüfte Pixel größer als dieser Wert sind, prüft durchschnittliche Helligkeit (Skala 0 bis 255)
max_avg_brightness=25					; maximale durchschnittliche Helligkeit für ein dunkles Bild, um als schwarz zu gelten (Skala 0 bis 255), 0 bedeutet automatische Einstellung
max_commercialbreak=305					; maximale Länge in Sekunden, um ein Segment als Werbeblock zu betrachten
min_commercialbreak=21					; minimale Länge in Sekunden, um ein Segment als Werbeblock zu betrachten
max_commercial_size=65				; maximale Dauer in Sekunden für eine einzelne Werbung oder mehrere Werbungen, wenn keine Unterbrechungen dazwischen
min_commercial_size=14					; minimale Zeit in Sekunden für eine einzelne Werbung
min_show_segment_length=250			; jedes Segment, das länger ist, wird als Teil der Sendung gewertet.
non_uniformity=250						; auf 0 setzen, um Schnitte auf Basis gleichförmiger Bilder zu deaktivieren
max_volume=250							; jedes Bild mit Lautstärke größer als dieser Wert wird nicht als schwarzes Bild betrachtet
min_silence=20							; Jede tiefe Stille länger als diese Anzahl von Bildern ist ein möglicher Schnittpunkt
ticker_tape=0							; Anzahl der Pixel vom unteren Rand, die bei der gesamten Verarbeitung ignoriert werden
logo_at_bottom=0						; auf 1 setzen, um nur in der unteren Bildhälfte nach Logos zu suchen, nicht mit Untertitel-Einstellung kombinieren
punish=0								; Vergleich mit dem Durchschnitt für Summe aus 1=Helligkeit, 2=Gleichförmigkeit, 4=Lautstärke, 8=Stille, 16=Szenenwechsel, auf 0 setzen zum Deaktivieren
punish_threshold=1.3					; Multiplikator, wenn Betrag über Durchschnitt * punish_threshold liegt
punish_modifier=2						; Bei Werten über Durchschnitt * Schwellwert Score mit diesem Wert multiplizieren
intelligent_brightness=1				; auf 1 setzen, um ein USA-spezifisches Verfahren zur Feinabstimmung einiger Einstellungen zu verwenden, außerhalb der USA nicht empfohlen
logo_percentile=0.92					; wenn mehr als dieser Anteil des Logos gefunden wird, wird Logo-Erkennung deaktiviert
logo_threshold=0.70
punish_no_logo=1						; Standard, auf 0 setzen, um zu verhindern, dass Segmente ohne Logo als Werbung gewertet werden
aggressive_logo_rejection=1
connect_blocks_with_logo=1			; auf 1 setzen, wenn aufeinanderfolgende Blöcke mit Logo beim Übergang als verbunden gelten sollen, auf 0 zum Deaktivieren
logo_filter=0							; Größe des Filters für schlechte Logo-Erkennung einstellen, 4 scheint ein guter Wert zu sein.
cut_on_ar_change=2						; auf 1 setzen, wenn auch bei Seitenverhältnis-Änderungen geschnitten werden soll, wenn Logo vorhanden ist, auf 2 setzen, um Schnitte bei Seitenverhältnis-Änderungen zu erzwingen, auf 0 zum Deaktivieren
delete_show_after_last_commercial=0		; auf 1 setzen, wenn der letzte Block gelöscht werden soll, falls es eine Sendung ist und nach einer Werbung
delete_show_before_or_after_current=0	; auf 1 setzen, wenn vorherige und nächste Sendung in der Aufnahme gelöscht werden sollen, kann zum Löschen von Trailern der nächsten Sendung führen
delete_block_after_commercial=0			; maximale Blockgröße in Sekunden zum Verwerfen einstellen, auf 0 zum Deaktivieren
remove_before=0							; Anzahl Sekunden der Sendung, die vor ALLEN Werbungen entfernt werden
remove_after=0							; Anzahl Sekunden der Sendung, die nach ALLEN Werbungen entfernt werden
shrink_logo=5							; Dauer des Logos um diese Sekunden verkürzen
after_logo=0							; Anzahl Sekunden nach dem Verschwinden des Logos, bevor comskip nach Stille sucht, um einen zusätzlichen Schnittpunkt einzufügen
padding=0
ms_audio_delay=5
volume_slip=20
skip_b_frames=0						; auf 1 setzen, um Comskip zu zwingen, Bilder zu überspringen für höhere Verarbeitungsgeschwindigkeit.
max_repair_size=200						; maximal 200 fehlende MPEG-Bilder in der Zeitleiste reparieren, auf 0 setzen zum Deaktivieren der Reparatur für Player, die kein PTS verwenden
disable_heuristics=255					; Bitmuster zum Deaktivieren von Heuristiken, 1 hinzufügen deaktiviert Heuristik 1, 2 hinzufügen deaktiviert Heuristik 2, 4 hinzufügen deaktiviert Heuristik 3, 255 deaktiviert alle Heuristiken
delete_logo_file=1						; auf 1 setzen, wenn comskip nach Abschluss aufräumen soll
output_framearray=0						; große Excel-Datei für detaillierte Analyse erstellen, auf 0 zum Deaktivieren
output_data=0							; Dump des User-Data-Kanals erstellen, wird für CC und XDS (wie V-Chip-Info) verwendet. Kann zusammen mit output_framearray für Remote-Debugging der CC-Dekodierung genutzt werden
output_videoredo=0						; das alte VideoReDo-Format
output_videoredo3=0						; das neue VideoReDo-v3-Format
output_womble=0
output_mls=0							; auf 1 setzen, wenn Ausgabe für MPEG Video Wizard Lesezeichen-Datei gewünscht
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						; auf 1 setzen, wenn DVRMS-Toolbox verwendet wird
output_edlx=0
output_vcf=0
output_bsplayer=0
output_btv=0							; auf 1 setzen, wenn Beyond-TV-Kapitel-Cutlist-Ausgabe gewünscht
output_projectx=0						; auf 1 setzen, wenn ProjectX-Cutlist-Ausgabe (Xcl) gewünscht
output_avisynth=0
output_vdr=0							; auf 1 setzen, wenn XBMC Werbung überspringen soll
output_demux=0							; auf 1 setzen, wenn comskip die MPEG-Datei während des Scans demuxen soll
sage_framenumber_bug=0
sage_minute_bug=0
live_tv=0								; auf 1 setzen, wenn parallele Verarbeitung verwendet wird und Ausgabe während der Aufnahme benötigt wird
live_tv_retries=4						; auf 16 ändern, wenn live_tv in BTV verwendet wird, genutzt für MPEG PS und TS
dvrms_live_tv_retries=300				; nur für DVR-MS verwendet
standoff=0								; auf 8000000 ändern, wenn live_tv in BTV verwendet wird
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 ; mehrere Threads zur Verarbeitung
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 danke! Ich probiere etwas für Dirty Jobs aus, es scheint die Werbung gut zu entfernen, außer dass es nun verweigert, das Ende der vorherigen Sendung zu schneiden, und die letzten 3 Minuten haben nun keinen Ton. Sobald MCEBuddy fertig ist, werde ich die von dir gepostete Version ausprobieren und sehen, was passiert – nochmals vielen Dank!

@Will_Tschumy aus irgendeinem Grund macht es nicht das, was du gesagt hast. Ich bin mir nicht sicher, ob ich die Infos richtig in die ini-Datei reingekopiert habe. Es hat die letzten 45–60 Sekunden von Family Guy abgeschnitten und ein paar Sekunden von ein paar Werbespots verpasst. Kannst du, wenn es dir nichts ausmacht, die echte ini-Datei posten?

EDIT: Ich habe es auch bei zwei anderen Sendungen probiert – es hat das Intro von der Steve-Harvey-Show komplett rausgeschnitten und einen Werbeblock bei „Autopsy: Last Hours of…“ nicht entfernt, außerdem wieder die letzte Minute oder so der Sendung abgeschnitten. Ich schätze, ich werde wieder ein paar Monate mit dem Feintuning verbringen, danke trotzdem. Wäre schön, wenn es einen einfacheren Weg gäbe als diesen Scheiß!

Wenn jemand Discord hat und mir beim Einrichten der comskip.ini helfen möchte, wäre das der Hammer!!!

comskip.ini (7,9 KB)

Hier ist es.

Die INIs sind sehr spezifisch – sie funktionieren gut für eine bestimmte Art von Sendung auf einem bestimmten Sender, versagen aber bei anderen. Ich weiß nicht, ob es eine Rolle spielt, aber ich verwende die Donor-Version von comskip. Kaashoek reagiert ziemlich schnell – du könntest auch in dessen Forum vorbeischauen. Ich habe etwas gefunden, das für mich gut funktioniert hat, und habe dann aufgehört, daran herumzuschrauben – ich denke, ich hatte einfach Glück…"

@Will_Tschumy danke, scheint jetzt zu funktionieren, allerdings friert das Video etwa auf halbem Weg nach einer Werbeunterbrechung ein. Das ist frustrierend. Kaum denke ich, ich komme voran, passiert etwas anderes, das mich zurückwirft. Ich weiß nicht mehr weiter. Ich habe auch die Donor-Version, bin momentan auf 2.5.6. Ich bin nicht der Einzige mit dem Video-Freeze-Problem – eine Google-Suche zeigt viele andere Betroffene. Ich fange an, mich zu fragen, ob es an MCEBuddy oder Comskip liegt.