VideoCaptioner CLI
KI-gestützte Videobeschriftung: Sprache transkribieren → Untertitel optimieren → übersetzen → mit schönen Stilen in Video einbrennen.
Wann verwenden
- Benutzer möchte einem Video Untertitel hinzufügen
- Benutzer möchte Audio/Video in Text transkribieren
- Benutzer möchte Untertitel in eine andere Sprache übersetzen
- Benutzer möchte das Erscheinungsbild von Untertiteln anpassen (Farben, Schriftarten, abgerundete Hintergründe)
- Benutzer möchte Online-Videos herunterladen und untertiteln
Bevor Sie beginnen
Führen Sie immer zuerst videocaptioner <Befehl> --help aus, um die neuesten Optionen und Standardeinstellungen zu überprüfen, bevor Sie einen Befehl ausführen. Die folgenden Beispiele sind gängige Muster, aber --help ist die maßgebliche Quelle.
- Installation:
pip install videocaptioner - FFmpeg wird für die Videosynthese benötigt (
brew install ffmpegauf macOS) - Kostenlos (kein API-Schlüssel): Transkription (bijian/jianying), Übersetzung (Bing/Google)
- Erfordert LLM-API-Schlüssel: Untertiteloptimierung, Untertitel-Neusegmentierung, LLM-Übersetzung. Setzen Sie die Umgebungsvariable
OPENAI_API_KEYoder das Flag--api-key.
Häufige Szenarien
1. Einem chinesischen Video englische Untertitel geben (ein Befehl, alles kostenlos)
videocaptioner process video.mp4 --asr bijian --translator bing --target-language en \
--subtitle-mode hard --quality high -o output.mp4
2. Ein Video in SRT transkribieren (kostenlos)
videocaptioner transcribe video.mp4 --asr bijian -o output.srt
# Ausgabe als JSON-Format in ein Verzeichnis
videocaptioner transcribe video.mp4 --asr bijian --format json -o ./untertitel/
3. Vorhandene Untertitel übersetzen
# Kostenlos Bing → Englisch, zweisprachige Ausgabe mit Übersetzung über dem Original
videocaptioner subtitle input.srt --translator bing --target-language en --layout target-above -o translated.srt
# Kostenlos Google → Japanisch, nur Übersetzung (Originaltext verwerfen)
videocaptioner subtitle input.srt --translator google --target-language ja --no-optimize --layout target-only -o output_ja.srt
# Hochwertige LLM-Übersetzung mit reflexivem Modus
videocaptioner subtitle input.srt --translator llm --target-language en --reflect \
--api-key $OPENAI_API_KEY -o output_en.srt
4. Komplette Pipeline mit schön gestalteten Untertiteln
# Anime-Stil-Untertitel (warme Farbe + orangefarbene Kontur), hochwertiges Video
videocaptioner process video.mp4 --asr bijian --translator bing --target-language ja \
--subtitle-mode hard --style anime --quality high -o output_ja.mp4
# Moderne abgerundete Hintergrund-Untertitel
videocaptioner process video.mp4 --asr bijian --translator google --target-language ko \
--subtitle-mode hard --render-mode rounded -o output_ko.mp4
# Benutzerdefinierte Farben: weißer Text mit roter Kontur, Ultra-Qualität
videocaptioner process video.mp4 --asr bijian --translator bing --target-language en \
--subtitle-mode hard --quality ultra \
--style-override '{"outline_color": "#ff0000", "primary_color": "#ffffff"}' -o output_en.mp4
5. Nur Untertitel, Ausgabe im ASS-Format (keine Videosynthese)
videocaptioner process video.mp4 --asr bijian --translator bing --target-language en \
--format ass --no-synthesize -o ./ausgabe/
6. Schrittweise Kontrolle (Transkribieren → Übersetzen → Synthetisieren separat)
# Schritt 1: Transkribieren
videocaptioner transcribe video.mp4 --asr bijian -o video.srt
# Schritt 2: Übersetzen (zweisprachig, Originaltext über Übersetzung)
videocaptioner subtitle video.srt --translator bing --target-language en --layout source-above -o video_en.srt
# Schritt 3: Mit abgerundetem Hintergrund in Video einbrennen, hohe Qualität
videocaptioner synthesize video.mp4 -s video_en.srt --subtitle-mode hard \
--render-mode rounded --quality high -o video_mit_untertiteln.mp4
7. Audiodatei verarbeiten (überspringt automatisch die Videosynthese)
videocaptioner process podcast.mp3 --asr bijian --translator bing --target-language en -o ./ausgabe/
8. Andere Sprachen transkribieren (whisper-api)
videocaptioner transcribe french_video.mp4 --asr whisper-api \
--whisper-api-key $OPENAI_API_KEY --language fr -o french.srt
9. Nur Untertitel mit LLM optimieren (ASR-Fehler korrigieren, keine Übersetzung)
videocaptioner subtitle raw_subtitle.srt --no-translate --api-key $OPENAI_API_KEY -o optimized.srt
10. Benutzerdefinierter abgerundeter Hintergrundstil mit benutzerdefinierter Schriftart
videocaptioner synthesize video.mp4 -s subtitle.srt --subtitle-mode hard \
--style-override '{"text_color": "#ffffff", "bg_color": "#000000cc", "corner_radius": 10, "font_size": 36}' \
--font-file ./NotoSansSC.ttf --quality high -o gestyltes_video.mp4
Befehlsreferenz
| Befehl | Zweck |
|---|---|
transcribe | Sprache → Untertitel. Engines: bijian(kostenlos) jianying(kostenlos) whisper-api whisper-cpp |
subtitle | Untertiteldateien optimieren (LLM) und/oder übersetzen (LLM/Bing/Google) |
synthesize | Untertitel mit anpassbaren Stilen in Video einbrennen |
process | Komplette Pipeline: transkribieren → optimieren → übersetzen → synthetisieren |
download | Video von YouTube, Bilibili usw. herunterladen |
config | Einstellungen verwalten (show set get path init) |
style | Alle Untertitel-Stilvorlagen mit Parametern auflisten |
Führen Sie videocaptioner <Befehl> --help für alle Optionen aus.
Untertitel-Stile
Zwei Rendering-Modi für schöne Untertitel:
ASS-Modus (Standard) — Kontur-/Schattenstil:
- Vorlagen:
default(weiß+schwarze Kontur),anime(warm+orange Kontur),vertical(Hochformat-Videos) - Anpassbare Felder:
font_name,font_size,primary_color,outline_color,outline_width,bold,spacing,margin_bottom
Abgerundeter Modus — moderne abgerundete Hintergrundboxen:
- Vorlage:
rounded(dunkler Text auf halbtransparentem Hintergrund) - Anpassbare Felder:
font_name,font_size,text_color,bg_color(#rrggbbaa),corner_radius,padding_h,padding_v,margin_bottom
Stiloptionen funktionieren nur mit --subtitle-mode hard.
Zielsprachen
BCP-47-Codes: zh-Hans zh-Hant en ja ko fr de es ru pt it ar th vi id und 23 weitere.
Umgebungsvariablen
| Variable | Zweck |
|---|---|
OPENAI_API_KEY | LLM-API-Schlüssel |
OPENAI_BASE_URL | LLM-API-Basis-URL |
Exit-Codes
0 Erfolg · 2 Falsche Argumente · 3 Datei nicht gefunden · 4 Fehlende Abhängigkeit · 5 Laufzeitfehler
Tipps
- Verwenden Sie
-qfür Skripte (stdout = nur Ergebnis-Pfad) - Bing/Google-Übersetzung ist kostenlos, kein API-Schlüssel erforderlich
bijian/jianyingASR ist kostenlos, unterstützt aber nur Chinesisch und Englisch- Führen Sie
videocaptioner styleaus, um alle Stilvorlagen zu sehen