Communitygithub.com

kaylon-he/video-subtitle-skill

Adiciona legendas automáticas gravadas (hardcoded) a um arquivo de vídeo ou URL, gerando um MP4 legendado e um arquivo SRT. Use quando o usuário solicitar legendagem ou legenda em um vídeo. Não use para editar legendas existentes.

O que é video-subtitle-skill?

Esta skill automatiza o processo de adicionar legendas hardcoded a vídeos, sendo útil para desenvolvedores e usuários que precisam legendar conteúdo em vídeo de forma eficiente. Ela suporta a transcrição de áudio usando whisper.cpp, gerando um arquivo SRT que é convertido para ASS (Advanced SubStation Alpha) com formatação otimizada para fontes CJK (Chinês, Japonês, Coreano), incluindo quebra automática de linhas e fundo semitransparente centralizado. O fluxo de trabalho começa extraindo o áudio do vídeo em formato WAV mono de 16 kHz, transcrevendo-o e, em seguida, queimando as legendas no vídeo usando ffmpeg com suporte a libass. A skill também oferece opções como definir o idioma do áudio, ajustar o tamanho da fonte e gerar apenas o arquivo SRT sem queimar as legendas. É importante revisar a transcrição antes da entrega final, pois nomes, lugares e expressões idiomáticas podem ser transcritos incorretamente. Além disso, deve-se evitar usar a versão simplificada do ffmpeg do Homebrew, que não possui suporte a libass, e verificar a integridade das legendas no vídeo final.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add kaylon-he/video-subtitle-skill

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Video Subtitle

Adiciona legendas automaticamente a um vídeo e as grava na imagem, gerando um "MP4 com legendas + SRT".

Fluxo de Trabalho

  1. Extrair áudio WAV mono de 16 kHz (ffmpeg)
  2. whisper.cpp transcreve e gera SRT (whisper-cli)
  3. SRT → ASS: quebra automática de linha com base na largura do vídeo, fonte CJK, fundo semitransparente centralizado na parte inferior
  4. Queimar ASS com ffmpeg que tenha libass, copiar faixa de áudio diretamente

Uso

bash scripts/add_subtitles.sh input.mp4 -o output.mp4 -l zh
  • -l/--language Idioma do áudio de origem, padrão zh, pode ser auto
  • -f/--fontsize Tamanho da fonte, padrão 42
  • -s/--srt-only Apenas gerar SRT, sem queimar legendas

Obrigações

  • Revise o texto transcrito antes de entregar: O script exibirá o SRT no terminal. Nomes de pessoas, lugares e expressões idiomáticas geralmente são reconhecidos incorretamente (ex.: "重阳姐" → "重阳节", "久久重扬" → "九九重阳"). Se houver erros, use -s para gerar uma nova versão, corrija o SRT e depois queime as legendas.
  • Verifique o produto final: Extraia 2–3 quadros do vídeo final (-ss <segundos> -frames:v 1) para confirmar que as legendas estão completas e não foram cortadas ou excedem os limites.
  • Não use o ffmpeg simplificado do Homebrew: Essa versão não possui libass, e todos os filtros subtitles/ass/drawtext estão ausentes. O script selecionará automaticamente um ffmpeg com libass; veja instruções de instalação no README.md.
  • Frases longas devem ser quebradas: ASS usa WrapStyle: 2 (reconhece apenas \N). O srt_to_ass.py já insere automaticamente \N com base em largura da tela / tamanho da fonte. Se alguma frase ainda exceder, reduza o tamanho da fonte com -f.

Dependências do Ambiente

ffmpeg (com libass) + whisper-cli + modelo ggml + python3. Caso estejam faltando, o script fornecerá mensagens de erro claras. A lista completa de bibliotecas, comandos de instalação e instruções de solução de problemas estão em README.md.

Habilidades Relacionadas