Vai al contenuto

MP4 · MOV · Senza ricodifica · Senza limiti di dimensione

Rimuovere i metadati dai video

Un rimuovi-metadati gratuito per video MP4 e MOV. I filmati da telefono contengono coordinate GPS e il modello del tuo dispositivo esattamente come le foto: toglili senza ricodificare un solo fotogramma.

Cosa scrive un telefono nel tuo video

Una clip registrata con un telefono contiene di solito un atomo di posizione QuickTime con le tue coordinate in formato ISO 6709, marche temporali di creazione e modifica nelle intestazioni del filmato e delle tracce, marca e modello del dispositivo e il nome dell’encoder. Le app di montaggio aggiungono poi i propri campi di titolo, commento e artista.

Nulla di ciò è visibile durante la riproduzione, e tutto viaggia con il file quando lo invii.

Perché non ricodifichiamo

Il modo ovvio di togliere i metadati da un video è farlo passare per un transcodificatore. È ciò che fanno gli strumenti costruiti su ffmpeg.wasm, e ha tre costi: è lento, scarica decine di megabyte di WebAssembly e ricomprime il tuo video, quindi il risultato è misurabilmente peggiore dell’originale.

Il contenitore rende possibile un approccio migliore. In MP4 e MOV la tabella stco dentro moov contiene offset di byte assoluti che puntano al box mdat dove vivono i fotogrammi. Eliminare un box di metadati sposterebbe ognuno di quegli offset e romperebbe il file. Ma il formato definisce un box free: riempimento che ogni demuxer salta. Così riscriviamo il tipo di ogni box di metadati in free, azzeriamo il contenuto e lasciamo intatta la dimensione. Nulla si sposta. Nulla viene decodificato.

Il risultato è un file della stessa lunghezza dell’originale, con fotogrammi identici e senza metadati.

Streaming, non caricamento

I browser esauriscono volentieri la memoria se chiedi loro di tenere un file da 2 GB. Noi non lo facciamo mai. I box di primo livello vengono percorsi leggendo intestazioni da 16 byte con File.slice(), solo il box moov viene letto per intero, e l’output è assemblato come un elenco di riferimenti differiti a intervalli del file originale. Il picco di memoria resta di pochi megabyte, indipendentemente dalla durata del video.

Domande

Domande frequenti

Pulire un video lo ricodifica?
No, ed è questa la parte importante. Ricodificare un video è lento e lo degrada visibilmente. Non tocchiamo mai il flusso video: gli atomi di metadati vengono sostituiti da riempimento `free` standard esattamente della stessa dimensione, e le marche temporali azzerate sul posto. Ogni offset di chunk continua a risolversi, quindi non un solo fotogramma viene ricompresso.
Quanto può essere grande un video da pulire?
Molto grande. Il file non viene mai caricato in memoria. Leggiamo solo il box `moov` — di solito qualche centinaio di kilobyte anche in una clip da più gigabyte —, lo correggiamo e ricomponiamo l’output da riferimenti differiti al file originale.
Quali metadati contengono davvero i video?
Più di quanto ci si aspetti. I telefoni scrivono le coordinate GPS in un atomo di posizione QuickTime, oltre a marche temporali di creazione e modifica, marca e modello del dispositivo e l’encoder usato. I software di montaggio aggiungono titoli, commenti e campi artista.
Quali formati video sono supportati?
MP4 e MOV, che insieme coprono praticamente tutto ciò che produce un telefono o una fotocamera. Entrambi usano lo stesso contenitore ISO Base Media File Format, che è ciò che il motore capisce. MKV, AVI e WebM non sono ancora supportati.