youtube/schnitt/ANLEITUNG.md
Lara c27a7ab9f5 Pino-Material aus Laras Chat und Plan-Dokument ins Repo übernehmen
Alle 44 Tabs des Plan-Dokuments (Drehbücher, Sprechtexte DE/ES/FR,
Clip-Prompts, Adventskalender, Kanaltexte, Produktionsliste) als Markdown
unter drehbuecher/, konzept/, ideen/ und veroeffentlichung/. Dazu Projektstand
und Entscheidungen (wissen/), Schnitt-Pipeline, Shorts-Katalog,
Figuren-Referenzbilder und das Kinderkanal-Team als Subagenten
(.claude/agents/). Videos, Startbilder und Ton bleiben außerhalb des Git.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-28 21:50:01 +01:00

5.8 KiB
Raw Permalink Blame History

Schnitt-Pipeline: Anleitung

Stand 27.10.2026. Alles liegt in C:\Users\lk-lo\Pino-Kanal\schnitt\.

Überblick

Datei / Ordner Zweck
pipeline\short_rendern.py Short (1080x1920) je Sprache aus einer Katalogzeile
pipeline\folge_exportieren.py Folge oder Türchen (1280x720) je Sprache
pipeline\letztes_bild.py letztes Bild eines Clips als PNG (für „Ende N“)
pipeline\laengen_check.py Video gegen Audio je Sprache, Bericht als Textdatei
pipeline\katalog_pruefen.py Katalog prüfen (Regeln, Längen, fehlende Clips, Abdeckung der Plätze)
pipeline\testlauf.py Selbsttest mit Dummy-Material (schreibt nur nach schnitt\test\)
katalog_shorts.csv Moment-Katalog (mit Excel öffnen, Trennzeichen Semikolon, UTF-8)
schnittlisten\schnittliste_vorlage.csv Vorlage für eine Folge/ein Türchen
ausgabe\ Standard-Ausgabe: shorts\, folgen\, startbilder\
berichte\ Textberichte der Läufe
tmp\ Zwischendateien (die Skripte räumen eigene Dateien selbst auf)

Aufruf

Immer mit python -I (isolierter Modus). In Git Bash oder PowerShell:

cd C:\Users\lk-lo\Pino-Kanal\schnitt\pipeline
python -I katalog_pruefen.py
python -I short_rendern.py --id S001 --audio-ordner C:\Users\lk-lo\Pino-Kanal\ton\shorts
python -I folge_exportieren.py --name f01 --schnittliste ..\schnittlisten\f01.csv --audio-ordner C:\Users\lk-lo\Pino-Kanal\ton\f01
python -I letztes_bild.py --clip f01_c08
python -I laengen_check.py --name f01 --export-ordner ..\ausgabe\folgen

--trocken zeigt nur die ffmpeg-Befehle an. --help bei jedem Skript zeigt alle Optionen. ffmpeg wird unter dem WinGet-Pfad gefunden (Umgebungsvariable PINO_FFMPEG_ORDNER überschreibt ihn).

Namensregeln

  • Clips: f01_c09.mp4 (Folge 1, Clip 9), t09_c03.mp4 (Türchen 9, Clip 3), k_05.mp4 (Baustein, z. B. k_01_kerze3.mp4). Ordner: clips\folge01, clips\folge02, clips\folge03, clips\tuerchen, clips\bausteine. Wiederverwendete Clips immer unter dem Original-Namen nennen (Folge 2 Clip 54 = f01_c54).
  • Clip-Listen im Katalog und in Schnittlisten: f01_c08-13 = Clip 8 bis 13, mehrere mit Komma: f01_c08-09, f01_c11-13.
  • Audio je Sprache: S001_de.wav, S001_es.wav, S001_fr.wav (Shorts) bzw. f01_de.wav … (Folgen). Auch mp3/m4a/flac. Standard-Ordner, wenn nichts angegeben ist: Pino-Kanal\ton\shorts (noch nicht angelegt, per --audio-ordner änderbar).
  • Ausgabe: S001_de.mp4 bzw. f01_de.mp4, Startbilder f01_c08_ende.png.

Short rendern

  1. Zeile in katalog_shorts.csv (siehe Spalten unten), Clips vorhanden, Audio je Sprache vorhanden.
  2. python -I short_rendern.py --id S001,S002 --audio-ordner <Ordner> (oder --alle für alle Zeilen mit Status offen).
  3. Ohne Katalog: --clips "f01_c08-13" --modus blur --audio de=a.wav es=b.wav fr=c.wav --name probe.

Was passiert: Clips mit 0,5 s Überblendung aneinander, Zuschnitt crop (Mitte per crop_x 0 bis 1) oder blur (scharfes 16:9-Bild in der Mitte, unscharfer Rahmen), tempo 0,8 bis 1, dann start_s/ende_s auf der entstandenen Folge, 1 s Ausblenden am Ende (Bild und Ton), Sprache (+ optional --musik, leise, wird bei Sprache abgesenkt), zweistufig auf −14 LUFS. Jede Sprache wird so lang wie ihr Ton (+0,8 s). Ist der Ton länger als die Clips, wird das letzte Bild gehalten, ab 3 s mit Warnung. Pro Clip können modus und crop_x mit | getrennt angegeben werden (crop|blur|blur).

Katalog-Spalten: id; quelle; clips; tempo; start_s; ende_s; modus; crop_x; musik; thema; titel_de; titel_es; titel_fr; frueheste_veroeffentlichung; fenster; ton_hinweis; status_de; status_es; status_fr. fenster A = bis 27.11., B = bis 10.12., C = danach. status_*: offen, gerendert, eingeplant, veröffentlicht (von Hand pflegen).

Folge / Türchen exportieren

  1. Schnittliste nach schnittlisten\f01.csv kopieren (Vorlage) und ausfüllen: Clip, Ausschnitt, tempo, halten_s (Standbild, z. B. 3 für Mitmachpause), uebergang_s.
  2. Ton je Sprache als fertige Spur (Sprache und Lieder schon an der richtigen Stelle, mit den Pausen).
  3. python -I folge_exportieren.py --name f01 --schnittliste ..\schnittlisten\f01.csv --audio-ordner <Ordner>.

Eine Bildspur für alle Sprachen. Die Länge richtet sich nach der längsten Sprache; alle Fassungen werden gleich lang. Das Skript warnt, wenn das Bild am Ende mehr als 3 s gehalten werden muss, wenn eine Sprache mehr als 8 s vor Bildende endet oder wenn die Sprachen mehr als 20 % auseinanderliegen. Dann besser eine Schnittliste je Sprache: --schnittliste ..\schnittlisten\f01_{lang}.csv (dann entsteht je Sprache eine eigene Bildspur). Mehr als 70 Clips in einer Schnittliste werden abgelehnt: die Gesamtfolge aus fertigen Türchen-Exporten zusammensetzen.

Letztes Bild

python -I letztes_bild.py --clip f01_c08 f01_c09 oder --ordner folge01 schreibt f01_c08_ende.png (Original-Auflösung, verlustfrei). Das ist das Startbild für Clip 9.

Längen-Check

  • Vorab: --name f01 --schnittliste … --audio-ordner … (Bildlänge gegen Ton je Sprache, Differenz in Sekunden).
  • Nachher: --name f01 --export-ordner ..\ausgabe\folgen (Auflösung, Bild- und Tonlänge, Lautheit, True Peak).
  • Bericht: berichte\laengen_<name>_<zeit>.txt. Rückgabecode 1 = es gibt Warnungen.

Sicherheitsregeln der Skripte

  • Geschrieben wird nur unter schnitt\. Andere Ziele (z. B. Pino-Kanal\shorts) nur mit --ausserhalb, z. B. --ausgabe C:\Users\lk-lo\Pino-Kanal --ausserhalb (dann entstehen shorts\, folgen\, startbilder\ dort).
  • Vorhandene Dateien werden nicht überschrieben (--ueberschreiben erlaubt es).
  • Clips und Audio werden nur gelesen.

Zielwerte

−14 LUFS integriert, True Peak höchstens −1,5 dBFS, AAC 192 kbit/s, 48 kHz, H.264 CRF 18, 24 fps. Shorts 20 bis 45 s, Ende ruhig. Kein eingebrannter Text, Untertitel nur als eigene SRT.