O que Comparação de Edição de Vídeo faz?
Renderize o modo de comparação V1 único: original-vs-final-source-time.
O painel esquerdo reproduz o original continuamente. O painel direito projeta os pixels reais da entrega final de volta no relógio da fonte original. Intervalos descartados são pretos, intervalos finais mantidos são esticados para sua duração original, e o áudio é copiado do original.
Dependências
Requer ffmpeg/ffprobe no PATH e Python com Pillow. Verifique-os antes de processar a mídia.
Entradas
work/timeline.json: mapeamento cronológico canônico de fonte para programainput/original-video.mp4: fonte originalfinal/final-video.mp4: entrega real após todas as edições selecionadas
Não compare com um plano de corte ou uma renderização intermediária. Os pixels finais são necessários para que a revisão inclua correção de cor e cartelas.
Renderização
python scripts/make_compare.py TIMELINE.json SOURCE.mp4 FINAL.mp4 OUT.mp4 [--filter-only]
Exemplo de projeto:
python skills/video-edit-compare/scripts/make_compare.py `
work/timeline.json `
input/original-video.mp4 `
final/final-video.mp4 `
review/04-edit-compare/original-vs-final-source-time.mp4
O script sempre escreve o durável work/edit-compare/compare-plan.json. Ele escreve imagens de rótulo PIL e o filtergraph gerado sob o descartável work/cache/.
--filter-only cria o plano e os arquivos de cache inspecionáveis sem renderizar o vídeo.
Regras de Mapeamento
- Mantenha os clipes de origem cronológicos, sem sobreposição e de fonte única.
- Corte o
program_rangede cada clipe do vídeo final. - Estique-o pela velocidade do clipe para recuperar sua duração
source_range. - Insira preto para cada lacuna de tempo da fonte.
- Mapeie o áudio original sem reajustá-lo.
- Derive o quadro inicial e final de cada parte a partir de seus limites absolutos de tempo da fonte, depois corte para essa contagem de quadros e reconstrua o PTS no FPS racional da linha do tempo. Nunca arredonde cada duração de parte independentemente; a concatenação cumulativa com arredondamento causa desvio no tempo da fonte.
Linhas do tempo reordenadas, duplicadas, sobrepostas, com velocidade não linear ou com múltiplas fontes não são suportadas no V1 e devem falhar na validação.
Verificação
Após a renderização, o script verifica automaticamente a saída completa:
- duração igual a
source_duration_sdentro de um quadro; - largura da saída igual ao dobro da largura da fonte;
- toda amostra de intervalo descartado é preta no lado direito;
- amostras de intervalo mantido correspondem aos quadros do programa final correspondentes;
- áudio original permanece contínuo e no relógio da fonte.
Em caso de sucesso, ele escreve review/04-edit-compare/comparison-summary.md com um resultado de verificação aprovado. Quando work/project.json existe, ele também adiciona ou atualiza o nó de revisão original-vs-final-source-time, registra as revisões exatas das operações ativas em based_on e atualiza START-HERE.md. Não crie um manifesto de verificações separado.
Esta comparação é uma entrega de revisão, não uma pré-visualização padrão. Gere-a após a renderização final existir.