1 Punkte von kmg28801 4 시간 전 | Noch keine Kommentare. | Auf WhatsApp teilen

Weil ich neu im Videoschnitt bin und für ein Video jeweils einen halben Tag brauchte, habe ich den Schnittprozess per Code automatisiert.

Als Eingabe genügt eine einzige YAML-Datei, in der pro Szene narration / visual / callout eingetragen ist.
Mit einer Zeile python3 src/pipeline.py scenario.yaml config.yaml entsteht eine fertige mp4-Datei.

Pipeline (Python):

  • Skript → TTS-Narration (say / Supertone / ElevenLabs austauschbar, Ergebnisse werden gecacht)
  • Untertitel-Timing wird automatisch passend zur Länge der Narration verteilt, Narration = Untertitel identisch
  • Untertitel und Callouts werden als PNG gerendert und per Overlay eingeblendet (gewählt, weil dieser ffmpeg-Build kein libass/drawtext hat — Pixelkontrolle für koreanische Konturen und Positionen ist so sogar einfacher)
  • Vertikal aufgenommene Smartphone-Videos werden mit unscharfem Hintergrund-Padding automatisch ans Seitenverhältnis angepasst (per einer config-Zeile zwischen 16:9 ↔ 9:16 Shorts)
  • Narration concat + BGM-Mix (BGM wird automatisch auf das Videoende zugeschnitten + Fade → verhindert einen „schwarzen Schwanz“)
  • Am Ende des Renderings automatische Prüfung auf Längen-Drift und Helligkeit des letzten Frames

Es ist speziell für faceless Untertitelvideos gedacht, und ich erstelle tatsächlich mit diesem Tool Videos für meinen YouTube-Kanal.

Einschränkungen: Die Untertitel sind nicht wortgenau synchronisiert, sondern szenenweise (proportionale Verteilung nach Zeichenzahl).
Außerdem wurde es unter der Annahme gebaut, dass in dieser Umgebung ffmpeg ohne libass läuft; daher ist PNG-Overlay der Standardweg.

Ziel ist nicht, einen perfekten Editor zu ersetzen, sondern „Skript → Rohvideo“ praktisch in 0 Sekunden zu erzeugen und so die Kosten wiederholter Produktion zu eliminieren.

Smoke-Test (ohne Keys, mit macOS-say-Stimme die gesamte Pipeline prüfen):
python3 -m pip install -r requirements.txt
python3 demo/make_placeholders.py
python3 src/pipeline.py demo/scenario.yaml demo/config.yaml

MIT. Feedback ist willkommen.

Noch keine Kommentare.

Noch keine Kommentare.