web-dev-qa-db-fra.com

Comment récupérer un fichier mp4 cassé: moov atom not found

J'ai fait un enregistrement avec

ffmpeg -f alsa -ac 2 -i plughw:0,0  /tmp/audio.mp4

J'ai ensuite déplacé /tmp/audio.mp4 Vers un autre répertoire (/root/audio.mp4) Sans arrêter ffmpeg conduisant à un fichier .mp4 Cassé:

ffplay /root/audio.mp4
[...]
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3524000b80] moov atom not found
audio.mp4: Invalid data found when processing input

Comment récupérer et lire mon fichier .mp4?

10
user123456

Vous pouvez essayer d'utiliser ntrunc pour corriger le fichier.

Restaurez une vidéo mp4, m4v, mov, 3gp endommagée (tronquée). Pourvu que vous ayez une vidéo similaire non cassée.

vous devrez peut-être le compiler à partir de la source, mais il existe une autre option pour utiliser un conteneur Docker et lier le dossier avec le fichier dans le conteneur et le corriger de cette façon.

Vous pouvez utiliser le Dockerfile inclus pour créer et exécuter le package en tant que conteneur

docker build -t untrunc
docker run -v ~/Desktop/:/files untrunc /files/filea /files/fileb
12
Rabin

La solution fournie ici ( https://github.com/ponchio/untrunc ) a résolu mon problème! Je l'exécute comme un conteneur Docker. Voici mes étapes:

  • Installez Docker (au cas où vous ne l'auriez pas encore)
  • Téléchargez le fichier https://github.com/ponchio/untrunc/blob/master/Dockerfile
  • Sur le même répertoire du Dockerfile, exécutez:

    docker build -t untrunc .
    
  • Cela va créer une image docker locale - cela prend du temps.

  • Maintenant, vous devez fournir un exemple de fichier de la même origine (dans mon cas, la même caméra) et le fichier corrompu que vous souhaitez corriger. Par exemple.:

    docker run -v /path/to/files/:/files untrunc /files/working_video /files/broken_video
    
3
Alexandre Andrade