Communitygithub.com

VideoCaptioner — graver captions

Skill CLI : transcrire → optimiser/traduire → graver sous-titres stylés. ASR gratuit. README avec captures UI.

Qu'est-ce que VideoCaptioner — graver captions ?

Short-form étape 2 : graver captions pour feeds muets.

Compatible avec~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/WEIFENG2333/VideoCaptioner/tree/HEAD/skills

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

VideoCaptioner CLI

Sous-titrage vidéo assisté par IA : transcrire la parole → optimiser les sous-titres → traduire → incruster dans la vidéo avec un rendu élégant.

Quand l'utiliser

  • L'utilisateur souhaite ajouter des sous-titres à une vidéo
  • L'utilisateur souhaite transcrire un fichier audio/vidéo en texte
  • L'utilisateur souhaite traduire des sous-titres dans une autre langue
  • L'utilisateur souhaite personnaliser l'apparence des sous-titres (couleurs, polices, fonds arrondis)
  • L'utilisateur souhaite télécharger et sous-titrer des vidéos en ligne

Avant de commencer

Exécutez toujours videocaptioner <commande> --help en premier pour vérifier les dernières options et les valeurs par défaut avant d'exécuter une commande. Les exemples ci-dessous sont des motifs courants, mais --help est la source de vérité.

  • Installation : pip install videocaptioner
  • FFmpeg requis pour la synthèse vidéo (brew install ffmpeg sur macOS)
  • Gratuit (sans clé API) : transcription (bijian/jianying), traduction (Bing/Google)
  • Nécessite une clé API LLM : optimisation des sous-titres, re-segmentation des sous-titres, traduction LLM. Définir via la variable d'environnement OPENAI_API_KEY ou le paramètre --api-key

Scénarios courants

1. Ajouter des sous-titres anglais à une vidéo chinoise (une seule commande, tout gratuit)

videocaptioner process video.mp4 --asr bijian --translator bing --target-language en \
  --subtitle-mode hard --quality high -o output.mp4

2. Transcrire une vidéo en SRT (gratuit)

videocaptioner transcribe video.mp4 --asr bijian -o output.srt

# Sortie au format JSON vers un dossier
videocaptioner transcribe video.mp4 --asr bijian --format json -o ./subtitles/

3. Traduire des sous-titres existants

# Gratuit Bing → Anglais, sortie bilingue avec traduction au-dessus de l'original
videocaptioner subtitle input.srt --translator bing --target-language en --layout target-above -o translated.srt

# Gratuit Google → Japonais, traduction uniquement (supprime le texte original)
videocaptioner subtitle input.srt --translator google --target-language ja --no-optimize --layout target-only -o output_ja.srt

# Traduction LLM de haute qualité avec mode réflexif
videocaptioner subtitle input.srt --translator llm --target-language en --reflect \
  --api-key $OPENAI_API_KEY -o output_en.srt

4. Pipeline complet avec sous-titres stylisés

# Sous-titres style anime (couleur chaude + contour orange), vidéo haute qualité
videocaptioner process video.mp4 --asr bijian --translator bing --target-language ja \
  --subtitle-mode hard --style anime --quality high -o output_ja.mp4

# Sous-titres modernes avec fond arrondi
videocaptioner process video.mp4 --asr bijian --translator google --target-language ko \
  --subtitle-mode hard --render-mode rounded -o output_ko.mp4

# Couleurs personnalisées : texte blanc avec contour rouge, qualité ultra
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. Sous-titres uniquement, sortie au format ASS (sans synthèse vidéo)

videocaptioner process video.mp4 --asr bijian --translator bing --target-language en \
  --format ass --no-synthesize -o ./output/

6. Contrôle étape par étape (transcrire → traduire → synthétiser séparément)

# Étape 1 : Transcrire
videocaptioner transcribe video.mp4 --asr bijian -o video.srt

# Étape 2 : Traduire (bilingue, texte original au-dessus de la traduction)
videocaptioner subtitle video.srt --translator bing --target-language en --layout source-above -o video_en.srt

# Étape 3 : Incruster dans la vidéo avec fond arrondi, haute qualité
videocaptioner synthesize video.mp4 -s video_en.srt --subtitle-mode hard \
  --render-mode rounded --quality high -o video_with_subs.mp4

7. Traiter un fichier audio (ignore automatiquement la synthèse vidéo)

videocaptioner process podcast.mp3 --asr bijian --translator bing --target-language en -o ./output/

8. Transcrire d'autres langues (whisper-api)

videocaptioner transcribe french_video.mp4 --asr whisper-api \
  --whisper-api-key $OPENAI_API_KEY --language fr -o french.srt

9. Optimiser uniquement les sous-titres avec LLM (corriger les erreurs ASR, sans traduction)

videocaptioner subtitle raw_subtitle.srt --no-translate --api-key $OPENAI_API_KEY -o optimized.srt

10. Style de fond arrondi personnalisé avec police personnalisée

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 styled_video.mp4

Référence des commandes

CommandeObjectif
transcribeParole → sous-titres. Moteurs : bijian(gratuit) jianying(gratuit) whisper-api whisper-cpp
subtitleOptimiser (LLM) et/ou traduire (LLM/Bing/Google) des fichiers de sous-titres
synthesizeIncruster les sous-titres dans une vidéo avec des styles personnalisables
processPipeline complet : transcrire → optimiser → traduire → synthétiser
downloadTélécharger une vidéo depuis YouTube, Bilibili, etc.
configGérer les paramètres (show set get path init)
styleLister tous les styles de sous-titres prédéfinis avec leurs paramètres

Exécutez videocaptioner <commande> --help pour toutes les options.

Styles de sous-titres

Deux modes de rendu pour des sous-titres élégants :

Mode ASS (par défaut) — style contour/ombre :

  • Préréglages : default (blanc+contour noir), anime (chaud+contour orange), vertical (vidéos portrait)
  • Champs personnalisables : font_name, font_size, primary_color, outline_color, outline_width, bold, spacing, margin_bottom

Mode arrondi — boîtes de fond arrondies modernes :

  • Préréglage : rounded (texte foncé sur fond semi-transparent)
  • Champs personnalisables : font_name, font_size, text_color, bg_color (#rrggbbaa), corner_radius, padding_h, padding_v, margin_bottom

Les options de style fonctionnent uniquement avec --subtitle-mode hard.

Langues cibles

Codes BCP 47 : zh-Hans zh-Hant en ja ko fr de es ru pt it ar th vi id et 23 autres.

Variables d'environnement

VariableObjectif
OPENAI_API_KEYClé API LLM
OPENAI_BASE_URLURL de base de l'API LLM

Codes de sortie

0 succès · 2 mauvais arguments · 3 fichier introuvable · 4 dépendance manquante · 5 erreur d'exécution

Astuces

  • Utilisez -q pour le scripting (stdout = chemin du résultat uniquement)
  • La traduction Bing/Google est gratuite, aucune clé API nécessaire
  • Les ASR bijian/jianying sont gratuits mais ne prennent en charge que le chinois et l'anglais
  • Exécutez videocaptioner style pour voir tous les styles prédéfinis

Skills associés