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