cli-anything-videocaptioner
Ferramenta de legendagem de vídeo com IA. Transcreva fala → otimize legendas → traduza → grave no vídeo.
Instalação
pip install cli-anything-videocaptioner
Pré-requisitos:
- Python 3.10-3.12 (
videocaptioner1.4.1 requer>=3.10,<3.13) videocaptionerdeve estar instalado (pip install videocaptioner)- FFmpeg necessário para síntese de vídeo
Uso
Comandos Básicos
# Mostrar ajuda
cli-anything-videocaptioner --help
# Iniciar modo interativo REPL
cli-anything-videocaptioner
# Transcrever um vídeo (gratuito, sem configuração)
cli-anything-videocaptioner transcribe video.mp4 --asr bijian
# Traduzir legendas (tradutor Bing gratuito)
cli-anything-videocaptioner subtitle input.srt --translator bing --target-language en
# Pipeline completo: transcrever → traduzir → gravar legendas
cli-anything-videocaptioner process video.mp4 --asr bijian --translator bing --target-language en --subtitle-mode hard
# Revisar consistência entre legendas e roteiro antes da gravação final
cli-anything-videocaptioner synthesize video.mp4 -s subtitles.srt \
--subtitle-mode hard \
--review-script approved_script.txt
# Renderizar uma prévia de um quadro das legendas para revisão
cli-anything-videocaptioner review subtitles.srt \
--script approved_script.txt \
--preview-video video.mp4 \
--preview-output review_5s.png
# Saída JSON (para consumo por agentes)
cli-anything-videocaptioner --json transcribe video.mp4 --asr bijian
Modo REPL
Quando invocado sem um subcomando, o CLI entra em uma sessão interativa REPL:
cli-anything-videocaptioner
# Digite comandos interativamente com conclusão por tab e histórico
Grupos de Comandos
transcribe — Fala para legendas
transcribe <input> [--asr bijian|jianying|whisper-api|whisper-cpp] [--language CODE] [--format srt|ass|txt|json] [-o PATH]
bijian(padrão): Gratuito, chinês e inglês, sem configuraçãowhisper-api: Todos os idiomas, requer--whisper-api-key
subtitle — Otimizar e traduzir
subtitle <input.srt> [--translator llm|bing|google] [--target-language CODE] [--layout target-above|source-above|target-only|source-only] [--no-optimize] [--no-translate] [-o PATH]
- Três etapas: Dividir → Otimizar → Traduzir
- Tradutores Bing/Google são gratuitos
- 38 idiomas-alvo suportados (códigos BCP 47)
synthesize — Gravar legendas no vídeo
synthesize <video> -s <subtitle> [--subtitle-mode soft|hard] [--quality ultra|high|medium|low] [-o PATH] [--review-script PATH] [--max-script-diff-ratio FLOAT]
- Espelha a superfície de síntese do backend estável
- A aparência da legenda é controlada pelo ativo/versão do backend, não por sinalizações extras do harness
--review-scriptverifica desvio entre legenda e roteiro antes da exportação final- Reduza
--max-script-diff-ratioquando a precisão da cópia for mais importante que a resiliência
process — Pipeline completo
process <input> [--asr ...] [--translator ...] [--target-language ...] [--subtitle-mode ...] [--layout ...] [--no-optimize] [--no-translate] [--no-synthesize] [-o PATH]
review — Verificação de consistência e prévia
review <input.srt|input.ass> [--script PATH] [--max-diff-ratio FLOAT] [--preview-video PATH] [--preview-at TC] [--preview-output PATH]
- Detecta desvio entre legenda e roteiro antes de uma gravação hard
- Pode renderizar um único quadro de revisão em vez de produzir um vídeo final completo
styles — Listar predefinições de estilo
styles
- Informa se o backend instalado expõe suporte a estilos predefinidos
config — Gerenciar configurações
config show
config set <key> <value>
download — Baixar vídeo online
download <URL> [-o DIR]
Saída JSON
Todos os comandos suportam --json para saída legível por máquina:
cli-anything-videocaptioner --json transcribe video.mp4 --asr bijian
# {"output_path": "/path/to/output.srt"}
Notas do Backend
- O backend upstream atualmente requer Python
>=3.10,<3.13; prefira Python3.12para execuções em matriz. - Sinalizações de estilo avançadas em tempo de síntese dependem da versão do backend. Use
stylespara verificar se o backend instalado as expõe. - Sinalizações de compatibilidade como
layout,render_mode,style,style_overrideefont_filedevem ser tratadas como não estáveis, a menos questylese o backend instalado confirmem que são suportadas.
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.