Repara el archivo ahora
- Suelta el archivo
- La reparación ocurre en local
- Descarga el resultado
Suelta el MP4 de arriba. La herramienta lo lee en local e informa de si el moov está dañado o ausente por completo, lo que determina la vía de reparación. No se instala nada y no se sube nada.
En qué punto está el motor, con honestidad: la reparación estructural por remux (para archivos cuyo moov existe pero está dañado, truncado o mal ubicado) ya funciona hoy. La reconstrucción completa del índice para archivos que no tienen ningún moov está en desarrollo.
Qué significa el error
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x...] moov atom not found Invalid data found when processing inputUn MP4 guarda tus fotogramas comprimidos en un bloque grande (el átomo mdat) y, por separado, el átomo moov: el índice que registra dónde empieza cada fotograma, cuánto dura y cómo se entrelazan el audio y el vídeo. El moov se escribe cuando la grabación se finaliza, porque el tamaño y el número de fotogramas no se conocen hasta que termina la codificación. Un bloqueo, un corte de corriente o una tarjeta llena antes de ese momento dejan el bloque de datos en el disco y el índice en ninguna parte.
Por eso la segunda línea de ffmpeg dice invalid data: el demultiplexor no está informando de imágenes destruidas, sino de que no tiene índice con el que interpretar las imágenes. Otro problema distinto, y mucho más fácil de arreglar.
Por qué ffmpeg no puede arreglar esto
Si has llegado hasta aquí, probablemente ya hayas probado ffmpeg -i roto.mp4 -c copy salida.mp4 y quizá -movflags faststart. Ambos fallaron por la misma razón: operan sobre el resultado de una lectura correcta. La copia de flujo necesita que el demultiplexor le entregue los paquetes; faststart reubica un moov que ya debe existir. Cuando la entrada no tiene moov, la lectura falla antes de que cualquiera de esas opciones importe. No es una opción que aún no hayas encontrado; es un límite real de lo que un conversor puede hacer. Arreglar el archivo implica reconstrucción, no conversión: escanear el bloque de datos en bruto en busca de los límites de los fotogramas y reconstruir las tablas de muestras a partir de lo que se encuentre.
Frente a untrunc — y en qué punto está nuestro motor
untrunc es la herramienta gratuita de referencia para exactamente esta reconstrucción, y funciona. Pero la fricción es real: lo compilas tú mismo (o confías en una compilación de terceros), lo ejecutas desde la línea de comandos y necesita un archivo de referencia: una grabación en buen estado del mismo dispositivo con los mismos ajustes, que se usa para interpretar los fotogramas en bruto del archivo dañado.
Nuestra postura, dicha claramente: el motor en el navegador de IntactFile realiza hoy la reparación estructural por remux: archivos cuyo moov sobrevivió de forma dañada. La reconstrucción tipo untrunc de un archivo con ningún moov está en desarrollo, y no vamos a fingir que ya está disponible antes de que lo esté. Si tu moov falta por completo y necesitas la solución ahora mismo, untrunc es la recomendación honesta; si el diagnóstico de arriba muestra un índice dañado pero presente, la reparación en el navegador ya lo resuelve: sin compilar, sin buscar un archivo de referencia y sin subir nada.
Qué puede y qué no puede reparar
Reconstruir un índice, con cualquier herramienta, funciona cuando los datos multimedia sobrevivieron. Y normalmente lo hicieron: el mdat se escribe de forma continua durante la grabación, así que todo lo anterior a la interrupción está físicamente en el archivo. Lo que ningún software puede hacer es reparar un archivo cuyos datos nunca se escribieron. La pista es el tamaño: una «grabación de una hora» que ocupa 12 KB, o un archivo que aparece casi todo ceros porque la tarjeta SD murió a mitad de escritura, no tiene nada dentro que indexar. Compara el tamaño con la duración de la grabación antes de perder tiempo con cualquier herramienta, la nuestra o la de quien sea. Y una reparación fallida nunca se cobra.