Última atualização
Um vídeo MP4 é mais que um fluxo de imagens e som. Em volta ficam caixas que registram onde o clipe foi gravado, com qual dispositivo, quando, que software mexeu nele e, às vezes, uma trilha inteira de leituras de sensores. Um removedor de metadados de MP4 copia o vídeo e o áudio para um arquivo novo e deixa essas caixas para trás. Nada é decodificado nem recodificado, então a qualidade não pode mudar. Adicione um MP4 acima, leia o que ele continha e baixe a cópia limpa. Arquivos MP4 são processados no nosso servidor e apagados em minutos.
Como um arquivo MP4 é organizado
O MP4 é feito de caixas, cada uma com um tipo de quatro caracteres e um comprimento. As caixas se aninham umas dentro das outras, e a maior parte dos dados pessoais está em poucas delas.
| Caixa | O que contém | No arquivo limpo |
|---|---|---|
ftyp | O tipo de arquivo e as marcas compatíveis | Mantida |
mdat | O vídeo e o áudio comprimidos, chamados de dados de mídia | Mantida, bit a bit |
moov | O índice: como achar e reproduzir cada amostra | Reconstruído para as trilhas copiadas |
mvhd, tkhd, mdhd | Horários de criação e modificação, durações, configurações de trilha | Horários gravados como vazios; durações e configurações mantidas |
udta e meta com ilst | Tags como título, artista, comentário, data e codificador | Removidas |
©xyz dentro de udta | A posição GPS como texto, por exemplo +37.7749-122.4194/ | Removida |
Chaves mdta em meta | Dados do dispositivo e do software, como a versão do Android | Removidas |
| Nomes de manipulador e títulos de trilha | Nomes de trilhas, como “VideoHandler” | Removidos, depois redefinidos para padrões simples |
| Trilhas de metadados temporizados e telemetria | GPS, velocidade e leituras de sensores guardadas como trilhas extras | Removidas |
uuid | Histórico de edição XMP, credenciais de conteúdo (C2PA) | Removido |
| Capítulos | Nomes e horários de capítulos | Removidos |
free, skip | Preenchimento | Deixado para trás |
Trilhas de vídeo, áudio e legendas são copiadas. Qualquer coisa que não seja um desses três tipos de trilha não é.
De onde vêm os dados pessoais
- Celulares Android costumam gravar a posição GPS na caixa
©xyz, e muitas vezes tags com a versão do sistema operacional e a taxa de quadros da captura. - Câmeras de ação como a GoPro gravam uma trilha de telemetria com GPS, aceleração e leituras de giroscópio junto com o vídeo.
- Drones e câmeras de painel guardam dados de voo ou de direção em trilhas extras ou em arquivos auxiliares, conforme o modelo.
- Editores e codificadores gravam o próprio nome e versão e, às vezes, um pacote XMP com detalhes do projeto.
- Gravadores de tela e ferramentas de videoconferência acrescentam o nome do aplicativo e um horário de criação.
O que permanece e o que notamos nos testes
Construímos arquivos MP4 com um codificador padrão e um gravador de metadados, limpamos com o código de produção e comparamos os fluxos com e sem a limpeza. Os fluxos de vídeo e áudio foram idênticos bit a bit em todos os casos.
- Um arquivo com título, tag de localização, títulos de trilha, capítulos e uma caixa XMP: tudo sumiu, e o relatório não mostrou nada restante.
- Duas trilhas de áudio: ambas mantidas, na ordem. Códigos de idioma como
engefrasão mantidos, porque não dizem nada sobre uma pessoa e os players os usam para escolher uma trilha. Títulos de trilha são removidos. - Legendas de texto: mantidas, com o código de idioma e sem o título.
- Um MP4 fragmentado do tipo usado em streaming: limpo, reproduz normalmente, fluxo de vídeo idêntico.
- Capa: uma imagem guardada no arquivo como segunda trilha de vídeo é mantida como está. Confira você mesmo essa imagem, porque ela pode carregar dados próprios.
- Rotação: mantida, para que clipes em pé continuem em pé.
Alguns codificadores de software também gravam o próprio nome e configurações dentro do fluxo comprimido. O x264, por exemplo, coloca uma string de configurações no vídeo H.264. Isso faz parte do fluxo, e removê-lo exigiria recodificar, então fica. Ele identifica o codificador, não você.
Nomes de arquivo e datas no seu disco
A cópia limpa é um arquivo novo. Ela recebe o nome do original com “-clean” acrescentado, e o seu computador lhe dá hoje como data de modificação. Nenhuma dessas coisas é metadado dentro do vídeo, e nenhuma muda a limpeza, mas um arquivo chamado casa-de-praia-lahore.mp4 ainda diz onde foi filmado. Renomeie-o antes de enviar.
Reproduzindo o arquivo limpo na web
O FFmpeg grava o índice (moov) depois dos dados de mídia por padrão, e a nossa saída segue isso, como mostra a ordem de caixas ftyp free mdat moov em um arquivo limpo. Players e servidores web lidam bem com isso, mas um navegador precisa buscar o fim do arquivo antes de começar a reproduzir, o que é lento num servidor básico. Se você vai colocar o clipe na sua própria página, mova o índice para o início com mais uma etapa de cópia, que não recodifica nada:
ffmpeg -i clean.mp4 -c copy -movflags +faststart web.mp4Limpe um MP4 em quatro passos
- Não precisa de conta para começar. Visitantes podem limpar 3 vídeos por mês, uma conta gratuita 10.
- Adicione o MP4. Arraste-o para qualquer lugar da página ou escolha-o. O envio mostra o progresso.
- Espere alguns segundos. O servidor copia as trilhas para um arquivo limpo e examina o resultado.
- Baixe e leia o relatório. Ele lista as tags encontradas e quantas restam. Limpo verificado só aparece quando nenhuma resta.
| Plano | Maior arquivo | Vídeos por mês |
|---|---|---|
| Visitante, sem conta | 25 MB | 3 |
| Conta gratuita | 25 MB | 10 |
| Starter | 100 MB | 100 |
| Pro | 500 MB | 1,000 |
| Business | 1,000 MB | 10,000 |
Para um clipe maior do que o seu plano permite, faça a mesma operação você mesmo com o FFmpeg:
ffmpeg -i input.mp4 -map 0:v -map 0:a -dn -map_metadata -1 -map_metadata:s:v -1 -map_metadata:s:a -1 -map_chapters -1 -c copy -fflags +bitexact clean.mp4-map 0:s? se precisar delas.Confira o resultado você mesmo
ffprobe -v error -show_entries format_tags:stream_tags -of json clean.mp4
exiftool -a -G1 -s clean.mp4language e nomes de manipulador padrão como VideoHandler e SoundHandler, que o próprio FFmpeg grava. Não deve haver localização, make, model, title, comment nem creation_time.A página do removedor de metadados de vídeo explica a ferramenta inteira para MP4, MOV, MKV e WebM, e a página de MOV cobre arquivos de iPhone e QuickTime. Para vários clipes de uma vez, a API e o servidor MCP trabalham com pastas inteiras.
Perguntas frequentes
Limpar um MP4 reduz a qualidade do vídeo?
Não. O vídeo e o áudio são copiados sem serem decodificados nem recodificados, e nos nossos testes os fluxos limpos foram idênticos bit a bit aos originais.
Meu MP4 é enviado?
Sim. O vídeo precisa do FFmpeg, então o arquivo é enviado por HTTPS para o nosso servidor. O original é apagado assim que a limpeza termina, a cópia limpa é apagada em até 15 minutos, e nunca abrimos o conteúdo.
Ele remove a localização GPS de um vídeo do Android?
Sim. A caixa de posição ©xyz e as tags de localização são removidas, assim como trilhas de telemetria separadas guardadas no arquivo.
Ele remove a data em que o vídeo foi gravado?
Sim. As datas das tags são removidas e os horários de criação e modificação nos cabeçalhos do arquivo são gravados como vazios. Uma data que apareça na imagem ou no nome do arquivo permanece.
Por que meus rótulos de idioma e legenda mudaram?
Os códigos de idioma são mantidos. Títulos de trilha e nomes de manipulador são removidos, então uma trilha chamada “Comentário em inglês” vira uma trilha sem título com o idioma eng. As trilhas de legenda são mantidas.
Ele remove a imagem de capa dentro de um MP4?
Não. A capa guardada como trilha de imagem é copiada como está. Se a própria imagem carrega dados pessoais, troque-a antes de limpar.
Por que ainda vejo o nome de um codificador no arquivo?
Alguns codificadores gravam o próprio nome e configurações dentro do fluxo comprimido. Um limpador que copia os fluxos não consegue mudar isso sem recodificar, e ele identifica software, não você.
Vídeos em pé continuarão em pé?
Sim. A configuração de rotação é mantida.
Por que o MP4 limpo demora a começar no meu site?
O índice fica no fim do arquivo. Execute o comando de cópia mostrado acima com -movflags +faststart para movê-lo para o início sem recodificar.