Video metadata lives in the container, not the frames
An MP4 or MOV file is a tree of boxes (also called atoms). The compressed video and audio sit in one box; everything describing the recording sits in others. That separation is what makes lossless cleaning possible.
The boxes that carry identifying information are:
- The QuickTime location tag
- An ISO 6709 coordinate string. This is what an iPhone writes when you record with location services enabled.
- The 3GPP loci box
- Used by Android devices and by ffmpeg. It holds coordinates plus an optional place name.
- ilst and keys
- Apple’s metadata pair, carrying device model, software version, comments and custom tags.
- uuid boxes
- Containers for XMP editing history and C2PA content credentials, which record the editing chain and AI-generation provenance.
- mvhd, tkhd and mdhd headers
- Header boxes holding creation and modification timestamps for the movie and each individual track.
Why re-encoding is the wrong tool
The usual advice is to run the file through a converter, which does remove metadata — as a side effect of decoding every frame and compressing it again.
That costs you real quality. Every re-encode of lossy video discards detail permanently, and the generational loss compounds if the file is ever processed again. It is also slow, turning an instant operation into minutes of CPU work, and it changes the file size, the bitrate and often the audio.
None of that is necessary. The frames were never the problem.
How lossless container editing works
There is a complication: an MP4 file contains a sample table with absolute byte offsets pointing at every frame. Delete a box from the middle of the file and every one of those offsets shifts, and the file no longer plays.
The fix is not to delete. A metadata box is relabelled as “free” — the standard padding type that players skip — and its contents are overwritten with zeroes. The box still occupies exactly the same number of bytes, so every offset in the sample table remains correct, and the data is genuinely gone rather than merely unreferenced.
The result is a file whose frames are bit-identical to the original, whose size is unchanged, and which plays in exactly the same players. Cleaning completes in the time it takes to read the file.
What stays, and what that means
Everything needed for playback is preserved: codec configuration, resolution, frame rate, duration, the audio track and the sample tables themselves. A cleaned video is indistinguishable from the original to a player.
What is removed is the layer describing the recording rather than the recording itself — where it was shot, on what, with which software, and when.