Files
abdulive/config/layout.yaml
T
ZeasyAlexandClaude Opus 5 974dfd075b S4: Untertitel aus der Mikrofonspur, plus vorgegebenes OBS-Layout
whisper.cpp laeuft ueber die Tonspur und liefert Tokens; daraus werden
Woerter mit Zeitstempeln (Wortstuecke wie "Sav"+"ina" wieder zusammengesetzt)
und daraus kurze Zeilen im ASS-Format mit wortweiser Hervorhebung. SRT und
Transkript fallen nebenbei ab.

An einem echten deutschen Clip geprueft. Drei Fehler kamen erst dabei heraus:
Zeilen mit einem einzigen Wort bei zoegerndem Sprechen, ein Nachlauf, der in
die naechste Zeile ragte (ASS stapelt gleichzeitige Zeilen uebereinander),
und ein Uebertragsfehler im Zeitformat bei 59,999 s.

Layout wird jetzt VORGEGEBEN statt nachgemessen: ein Vergleich zweier
Aufnahmen zeigte, dass die Facecam von Stream zu Stream anders liegt. Das
Profil "default" beschreibt die Vorgabe (Facecam 480x270 oben links, Chat ab
x=1405, Gameplay-Band 890 breit mittig auf x=960), "bestand-2026-09" haelt
den alten Zustand fuer altes Material fest. Dazu eine Ausrichtungsvorlage als
Bild, die in OBS ueber die Szene gelegt wird, und docs/obs-layout.md.

Befund am echten Clip: im Streambild sind bereits zwei Textebenen eingebrannt
(Spieluntertitel und ein Live-Caption-Overlay). Beides ist im Layout-Dokument
behandelt.

53 Tests gruen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013VTGjd92LsDDWF3frd9FTB
2026-09-09 10:55:54 +02:00

62 lines
2.2 KiB
YAML

# Bildaufteilung fuer den 9:16-Zuschnitt.
# Alle Werte in Koordinaten des fertigen Streambildes 1920x1080.
#
# Nachmessen: docker compose run --rm toolkit calibrate
# Anleitung fuer OBS: docs/obs-layout.md
source:
width: 1920
height: 1080
target:
width: 1080
height: 1920
profiles:
# ------------------------------------------------------------------
# Das VORGEGEBENE Layout. Abdu richtet OBS danach aus, nicht umgekehrt.
# Vorlage zum Ausrichten: docs/assets/obs-layout-vorlage.png
#
# Die Zahlen sind so gewaehlt, dass sie fuer beide Formate gleichzeitig
# aufgehen: die Facecam ist 16:9 (kein Streifenschnitt noetig), das
# Gameplay-Band liegt mittig auf x=960 (dort passiert die Handlung), und
# zwischen Kamera und Band bleiben 35 px Luft.
# ------------------------------------------------------------------
default:
description: >
Vorgegebenes Layout. Facecam 480x270 buendig oben links, Chat und
Alerts erst ab x=1405, dazwischen das Gameplay-Band.
cam:
# Ganze Kamera, unveraendert - sie ist bereits 16:9
crop: { x: 0, y: 0, w: 480, h: 270 }
band: { w: 1080, h: 608 }
game:
# 890 breit, mittig auf x=960. Beginnt bei 515, also 35 px rechts
# neben der Kamera; endet bei 1405, wo die Chatspalte anfaengt.
crop: { x: 515, y: 0, w: 890, h: 1080 }
band: { w: 1080, h: 1312 }
# 608 + 1312 = 1920
# Vergroesserung: Kamera 2,25x, Gameplay 1,21x
# ------------------------------------------------------------------
# Was am 2026-09-05 tatsaechlich im Bild war. Nur als Rueckfalloption,
# solange OBS noch nicht umgestellt ist - zum Nachrendern alter Clips:
# docker compose run --rm toolkit render <datei> bestand-2026-09
# ------------------------------------------------------------------
bestand-2026-09:
description: >
Aus einem VOD-Screenshot eingemessen, bevor das Layout vorgegeben
wurde. Facecam 4:3 und deshalb nur als Streifen nutzbar; Chat-Overlay
begann bereits bei x=1270.
cam:
crop: { x: 0, y: 100, w: 440, h: 208 }
band: { w: 1080, h: 512 }
game:
crop: { x: 440, y: 0, w: 828, h: 1080 }
band: { w: 1080, h: 1408 }