Keyframes explicados: porque o corte nem sempre cai onde o definiu
Define o início do clipe exatamente aos 4,2 segundos, exporta, e o resultado começa aos 4,0. Não está nada avariado. Acabou de esbarrar na forma como a compressão de vídeo funciona.
Nem todos os fotogramas são iguais
Um arquivo de vídeo não guarda uma imagem completa para cada fotograma — seria enorme. Em vez disso, a compressão aproveita o facto de fotogramas consecutivos serem quase idênticos. Se alguém fala para uma câmara fixa, o fundo não muda entre o fotograma 100 e o 101, por isso não há razão para o guardar duas vezes.
Os codificadores produzem então três tipos de fotograma:
Fotogramas I (intra-codificados, os chamados keyframes) guardam uma imagem completa e podem ser descodificados sozinhos, sem referência a nada.
Fotogramas P (preditos) guardam apenas as diferenças em relação a um fotograma anterior. Sem esse fotograma de referência, não significam nada.
Fotogramas B (bidirecionais) guardam diferenças em relação a fotogramas anteriores e posteriores. Comprimem ainda melhor e dependem ainda mais dos vizinhos.
Uma codificação típica coloca um fotograma I a cada um a dez segundos, com dezenas de fotogramas P e B pelo meio. Esse conjunto chama-se GOP.
Porque isto limita onde pode cortar
Para começar a reprodução num determinado instante, o descodificador precisa de uma imagem completa de onde partir — ou seja, de um fotograma I. Se o ponto escolhido cai num fotograma P, não há nada contra o qual o reconstruir, porque descartou os fotogramas de que ele depende.
Restam duas opções, e cada ferramenta escolhe uma.
Opção 1: cópia direta, ou corte sem perdas
A ferramenta copia os dados comprimidos para um novo arquivo sem os descodificar. Nada é recomprimido, portanto não há perda nenhuma de qualidade, e é extremamente rápido — muitas vezes quase instantâneo, mesmo em arquivos grandes.
A limitação é que os cortes só podem cair em fotogramas I. Pede 4,2 segundos e recebe o keyframe anterior mais próximo, talvez 4,0. Se a codificação usar keyframes espaçados, esse desvio pode chegar a alguns segundos.
Opção 2: recodificar
A ferramenta descodifica o vídeo, descarta os fotogramas que não quer e codifica um arquivo novo com um keyframe exatamente no ponto escolhido. O corte fica preciso ao fotograma.
O custo é tempo e perda geracional. Recodificar é muito mais lento, porque cada fotograma tem de ser descodificado e comprimido outra vez. E como formatos como o H.264 têm perdas, recomprimir vídeo já comprimido descarta mais algum detalhe. Uma passagem costuma ser invisível; repetidas acumulam-se.
Qual escolher
Na maior parte dos cortes, a precisão ao fotograma importa menos do que se pensa. Se está a remover alguns segundos de silêncio no início de uma gravação, cair em 4,0 em vez de 4,2 é irrelevante, e a rapidez e a preservação de qualidade compensam largamente.
A precisão importa quando o corte faz trabalho criativo: cair numa batida, num gesto, numa palavra específica. Aí a recodificação justifica o custo.
Um hábito prático: corte sem perdas quando estiver a remover desperdício, e recodifique quando o fotograma exato tiver significado.
Como obter cortes mais precisos
Se controla a gravação original, pode encurtar o intervalo entre keyframes na codificação. A maioria dos programas expõe isto como “intervalo de keyframes” ou “tamanho do GOP”. Um keyframe por segundo dá pontos de corte sem perdas muito mais finos, com um custo modesto em tamanho. Os gravadores de tela costumam usar intervalos longos por omissão, e é precisamente por isso que o seu material é difícil de cortar com precisão.
Em resumo
O corte deslocou-se porque a compressão guarda a maioria dos fotogramas como diferenças em relação a outros, e um clipe tem de começar num fotograma independente. As ferramentas ou saltam para o mais próximo, mantendo-se rápidas e sem perdas, ou reconstroem o vídeo para colocar um exatamente onde pediu. Nenhuma das duas está errada.