MP4 · MOV · Sem recodificar · Sem limite de tamanho
Removedor de metadados de vídeo
Um removedor de metadados de vídeo grátis para MP4 e MOV. Filmagens de celular carregam coordenadas GPS e o modelo do seu dispositivo exatamente como as fotos — remova sem recodificar um único quadro.
O que um celular escreve no seu vídeo
Um clipe gravado em um celular normalmente carrega um átomo de localização QuickTime com suas coordenadas no formato ISO 6709, marcas de criação e modificação nos cabeçalhos de filme e de faixa, a marca e o modelo do dispositivo e o nome do codificador. Aplicativos de edição acrescentam depois os próprios campos de título, comentário e artista.
Nada disso é visível quando o vídeo é reproduzido, e tudo isso viaja com o arquivo quando você o envia.
Por que não recodificamos
O jeito óbvio de tirar metadados de vídeo é passá-lo por um transcodificador. É isso que
ferramentas construídas sobre ffmpeg.wasm fazem, e isso tem três custos: é lento,
baixa dezenas de megabytes de WebAssembly e recomprime seu vídeo, então a saída fica
mensuravelmente pior que a entrada.
O contêiner permite uma abordagem melhor. Em MP4 e MOV, a tabela stco dentro de
moov guarda deslocamentos absolutos de bytes que apontam para a caixa
mdat, onde ficam os quadros. Apagar uma caixa de metadados deslocaria cada um
desses valores e quebraria o arquivo. Mas o formato define uma caixa free:
preenchimento que todo demultiplexador ignora. Então reescrevemos o tipo de cada caixa de
metadados para free, zeramos o conteúdo e deixamos o tamanho intacto. Nada se
move. Nada é decodificado.
O resultado é um arquivo com o mesmo comprimento do original, com quadros idênticos e sem metadados.
Streaming, não carregamento
Navegadores ficam sem memória com facilidade se você pedir que segurem um arquivo de 2 GB. Nós
nunca fazemos isso. As caixas de nível superior são percorridas lendo cabeçalhos de 16 bytes
via File.slice(), só a caixa moov é lida por inteiro, e a saída é
montada como uma lista de referências preguiçosas a trechos do arquivo original. O pico de
memória fica na casa de poucos megabytes, independentemente da duração do seu vídeo.
Perguntas