Bench

Video Doctor

beta

Check a video for YouTube or any player — what is wrong, why it matters, and the fix, done in your browser

How it works

Open or drop an MP4, M4V or MOV and choose where it is going: a YouTube upload, or ordinary players. A quick check reads only the file's headers and index — a few megabytes wherever the file is 200 GB — and judges the structure (every sample accounted for, no two frames on one timestamp, no empty edit delaying the picture, no negative composition offsets, keyframe spacing, where the index sits), the codec parameters from the sample descriptions (H.264 or HEVC profile and level against what the picture size and rate need, chroma and bit depth, colour tags, the AAC object type, rate and channels, the bitrates) and the target's rules (YouTube's 256 GB and 12-hour limits, 8K at up to 60 fps, its recommended bitrate per resolution, 128 kbps sound or more). A full scan then reads every packet of every track through the demuxer and counts them against the index with timestamps in order, decodes the whole soundtrack with the ITU-R BS.1770-4 loudness meter running (so the report says how far from YouTube's −14 LUFS the sound sits), and decodes the picture with the browser's hardware decoder for a second around every irregular cut, at both ends and every ten minutes — the places where exports break. Each finding is a problem, a warning or a note, with what was observed, why it matters for the target and how it was detected, and a fix where one exists: two frames on one timestamp or an empty edit are repaired in place by rewriting only the index at the end of the file (the old index is downloaded first as a backup; the picture and sound are never touched); a quiet soundtrack is fixed by writing a copy with the sound re-levelled and limited at −1 dBFS while the picture is copied packet by packet; missing tags go to the MP4 tag editor; a codec, level, size or rate that cannot be patched goes to the Video Converter with the setting to change. The Video Editor runs the same doctor on every export it finishes, so a stalled upload is caught before it is uploaded. Everything runs in the browser; the file never leaves your device.

Questions

Why does YouTube leave a video in processing for hours?

Often it is just slow — an 8K upload of 100 GB or more can take a day — but a file whose index carries two frames on one timestamp, an empty edit before the first frame or negative composition offsets has stalled YouTube's processing indefinitely with nothing wrong with the picture. The doctor finds exactly those, says where they are, and repairs them in place in seconds. If the report is clean, the wait is on YouTube's side.

What is the difference between a quick check and a full scan?

Quick reads only the index at the end (or front) of the file: structure, codec parameters, the target's rules and the tags, in a second or two whatever the size. Full also reads every packet of every track, decodes the whole soundtrack and the picture around every cut — the checks that prove the data itself is sound. On a 200 GB 8K file that is a few minutes; on a phone video, seconds.

What can it fix, and what does it change?

Two frames on one timestamp and an empty edit are index defects: the repair rewrites only the index at the end of the file after downloading the old one as a backup, and the picture and sound bytes are byte-for-byte what they were. A quiet soundtrack is fixed by writing a new copy: the picture copied packet by packet, the sound decoded, raised or lowered to the target and encoded again. Missing tags are added by the MP4 tag editor. A wrong codec, profile, level, resolution or frame rate needs re-encoding, which the Video Converter does.

Which browsers can repair a file in place?

Chrome and Edge, through the File System Access API: open the file with the chooser or drop it from Finder or Explorer, and the repair writes into that file. In other browsers, and with files that arrive without a handle, the doctor still checks everything; the repair then needs the Video Editor's Files view or a remux.

How is the loudness judged?

The whole soundtrack is decoded and metered with the ITU-R BS.1770-4 algorithm (K-weighting, 400 ms blocks, absolute and relative gating) — the same measure YouTube's normalisation uses. YouTube plays everything at −14 LUFS and never turns a quiet upload up, so a file at −27 LUFS plays 13 dB under everything else; the fix raises it as far as the peaks allow.

Is anything uploaded?

No. Reading the index, demuxing, decoding and the repair all run in your browser with WebCodecs and the File System Access API. The file never leaves your device.