CLI do VideoCaptioner
Legenda de vídeo com tecnologia AI: transcrever fala → otimizar legendas → traduzir → queimar no vídeo com estilos bonitos.
Quando usar
- O usuário deseja adicionar legendas a um vídeo
- O usuário deseja transcrever áudio/vídeo para texto
- O usuário deseja traduzir legendas para outro idioma
- O usuário deseja personalizar a aparência das legendas (cores, fontes, fundos arredondados)
- O usuário deseja baixar e legendar vídeos online
Antes de começar
Sempre execute videocaptioner <comando> --help primeiro para verificar as opções e padrões mais recentes antes de executar um comando. Os exemplos abaixo são padrões comuns, mas --help é a fonte da verdade.
- Instalação:
pip install videocaptioner - FFmpeg necessário para síntese de vídeo (
brew install ffmpegno macOS) - Grátis (sem chave de API): transcrição (bijian/jianying), tradução (Bing/Google)
- Requer chave de API LLM: otimização de legendas, reestruturação de legendas, tradução por LLM. Definido pela variável de ambiente
OPENAI_API_KEYou pelo parâmetro--api-key
Cenários comuns
1. Dar legendas em inglês a um vídeo chinês (um comando, tudo grátis)
videocaptioner process video.mp4 --asr bijian --translator bing --target-language en \
--subtitle-mode hard --quality high -o output.mp4
2. Transcrever um vídeo para SRT (grátis)
videocaptioner transcribe video.mp4 --asr bijian -o output.srt
# Saída no formato JSON para um diretório
videocaptioner transcribe video.mp4 --asr bijian --format json -o ./legendas/
3. Traduzir legendas existentes
# Bing grátis → Inglês, saída bilíngue com tradução acima do original
videocaptioner subtitle input.srt --translator bing --target-language en --layout target-above -o translated.srt
# Google grátis → Japonês, apenas tradução (descarta texto original)
videocaptioner subtitle input.srt --translator google --target-language ja --no-optimize --layout target-only -o output_ja.srt
# Tradução LLM de alta qualidade com modo reflexivo
videocaptioner subtitle input.srt --translator llm --target-language en --reflect \
--api-key $OPENAI_API_KEY -o output_en.srt
4. Fluxo completo com legendas estilizadas bonitas
# Legendas estilo anime (cor quente + contorno laranja), vídeo de alta qualidade
videocaptioner process video.mp4 --asr bijian --translator bing --target-language ja \
--subtitle-mode hard --style anime --quality high -o output_ja.mp4
# Legendas modernas com fundo arredondado
videocaptioner process video.mp4 --asr bijian --translator google --target-language ko \
--subtitle-mode hard --render-mode rounded -o output_ko.mp4
# Cores personalizadas: texto branco com contorno vermelho, qualidade 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. Apenas legenda, saída no formato ASS (sem síntese de vídeo)
videocaptioner process video.mp4 --asr bijian --translator bing --target-language en \
--format ass --no-synthesize -o ./saida/
6. Controle passo a passo (transcrever → traduzir → sintetizar separadamente)
# Passo 1: Transcrever
videocaptioner transcribe video.mp4 --asr bijian -o video.srt
# Passo 2: Traduzir (bilíngue, texto original acima da tradução)
videocaptioner subtitle video.srt --translator bing --target-language en --layout source-above -o video_en.srt
# Passo 3: Queimar no vídeo com fundo arredondado, alta qualidade
videocaptioner synthesize video.mp4 -s video_en.srt --subtitle-mode hard \
--render-mode rounded --quality high -o video_com_legendas.mp4
7. Processar arquivo de áudio (ignora automaticamente a síntese de vídeo)
videocaptioner process podcast.mp3 --asr bijian --translator bing --target-language en -o ./saida/
8. Transcrever outros idiomas (whisper-api)
videocaptioner transcribe french_video.mp4 --asr whisper-api \
--whisper-api-key $OPENAI_API_KEY --language fr -o french.srt
9. Apenas otimizar legendas com LLM (corrigir erros de ASR, sem tradução)
videocaptioner subtitle raw_subtitle.srt --no-translate --api-key $OPENAI_API_KEY -o optimized.srt
10. Estilo de fundo arredondado personalizado com fonte personalizada
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 video_estilizado.mp4
Referência de comandos
| Comando | Propósito |
|---|---|
transcribe | Fala → legendas. Motores: bijian(grátis) jianying(grátis) whisper-api whisper-cpp |
subtitle | Otimizar (LLM) e/ou traduzir (LLM/Bing/Google) arquivos de legenda |
synthesize | Queimar legendas em vídeo com estilos personalizáveis |
process | Fluxo completo: transcrever → otimizar → traduzir → sintetizar |
download | Baixar vídeo do YouTube, Bilibili etc. |
config | Gerenciar configurações (show set get path init) |
style | Listar todos os estilos de legenda predefinidos com parâmetros |
Execute videocaptioner <comando> --help para opções completas.
Estilos de legenda
Dois modos de renderização para legendas bonitas:
Modo ASS (padrão) — estilo contorno/sombra:
- Predefinições:
default(branco+contorno preto),anime(quente+contorno laranja),vertical(vídeos retrato) - Campos personalizáveis:
font_name,font_size,primary_color,outline_color,outline_width,bold,spacing,margin_bottom
Modo Rounded — caixas de fundo arredondadas modernas:
- Predefinição:
rounded(texto escuro em fundo semitransparente) - Campos personalizáveis:
font_name,font_size,text_color,bg_color(#rrggbbaa),corner_radius,padding_h,padding_v,margin_bottom
Opções de estilo funcionam apenas com --subtitle-mode hard.
Idiomas alvo
Códigos BCP 47: zh-Hans zh-Hant en ja ko fr de es ru pt it ar th vi id e mais 23.
Variáveis de ambiente
| Variável | Propósito |
|---|---|
OPENAI_API_KEY | Chave de API LLM |
OPENAI_BASE_URL | URL base da API LLM |
Códigos de saída
0 sucesso · 2 argumentos ruins · 3 arquivo não encontrado · 4 dependência ausente · 5 erro de execução
Dicas
- Use
-qpara scripts (stdout = apenas o caminho do resultado) - Tradução Bing/Google é grátis, nenhuma chave de API necessária
- ASR
bijian/jianyingé grátis, mas só suporta Chinês e Inglês - Execute
videocaptioner stylepara ver todas as predefinições de estilo