web-dev-qa-db-fra.com

Réparer un MP4 corrompu

J'ai pris une vidéo de mon téléphone Android (Sony Xperia P, si vous avez besoin de savoir) et, avant que je puisse arrêter de l'enregistrer, la mémoire du téléphone s'est remplie et le téléphone a également été pendu. J'ai redémarré le téléphone, la vidéo était là, mais je ne pouvais pas la lire depuis n'importe quel lecteur multimédia sur Android. C'est dans mp4 format.

J'ai donc essayé de l'ouvrir sur PC et Mac avec différents lecteurs vidéo, tels que VLC, Quick Time, Windows Media Player, etc., mais aucun d'entre eux ne peut le lire. Je sais que la vidéo est corrompue, mais je pense qu'elle est réparable, car sa taille dépasse les Go. Puis-je essayer de réparer le fichier vidéo? La vidéo est vraiment importante.

24
noob

Si vous avez ffmpeg, à partir de la ligne de commande, vous pouvez essayer:

ffmpeg -i input.mp4 -c copy output.mp4

Si le problème ne concerne que le conteneur, cela résoudra le problème.

Si cela ne fonctionne pas, postez le message complet du terminal, cela pourrait donner une idée de la façon de réparer le fichier.

18
evilsoup

C'est une vieille question, mais je me suis retrouvé dans la même situation et j'ai pensé poster la solution qui me convenait le mieux.

Lorsque vous voyez le message "Atome Moov introuvable", cela signifie généralement que le créateur de la vidéo n'a pas été en mesure d'écrire des métadonnées de terminal contenant des informations sur des éléments tels que les codecs utilisés dans la vidéo, etc. Sans cet "atome de Moov", la plupart des joueurs rejetteront la vidéo.

Si vous avez une autre vidéo générée par le même appareil, vous pouvez utiliser le programme untrunc pour générer un nouvel atome de moov qui rendra le fichier lisible dans la plupart des cas.

Vous devrez compiler vous-même le programme untrunc. Je l'ai construit dans un conteneur de menu fixe Ubuntu 12.04 et je devais installer les conditions préalables suivantes pour le compiler:

Sudo apt-get install libavformat-dev libavcodec-dev \
  libavutil-dev libqt4-dev make g++ libz-dev
10
larsks