When the footage arrives broken
The day that starts badly
Sometimes the material is wrong before you have made a single decision. A file will not import. A clip plays but has no audio. Everything is in sync for a minute and then is not. A card reads as empty. This lesson is the triage list, in the order worth trying, and the honest note about which of these have no fix.
Variable frame rate
The most common problem in amateur footage, and the one that looks like something else. Phones, screen recorders, OBS captures and most game capture write variable frame rate: the file claims 30 fps but the actual interval between frames wanders.
The symptom is drift — sync is fine at the start and progressively wrong. Diagnose it:
ffprobe -v error -select_streams v:0 -show_entries \
stream=r_frame_rate,avg_frame_rate -of csv clip.mp4If r_frame_rate and avg_frame_rate differ — 30/1 against 29893/1000 — it is variable. Convert the whole shoot at offload:
ffmpeg -i clip.mp4 -vsync cfr -r 30 -c:v libx264 -crf 18 \
-preset medium -c:a aac -b:a 320k clip_cfr.mp4CRF 18 is visually near-lossless for H.264. HandBrake does the same job with a graphical interface and a Constant Framerate checkbox, and is free on every platform.
A file that will not import
In order:
- Play it in VLC. Free, and it plays things editors refuse. If VLC plays it, the file is fine and your editor lacks the codec.
- Check the codec with
ffprobe. Editors commonly refuse 10-bit HEVC, some variants of AV1, and anything with an unusual pixel format. - Transcode to an intermediate. This is the universal answer:
ffmpeg -i awkward.mp4 -c:v dnxhd -profile:v dnxhr_hq \
-pix_fmt yuv422p -c:a pcm_s16le converted.movDNxHR HQ is large and every editor opens it. ProRes 422 is the macOS equivalent.
- If VLC also refuses it, the file is damaged. Go to the next section.
A damaged or truncated file
A recording interrupted by a flat battery or a card pull often has no index — the data is there but the header that says where everything is was never written. Some of these are recoverable.
untruncis a free open-source tool that rebuilds a broken MP4 or MOV using a working file from the same camera with the same settings as a reference. It works surprisingly often.- Some cameras write a repair-on-next-power-up routine; putting the card back in and turning the camera on is worth trying before anything else.
ffmpeg -err_detect ignore_err -i broken.mp4 -c copy out.mp4sometimes extracts what is readable.
If the card itself reads as empty or unformatted, stop writing to it immediately and run a photo-recovery tool — PhotoRec is free, open source and cross-platform — which scans for file signatures rather than trusting the file table. Recovered clips arrive without names, in one pile, which is unpleasant but is better than nothing.
No audio, or audio on one side only
A lavalier plugged into a single camera input lands on one channel. The clip sounds fine on speakers and is silent in one earbud.
The fix is in the clip's audio configuration, not in a pan control: set the clip to mono and choose the channel that has signal. In Resolve this is Clip Attributes → Audio, setting the track format to Mono and selecting Source Channel 1. Doing it with a pan knob instead leaves you at half level and having to compensate.
No audio at all usually means the clip has an audio stream your editor cannot decode — some cameras write PCM in unusual layouts — in which case extract it and reattach:
ffmpeg -i clip.mov -vn -c:a pcm_s16le clip_audio.wavRolling shutter and other unfixables
Some problems are in the pixels and no tool removes them cleanly.
- Clipped highlights. Once a channel hit maximum, there is no detail to recover. Grading can roll the shoulder off so it is less offensive; it cannot invent the cloud.
- Clipped audio. Declipping tools interpolate the flattened peaks and can improve mild cases. Heavy clipping is destroyed.
- Missed focus. Sharpening raises acutance at the edges and raises noise everywhere. It does not restore detail.
- Rolling shutter skew. Stabilisers and dedicated rolling-shutter tools reduce it. Extreme cases — a propeller, a fast whip pan — stay bent.
Saying this clearly to a client on day one is far better than discovering it on delivery day. "That shot cannot be saved, here is what we do instead" is a professional answer.
A triage habit
Before you cut anything, play every clip through once at speed and watch for: black frames, sudden silence, sync slip, corrupted blocks. Fifteen minutes now. The alternative is finding the corruption at minute 43 of a fine cut, when the fix is expensive and the reshoot window has closed.
Today
Run the r_frame_rate against avg_frame_rate check on a video from your phone. If they differ, you have just found the cause of a sync problem you have probably already had.
The one thing to keep
Most broken footage falls into four fixable classes — variable frame rate, an unsupported codec, a missing index, and a mis-mapped audio channel — and the ones that are genuinely unrecoverable are clipped highlights, clipped audio and missed focus, which are worth naming to a client on day one.
Before you move on
A clip imports and plays, but at minute six the audio is clearly ahead of the picture, and the gap grew steadily from zero. `ffprobe` reports `r_frame_rate=30/1` and `avg_frame_rate=29897/1000`. What does that pair of numbers tell you?
Pick the one you would defend. Nobody sees your answer.