Untertitel und Bildunterschriften
Die meisten sozialen Videos werden stumm angeschaut. Untertitel sind Teil des Schnitts, kein Extra.
1. Transkribieren
# openai-whisper (pip install openai-whisper)
whisper audio.mp3 --model small --language en --output_format srt --output_dir captions/
# faster-whisper (pip install faster-whisper): schneller, weniger Speicher, Wort-Zeitstempel
python - <<'PY'
from faster_whisper import WhisperModel
model = WhisperModel("small", compute_type="int8")
segments, info = model.transcribe("audio.mp3", word_timestamps=True, vad_filter=True)
for s in segments:
for w in s.words:
print(f"{w.start:.2f}\t{w.end:.2f}\t{w.word}")
PY
Zuerst sauberes Audio extrahieren, um bessere Ergebnisse zu erzielen:
ffmpeg -i video.mp4 -vn -ac 1 -ar 16000 audio.wav
Die Modellgröße ist ein Kompromiss zwischen Genauigkeit und Geschwindigkeit: base < small < medium < large. Verwenden Sie small oder medium für Englisch, large für schwere Akzente oder andere Sprachen.
Falls das Skript bereits existiert (Sie haben die Sprachausgabe daraus generiert), vertrauen Sie nicht der Wortwahl des Transkripts. Verwenden Sie den Skripttext und nutzen Sie Whisper nur für das Timing (erzwungene Ausrichtung). So bleiben Namen und Zahlen exakt.
2. Text korrigieren
Korrekturlesen von Eigennamen, Produktnamen, Zahlen. Whisper hört diese oft falsch. Fragen Sie den Benutzer nach einem Glossar, wenn das Thema technisch ist.
3. Untertiteldateien schreiben
SRT:
1
00:00:00,000 --> 00:00:02,400
Die meisten Builds scheitern am Freitag.
2
00:00:02,400 --> 00:00:05,100
Hier ist der Grund.
Lesbarkeitsregeln:
- Maximal 2 Zeilen, etwa 42 Zeichen pro Zeile (bei vertikalen Videos etwa 20).
- Lesegeschwindigkeit unter 17 Zeichen pro Sekunde; Mindestlänge einer Einblendung 1 Sekunde.
- Satzweise umbrechen, nicht mitten im Satz. Niemals einen Namen über Einblendungen hinweg aufteilen.
- Einblendungen dürfen sich nicht überlappen. Lassen Sie eine Lücke von 2 Frames oder keine.
4. Einbrennen
# Weiches Styling mit force_style (SRT)
ffmpeg -i in.mp4 -vf "subtitles=captions.srt:force_style='FontName=Arial,FontSize=22,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=1,Outline=2,Alignment=2,MarginV=60'" -c:a copy out/captioned.mp4
# ASS bietet volle Kontrolle (Karaoke-Wort-Highlighting, Positionen, Animationen)
ffmpeg -i in.mp4 -vf "ass=captions.ass" -c:a copy out/captioned.mp4
Windows-Pfad-Falle: In Filtern den Laufwerksbuchstaben mit einem Backslash escapen und forward Slashes verwenden (subtitles='C\:/work/captions.srt'), oder FFmpeg aus dem Ordner ausführen, der die Datei enthält, und einen relativen Pfad verwenden.
5. Wort-Highlight-Stil für Kurzformate
Eine ASS-Datei mit je einem Ereignis pro Wortgruppe (2 bis 4 Wörter) erstellen, und das \k-Karaoke-Tag oder eine wortweise Farbüberschreibung verwenden, sodass das aktive Wort die Farbe wechselt. Typisches Aussehen: fette serifenlose Schrift, weiße Schrift, schwarze Kontur von 3 bis 4 Pixel, aktives Wort in einem Akzent der Marke, platziert im unteren mittleren Drittel, nicht ganz unten (die Plattform-UI deckt es ab).
Minimaler ASS-Header als Startpunkt:
[Script Info]
ScriptType: v4.00+
PlayResX: 1080
PlayResY: 1920
[V4+ Styles]
Format: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,OutlineColour,BackColour,Bold,Italic,Underline,StrikeOut,ScaleX,ScaleY,Spacing,Angle,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,Encoding
Style: Default,Arial,72,&H00FFFFFF,&H0000D7FF,&H00000000,&H64000000,-1,0,0,0,100,100,0,0,1,4,0,2,60,60,520,1
[Events]
Format: Layer,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text
Dialogue: 0,0:00:00.00,0:00:01.20,Default,,0,0,0,,{\k30}Most {\k40}builds {\k30}fail
Farben in ASS sind &HAABBGGRR (Reihenfolge Blau-Grün-Rot, Alpha zuerst).
6. Ausliefern
- Eingebrannte Version für soziale Plattformen.
- Eine separate
.srt- oder.vtt-Datei für YouTube, LinkedIn und Webplayer (Zuschauer können ein- und ausschalten und übersetzen). - Weiche Untertitelspur in MP4:
-i captions.srt -c copy -c:s mov_text.
Übersetzen
Übersetzen Sie den Text der Einblendungen, nicht das Timing. Beachten Sie die Zeilenbegrenzung pro Sprache (Deutsch und Finnisch werden länger, also neu umbrechen). Lassen Sie die Übersetzung von einem Muttersprachler prüfen, wenn das Video öffentlich ist.