Correggi «moov atom not found» — ricostruisci l'indice nel tuo browser

L'errore significa che l'indice del file non è mai stato scritto. I tuoi fotogrammi sono ancora nel file; semplicemente non hanno una mappa. E le mappe si possono ricostruire.

Il tuo file non lascia mai il tuo dispositivo — la riparazione avviene nel browser. 0 byte caricati.

Your data is the big block — usually intact. What breaks is the small index. Repair rebuilds it.

Drop a file here or browseTap to choose a file

ZIP · Office · PDF · video · JPG · PNG · RAR/7z · SQLite — repaired right here in your browser. Nothing is uploaded

0 bytes uploadedFree: 3 repairs/day — up to 500 MB video, 100 MB docs & archives, 50 MB photos. Free download. Single repair €5.90. No account required.

Ripara il file adesso

  1. Trascina il file
  2. La riparazione avviene in locale
  3. Scarica il risultato

Trascina l'MP4 qui sopra. Lo strumento lo legge in locale e indica se il moov è danneggiato o del tutto assente, il che determina la via di riparazione. Non si installa nulla e non si carica nulla.

A che punto è il motore, con onestà: la riparazione strutturale tramite remux (per i file il cui moov esiste ma è danneggiato, troncato o con offset errati) funziona già oggi. La ricostruzione completa dell'indice per i file che non hanno alcun moov è ancora in sviluppo.

Cosa significa l'errore

[mov,mp4,m4a,3gp,3g2,mj2 @ 0x...] moov atom not found Invalid data found when processing input

Un MP4 conserva i tuoi fotogrammi compressi in un unico grande blocco (l'atomo mdat) e, separatamente, l'atomo moov: l'indice che registra dove inizia ogni fotogramma, quanto dura e come si intrecciano audio e video. Il moov viene scritto quando la registrazione viene finalizzata, perché la dimensione e il numero dei fotogrammi non si conoscono finché la codifica non termina. Un blocco, un'interruzione di corrente o una scheda piena prima di quel momento lasciano il blocco dei dati sul disco e l'indice da nessuna parte.

Ecco perché la seconda riga di ffmpeg dice invalid data: il demuxer non sta segnalando riprese distrutte, sta segnalando che non ha un indice con cui interpretarle. Un problema diverso, e molto più facile da risolvere.

Perché ffmpeg non può risolverlo

Se sei qui, probabilmente hai già provato ffmpeg -i broken.mp4 -c copy out.mp4 e magari -movflags faststart. Entrambi hanno fallito per lo stesso motivo: operano sull'output di una lettura riuscita. La copia del flusso ha bisogno che il demuxer le passi i pacchetti; faststart riposiziona un moov che deve già esistere. Quando l'input non ha il moov, la lettura fallisce prima che una di queste opzioni conti qualcosa. Non è un'opzione che non hai ancora trovato; è un limite reale di ciò che un convertitore può fare. Riparare il file significa ricostruzione, non conversione: scandire il blocco dei dati grezzi in cerca dei confini dei fotogrammi e ricostruire le tabelle dei campioni a partire da ciò che si trova.

Contro untrunc — e a che punto è il nostro motore

untrunc è lo strumento gratuito di riferimento proprio per questa ricostruzione, e funziona. La frizione, però, è reale: lo compili tu stesso (o ti fidi di una build di terze parti), lo esegui dalla riga di comando e richiede un file di riferimento: una registrazione integra dallo stesso dispositivo con le stesse impostazioni, usata per interpretare i fotogrammi grezzi nel file danneggiato.

La nostra posizione, detta con chiarezza: il motore nel browser di IntactFile esegue oggi la riparazione strutturale tramite remux: file il cui moov è sopravvissuto in forma danneggiata. La ricostruzione in stile untrunc di un file senza moov è in sviluppo, e non fingeremo che sia disponibile prima che lo sia davvero. Se il tuo moov manca del tutto e ti serve la soluzione in questo istante, untrunc è la raccomandazione onesta; se la diagnosi qui sopra mostra un indice danneggiato ma presente, la riparazione nel browser lo gestisce già ora — senza compilare, senza cercare un file di riferimento, senza caricare nulla.

Cosa può e cosa non può riparare

Ricostruire un indice, con qualsiasi strumento, funziona quando i dati multimediali sono sopravvissuti. E di solito lo sono: il mdat viene scritto in modo continuo durante la registrazione, quindi tutto ciò che precede l'interruzione è fisicamente nel file. Ciò che nessun software può fare è riparare un file i cui dati non sono mai stati scritti. L'indizio è la dimensione: una «registrazione di un'ora» che occupa 12 KB, o un file che risulta quasi tutto zeri perché la scheda SD è morta a metà scrittura, non ha nulla dentro da indicizzare. Confronta la dimensione con la durata della registrazione prima di perdere tempo con qualsiasi strumento — il nostro o quello di chiunque altro. E una riparazione fallita non viene mai addebitata.

Domande frequenti

Come si corregge «moov atom not found» con ffmpeg?

Non si può, non con ffmpeg da solo. Il demuxer di ffmpeg ha bisogno dell'atomo moov per interpretare l'input, quindi ogni ricetta basata sulla lettura del file (-c copy, -movflags faststart, la ricodifica) si schianta contro lo stesso muro. Riparare il file significa ricostruire l'indice a partire dai dati multimediali grezzi, un tipo di strumento diverso: untrunc dalla riga di comando, oppure la riparazione per cui è nato IntactFile.

ffmpeg può recuperare un MP4 senza atomo moov?

No. ffmpeg è un convertitore, non un ricostruttore: trasforma i file che riesce a leggere, e un MP4 senza moov è illeggibile per il suo demuxer. La sua unica utilità qui è la diagnosi: l'errore conferma che l'indice manca senza dire nulla sui dati multimediali, che di solito sono sopravvissuti.

Cosa causa «moov atom not found»?

La registrazione non è mai stata finalizzata. L'atomo moov viene scritto quando la registrazione si arresta in modo pulito, quindi un blocco, un'interruzione di corrente, un disco o una scheda SD pieni, o un'app terminata a forza lasciano i dati sul disco senza indice. Lo stesso errore compare anche quando un download o un trasferimento si è interrotto, perché il moov si trova spesso alla fine — la parte che non è mai arrivata.

untrunc ha bisogno di un file di riferimento?

Sì. untrunc richiede un video integro registrato dallo stesso dispositivo o software con le stesse impostazioni. Legge i parametri del codec e la struttura da quel riferimento per dare un senso ai fotogrammi grezzi del file danneggiato — senza un riferimento corrispondente, non può interpretare i dati che trova.

I dati del video sono ancora nel file se manca l'atomo moov?

Di solito sì — i dati multimediali vengono scritti in modo continuo mentre registri; solo l'indice viene rimandato alla fine. Controlla la dimensione: se corrisponde all'incirca alla durata della registrazione (qualche GB per un'ora in 1080p), i fotogrammi sono quasi certamente lì. Un file di 0 byte o di una minima frazione della dimensione attesa non ha più nulla da riparare.

Stesso errore, origine specifica:OBS si è bloccato durante lo streaming ·la GoPro ha perso alimentazione mentre registrava ·la batteria del drone si è esaurita in volo ·qualsiasi altro danno a un MP4