it-swarm.com.de

So stellen Sie eine kaputte mp4-Datei wieder her: moov atom nicht gefunden

Ich habe eine Aufnahme mit gemacht

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

Ich habe dann /tmp/audio.mp4 In ein anderes Verzeichnis (/root/audio.mp4) Verschoben, ohne ffmpeg anzuhalten, was zu einer fehlerhaften .mp4 - Datei führte:

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

Wie kann ich meine .mp4 - Datei wiederherstellen und lesen?

10
user123456

Sie können versuchen, ntrunc zu verwenden, um die Datei zu reparieren.

Stellen Sie ein beschädigtes (abgeschnittenes) mp4-, m4v-, mov- und 3gp-Video wieder her. Vorausgesetzt, Sie haben ein ähnliches, nicht kaputtes Video.

möglicherweise müssen Sie es aus dem Quellcode kompilieren, aber es gibt noch eine andere Option, um einen Docker-Container zu verwenden und den Ordner mit der Datei in den Container zu binden und auf diese Weise zu reparieren.

Sie können die mitgelieferte Docker-Datei verwenden, um das Paket als Container zu erstellen und auszuführen

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

Die hier bereitgestellte Lösung ( https://github.com/ponchio/untrunc ) hat mein Problem gelöst! Ich führe es als Docker-Container aus. Hier meine Schritte:

  • Installieren Sie Docker (falls Sie es noch nicht haben)
  • Laden Sie die Datei herunter https://github.com/ponchio/untrunc/blob/master/Dockerfile
  • Führen Sie im selben Verzeichnis der Docker-Datei Folgendes aus:

    docker build -t untrunc .
    
  • Dadurch wird ein lokales Docker-Image erstellt - es braucht Zeit.

  • Jetzt müssen Sie eine Beispieldatei vom selben Ursprung (in meinem Fall von derselben Kamera) und die beschädigte Datei bereitstellen, die Sie reparieren möchten. Z.B.:

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