AskClean

Beschadigde video repareren

Scan een MP4 of MOV op beschadigde frames, zie precies waar het bestand kapot is en maak een gerepareerde kopie die afspeelt. Alles gebeurt op je apparaat; niets wordt geüpload.

Wat deze pagina precies controleert

Kies een video en deze pagina loopt de hele stream door op zoek naar frames met kapotte gegevens, en laat op een tijdlijn zien waar ze zitten. Repareren schrijft een nieuw bestand weg met alleen de frames die goed decoderen, zodat het resultaat afspeelt zonder te haperen. Alles draait op je eigen apparaat — er wordt niets geüpload.

In een MP4 of MOV wordt elk H.264- of HEVC-frame opgeslagen als een keten: een lengtegetal, dan zoveel bytes aan beeldgegevens, dan de volgende lengte, enzovoort tot de gegevens van het frame op zijn. Die keten moet precies op het einde uitkomen. Is een lengte nul, of wijst die voorbij het punt waar de gegevens ophouden, dan zijn de bytes van dat frame niet wat het bestand beweert.

Na het controleren van de pakketlengtes decodeert de tool elke groep frames. Mislukt het decoderen, dan wordt die groep uitgesloten en gaat de controle verder bij het volgende keyframe; de tijdlijn markeert de hele getroffen groep, omdat niet altijd bekend is welk frame precies faalt.

Heb je ooit een kapotte video door ffmpeg gehaald en Invalid NAL unit size (0 > 1241) voorbij zien komen, dan is dat precies dezelfde toestand. Spelers reageren er meestal op door te haperen, stukken over te slaan of blokkerige vegen in beeld te tonen — want meer kunnen ze niet met bytes die er niet zijn.

Voor de controle is een decoder voor de codec van de video nodig. Een browser die de video niet kan decoderen, kan ook een gerepareerde kopie niet controleren.

Twee soorten schade, en ze zien er verschillend uit

Frames met beschadigde gegevens. Er zijn verkeerde bytes weggeschreven — door een onderbroken kopie naar een USB-stick, een geheugenkaart die het begeeft of een synchronisatie die halverwege stopte. De lengte en de index van het bestand zijn intact en de video opent normaal, maar losse frames erin zijn onbruikbaar. Op de tijdlijn verschijnen die als markeringen, verspreid over de plekken waar de schade zit.

Video die te vroeg ophoudt. Een download of overdracht is voortijdig gestopt. De header noemt nog steeds de oorspronkelijke lengte, dus spelers tonen een tijdbalk over de volledige duur, maar de beeldgegevens houden halverwege gewoon op. Deze pagina herkent dat door de lengte die het bestand opgeeft te vergelijken met het laatste frame dat echt bereikbaar is — op de tijdlijn is dat één grijs blok aan het eind.

Het loont om die twee uit elkaar te houden, omdat je er andere verwachtingen bij moet hebben. Verspreide schade kost je vaak hier en daar een seconde. Een bestand dat bij 40% is afgebroken, mist 60% van de video, en geen enkele tool kan verzinnen wat nooit is weggeschreven.

Waarom het gerepareerde bestand korter is

Videoframes staan niet op zichzelf. Een keyframe is zelfstandig, maar de frames erna worden opgeslagen als verschillen ten opzichte daarvan — zijn de gegevens van een keyframe kapot, dan is elk frame dat erop leunt ook onbruikbaar, ook al zijn de eigen bytes van die frames prima in orde. Daarom kan een bestand met tien kapotte frames er aanzienlijk meer dan tien verliezen.

Repareren behoudt alleen de frames die echt kunnen worden gedecodeerd en dicht de gaten, zodat het resultaat van begin tot eind afspeelt in plaats van te bevriezen op de plek van de schade. De keerzijde is dat het resultaat korter is dan het origineel, precies zoveel als er is weggelaten. De pagina noemt dat getal voordat je begint, en nog een keer bij het resultaat.

In de standaardmodus worden de behouden frames gekopieerd zonder opnieuw te coderen. De volledige decodeercontrole kost tijd; de optionele modus “Ook frames met een onvolledig beeld behouden” codeert de behouden video opnieuw.

Het geluid blijft behouden en loopt synchroon. Doordat de gaten worden gedicht, past het beeld niet meer bij een geluidsspoor van de oorspronkelijke lengte, dus wordt de audio op precies dezelfde grenzen geknipt — elk behouden stuk beeld houdt zijn eigen stuk geluid, met dezelfde verschuiving. Binnen een stuk lopen die twee exact gelijk; alleen op de naden kan de audio iets verschoven zijn, en nooit meer dan een half audiopakket, ongeveer tien milliseconden. Dat is een orde van grootte minder dan wat iemand als lipsyncfout kan horen.

Wat dit niet kan

Een bestand dat helemaal niet opent, valt hier buiten bereik. Elke MP4 bevat een index die beschrijft waar elk frame staat. Is die index beschadigd of ontbreekt hij — wat vaak gebeurt als een opname stopt zonder te worden afgerond — dan is er geen kaart om te volgen, en deze pagina zegt dat in plaats van eindeloos te blijven laden. Voor zulke bestanden heb je de originele bron nodig, of een tool die de index opnieuw opbouwt door framegrenzen te raden.

Audio wordt niet op schade gecontroleerd. Bestaande audiopakketten worden gekopieerd en bijgesneden, zodat ze bij de behouden video passen. Beschadigde of al ontbrekende audio kan dit proces niet herstellen.

Alleen H.264 en HEVC. Dat zijn de codecs die frames met een lengtegetal ervoor opslaan, en dat is wat de controle leest. MJPEG, MPEG-4 Part 2 en andere codecs delen frames anders in — met deze maatstaf gemeten zouden ze allemaal kapot lijken, dus de pagina weigert ze in plaats daarvan.

Veelgestelde vragen

Wordt mijn video ergens geüpload?

Nee. Je browser leest het bestand op je eigen apparaat, en de gerepareerde kopie wordt daar ook weggeschreven. Er gaat niets naar een server — dat kun je controleren door het netwerkpaneel van je browser te openen terwijl de scan loopt, of door je internetverbinding te verbreken voordat je het repareren start.

Gaat de kwaliteit achteruit door repareren?

De standaardmodus kopieert de behouden frames zonder opnieuw te coderen. “Ook frames met een onvolledig beeld behouden” codeert de video opnieuw en kan de kwaliteit veranderen; herstelde frames kunnen blokjes vertonen.

Heeft het gerepareerde bestand nog geluid?

Ja, en het loopt synchroon. De audio wordt op dezelfde grenzen geknipt als het beeld en evenveel verschoven, zodat de twee binnen elk behouden stuk exact gelijk lopen. Alleen op de naden tussen de stukken kunnen ze iets uit elkaar liggen, hooguit een half audiopakket — ongeveer tien milliseconden, ver onder wat waarneembaar is. Wat je niet terugkrijgt, is het geluid van de weggelaten stukken, want het beeld waar het bij hoorde, is ook weg.

Volgens de scan is het bestand in orde, maar het speelt nog steeds niet af. Hoe kan dat?

Deze controle gaat over de beeldgegevens van H.264- en HEVC-video. Een bestand kan erdoor komen en toch om andere redenen niet afspelen: een codec die je speler niet ondersteunt, een beschadigd audiospoor of een eigenaardigheid in de container. Een schone uitslag hier beperkt de mogelijke oorzaken, maar is nog geen oplossing.

Hoe lang duurt de scan?

Dat hangt af van de duur, resolutie en codec van de video en van de snelheid van je apparaat, omdat de controle de video niet alleen leest maar ook decodeert. Bij grote video's kan het minuten duren. Kies je een ander bestand, dan stopt de lopende analyse.

Kan het een deel van een video herstellen dat nooit is gedownload?

Nee. Als een overdracht te vroeg is gestopt, zijn de ontbrekende beeldgegevens nooit naar je schijf geschreven — er staat niets op je apparaat om te herstellen. Wat deze pagina wel kan, is je precies vertellen hoeveel er ontbreekt, en een schone, afspeelbare kopie maken van het deel dat wel is aangekomen.

Mijn bestand opent niet eens. Wat nu?

Dat wijst op de index van het bestand in plaats van op de frames, en dat is het enige geval waarbij deze pagina niet kan helpen. Probeer het origineel opnieuw te bemachtigen als dat kan. Lukt dat niet, dan is speciale herstelsoftware die de index opnieuw opbouwt door naar framegrenzen te zoeken de volgende stap — en de Mac-app kan om schade heen opnieuw coderen waar een browser dat niet kan.

Meer videotools

AskClean-team · Bijgewerkt 2026-09-01