Communitygithub.com

insaneyilin/html-video-demo

Crie e modifique vídeos de demonstração de software ou tutoriais técnicos com narração e legendas, usando html-video e o TTS local Qwen3, incluindo captura de interfaces reais, storyboard, audição de vozes, alinhamento de legendas e verificação final. Ideal para criar demonstrações a partir de documentação ou produtos existentes, bem como corrigir problemas como corte final de áudio, variações abruptas de tom entre segmentos e dessincronia de transições.

O que é html-video-demo?

Esta skill permite que você produza vídeos de demonstração de software com narração e legendas, utilizando a tecnologia html-video e o modelo de TTS local Qwen3 (baseado em MLX para Apple Silicon). Ela gerencia todo o fluxo de produção: desde a definição do conteúdo e storyboard, passando pela captura de interfaces reais, seleção e audição de vozes, síntese de áudio, alinhamento de legendas, até a renderização final do MP4 e verificação da sincronia. A ferramenta é projetada para ser executada localmente, sem depender de serviços de API externos, e é ideal para desenvolvedores que desejam criar vídeos a partir de projetos ou documentação existentes, garantindo que o resultado final corresponda ao que realmente existe na interface. Ela suporta modificações incrementais, como alterações de roteiro, imagens ou vozes, e oferece scripts de depuração para problemas comuns, como corte de áudio no final, repetições de tokens e dessincronia de transições. Os principais scripts são Python (para processamento de áudio com MLX) e Node.js (para composição e renderização HTML), e a skill é compatível com sistemas macOS (Apple Silicon) e ambientes Node.js.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/insaneyilin/html-video-skills/tree/HEAD/skills/html-video-demo

Perguntar na sua IA favorita

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

Documentação

HTML Vídeo e Narração Local

Entregue um MP4 reproduzível, legendas, um storyboard HTML editável e a configuração de geração. Baseie-se no projeto atual, nos materiais, na voz e no estilo do usuário; esses scripts não estão vinculados a nenhum agente de IA, conta ou serviço de API.

Antes de Iniciar

  • Leia a descrição do projeto alvo, os vídeos já existentes e as convenções de trabalho local para confirmar a funcionalidade real e o escopo da demonstração. Não mostre funcionalidades planejadas como se fossem implementadas.
  • Crie um diretório de projeto de vídeo independente, mantendo o código original, os dados de produção e os vídeos anteriores recuperáveis. Ao modificar um vídeo existente, leia primeiro a configuração mais recente e faça backup das saídas relacionadas.
  • Mantenha a voz já confirmada. Ao escolher uma nova, priorize a audição do mesmo trecho curto com volume equalizado; não peça repetidamente para o usuário confirmar uma opção já selecionada.
  • Na primeira execução ou ao trocar de máquina, leia Ambiente e Comandos. A implementação de áudio deste pacote requer Apple Silicon / MLX; a entrada de renderização Node é independente da implementação de áudio.

Fluxo de Produção

  1. Definir o conteúdo. Organize as ações que o espectador precisa entender em storyboards com causa e efeito claros. Cada cena deve ter uma informação principal, narração coloquial e reter texto chave na tela. Decida o número de cenas e a duração com base no conteúdo, sem seguir um modelo fixo de nove cenas ou dois minutos.
  2. Preparar materiais reais. Capture interfaces, screenshots parciais ou operações reais usando dados de demonstração. Siga as diretrizes de controle do navegador conforme o agente e o projeto atuais. Leia Imagens e Materiais e não reutilize screenshots de outros projetos, informações pessoais ou endereços internos.
  3. Definir a voz. Configure tom, estilo e idioma em project.json; ouça primeiro uma amostra curta da nova voz e depois gere em lote. Agrupe parágrafos semanticamente adjacentes em grupos de narração com limites claros, usando o mesmo tom, estilo e parâmetros de amostragem. Não alterne aleatoriamente a semente a cada frase, nem sintetize todo o texto infinito por padrão. Consulte os princípios de agrupamento em Narração e Alinhamento.
  4. Verificar conteúdo e temporização. Use um ASR independente para encontrar frases faltantes ou repetidas e, em seguida, use alinhamento forçado para localizar o texto original. Ambos têm funções diferentes: o alinhamento fornece tempo, mas não prova que as palavras foram ditas corretamente. Verifique homófonos, termos em inglês e os últimos caracteres.
  5. Organizar imagens de acordo com o som. Faça cortes nas pausas reais, garantindo que a última palavra termine completamente e deixe tempo suficiente para encerramento adequado ao conteúdo. O padrão de cerca de um segundo pode ser um ponto de partida para explicações técnicas. Destaques locais e gravações de operação devem seguir as marcações de voz, não os segundos fixos de versões anteriores.
  6. Renderizar com html-video. Primeiro verifique os quadros extraídos do HTML, depois exporte usando ContentGraph, ProjectOrchestrator e Hyperframes. Recursos externos devem ser localizados ou incorporados; animações devem usar window.__hvPlayAll() para evitar reprodução antecipada durante o carregamento de fontes. Consulte o protocolo em Imagens e Materiais.
  7. Verificar o vídeo final. Decodifique o MP4 completamente, confira a duração do áudio e vídeo e as trilhas de áudio em cada ponto de corte, depois verifique a reprodução no navegador, a navegação e as imagens. Apenas verificar arquivos WAV ou legendas não é suficiente para garantir a correção do vídeo final. Após aprovação, forneça pré-visualização local, MP4, legendas e arquivos-fonte.

Pontos de Entrada Executáveis

Todos os caminhos são fornecidos por parâmetros. Consulte Formato do Projeto para os campos completos. SKILL_DIR refere-se ao diretório desta skill, DEMO_PROJECT refere-se ao projeto de vídeo independente:

python "$SKILL_DIR/scripts/audio.py" init --project "$DEMO_PROJECT"
# Edite project.json, prepare assets/; execute audition se necessário.
python "$SKILL_DIR/scripts/audio.py" validate --project "$DEMO_PROJECT"
python "$SKILL_DIR/scripts/audio.py" synthesize --project "$DEMO_PROJECT"
python "$SKILL_DIR/scripts/audio.py" check-text --project "$DEMO_PROJECT"
python "$SKILL_DIR/scripts/audio.py" align --project "$DEMO_PROJECT"
node "$SKILL_DIR/scripts/compose.mjs" --project "$DEMO_PROJECT"
node "$SKILL_DIR/scripts/verify.mjs" --project "$DEMO_PROJECT" --stage scenes
node "$SKILL_DIR/scripts/render.mjs" --project "$DEMO_PROJECT"
node "$SKILL_DIR/scripts/verify.mjs" --project "$DEMO_PROJECT" --stage export
node "$SKILL_DIR/scripts/serve.mjs" --project "$DEMO_PROJECT"

Comandos de renderização, verificação de navegador e captura de tela do Node localizam o html-video instalado via HTML_VIDEO_ROOT ou --html-video. Use um Python em ambiente isolado; não instale dependências no Python do sistema.

Modificação e Depuração

  • Mudanças de roteiro: resintetize os grupos afetados, verifique, alinhe, construa e renderize. Mudanças de imagem ou layout: reconstrua, verifique as imagens, renderize. Mudança de voz: refaça o fluxo de som e temporização.
  • Limite de tokens de fala ou saída repetida: encurte o grupo problemático, mantendo os grupos já verificados. Não entregue resultados incompletos como sucesso; em caso de falhas contínuas, mantenha o diagnóstico e os materiais utilizáveis, explicando o bloqueio específico.
  • Último caractere incompleto: investigue na sequência "síntese original → comprimento de decodificação → normalização → concatenação → MP4". Adicionar silêncio não recupera sílabas que já foram cortadas. O script atual só ativa correções locais quando detecta comprimento anormal sem padding no Qwen3-12Hz; não modifica diretórios de instalação de terceiros. Leia Regressão de Final de áudio e Depuração.
  • Não transforme problemas de tom, cor, número de grupos ou defeitos de uma versão específica de biblioteca em requisitos fixos para todas as tarefas. Se usar outro TTS ou narração existente, mantenha as mesmas restrições de tempo, amostragem e verificação de exportação.
  • Publicar o vídeo final em plataformas externas, enviar dados comerciais ou notificar outras pessoas não faz parte das etapas de produção local padrão; execute conforme a autorização explícita do usuário.

Habilidades Relacionadas