MP4 beschädigt, wie reparieren?

1526
Marco

Tank für jeden Vorschlag. Ich habe 2 Videos auf einer Digitalkamera aufgenommen. Videos werden in identischen Codecs und Einstellungen gespeichert.

Das zweite Video ist beschädigt, irgendwie kann ich es nicht mit VLC oder anderen Playern oder Videobearbeitungssoftware öffnen. (Das erste Video ist in Ordnung).

Ich habe versucht, Video mit "Video oder Video" -Software zu konvertieren, die besagt:

#8636.3: [h264 @ 04E10060]AVC: nal size -1920576098 #8636.3: [h264 @ 04E10060]no frame! #8636.5: [mov,mp4,m4a,3gp,3g2,mj2 @ 04EC4020]decoding for stream 0 failed #8636.4: [mov,mp4,m4a,3gp,3g2,mj2 @ 04EC4020]Could not find codec parameters  for stream 0 (Video: h264 (avc1 / 0x31637661), 1920x1080, 11987 kb/s):  unspecified pixel format #8636.4: Consider increasing the value for the 'analyzeduration' and  'probesize' options  ***File load error: C:\..\PICT0002.MP4: could not find codec parameters 

Analyse mit Gspot, bei Videos (Video rechts beschädigt: PICT0002): siehe Bilder

kann mir jemand ein Werkzeug oder eine Methode vorschlagen, um das zweite Video zu reparieren? Die Größe ist korrekt (3 GB), und wenn ich versuche, es auf VLC zu öffnen, auch wenn es nicht startet, scheint die Länge in Ordnung zu sein (40 Minuten).

Theoretisch: Soll ich Codec-Metadaten in der Datei ändern, damit sie von der Software erkannt werden? Ist das das Problem?

Tank dich .. (Arbeitsvideo und es wird so gebraucht)

AKTUALISIEREN

versuchte die ffmpeg-analyse. Befehl: ffmpeg -analyzeduration 2000000000 -i PICT0002.mp4 -c: v libx264 -c: Eine Kopie PICT0002-fixed.mp4

Antwort:

C:\Programmi\ffmpeg\bin>ffmpeg -analyzeduration 2000000000 -i PICT0002.mp4 -  c:v libx264 -c:a copy PICT0002-fixed.mp4 ffmpeg version N-91398-gd08d4a8c73 Copyright (c) 2000-2018 the FFmpeg  developers built with gcc 7.3.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-  bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass  --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-  libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --  enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --  enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack  --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --  enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-  libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa  --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --  enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-  nvenc --enable-nvdec --enable-dxva2 --enable-avisynth libavutil 56. 18.102 / 56. 18.102 libavcodec 58. 20.104 / 58. 20.104 libavformat 58. 17.101 / 58. 17.101 libavdevice 58. 4.101 / 58. 4.101 libavfilter 7. 25.100 / 7. 25.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 libpostproc 55. 2.100 / 55. 2.100 [h264 @ 000002036235d380] Invalid NAL unit size (-1920576098 > 197632). [h264 @ 000002036235d380] Error splitting the input into NAL units. [mov,mp4,m4a,3gp,3g2,mj2 @ 000002036234a300] decoding for stream 0 failed [mov,mp4,m4a,3gp,3g2,mj2 @ 000002036234a300] Could not find codec  parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 1920x1080,  11987 kb/s): unspecified pixel format Consider increasing the value for the 'analyzeduration' and 'probesize'  options Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'PICT0002.mp4': Metadata: major_brand : avc1 minor_version : 0 compatible_brands: avc1isom creation_time : 2021-06-30T08:32:50.000000Z Duration: 00:40:53.45, start: 0.000000, bitrate: 12122 kb/s Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), none, 1920x1080, 11987  kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default) Metadata: creation_time : 2021-06-30T08:32:50.000000Z handler_name : Ambarella AVC encoder : Ambarella AVC encoder Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Press [q] to stop, [?] for help [h264 @ 000002036234dd40] Invalid NAL unit size (-1920576098 > 197632). [h264 @ 000002036234dd40] Error splitting the input into NAL units. [h264 @ 0000020363f92300] Invalid NAL unit size (1565499804 > 10496). [h264 @ 0000020363f92300] Error splitting the input into NAL units. Error while decoding stream #0:0: Invalid data found when processing input Last message repeated 1 times Cannot determine format of input stream 0:0 after EOF Error marking filters as finished Conversion failed! 

Also, die Konvertierung ist fehlgeschlagen. Bitte benötigen Sie weitere Hilfe .. :(

1
Anhand der Protokollausgabe zu urteilen, scheint die von Ihnen verwendete Software FFmpeg zu sein (oder basiert auf FFmpeg). Versuchen Sie, das Flag "-analyzeduration 2000000000" zu den FFmpeg-Argumenten hinzuzufügen. Es ist erwähnenswert, dass der VLC-Player auch auf FFmpeg basiert ... und daher haben sie ähnliche Einschränkungen in ihren Standardkonfigurationen. Cliff Armstrong vor 5 Jahren 0
wie in Windows 10 zu tun? (Tank dich) Marco vor 5 Jahren 0
Sie sagten, Sie hätten "Video in Video" -Software zum Konvertieren des Videos verwendet. Welche Software ist das? Hat es einen Namen? Wenn Sie FFmpeg direkt verwenden möchten (hohe Lernkurve), können Sie die neuesten Windows-Builds hier herunterladen: https://ffmpeg.zeranoe.com/builds/. Es handelt sich um ein Befehlszeilentool. Sie müssen daher die Eingabeaufforderung "ffmpeg" ausführen und den entsprechenden Befehl ausführen. Etwas wie: `ffmpeg -analyzeduration 2000000000 -i PICT0002.mp4 -c: v libx264 -c: Eine Kopie PICT0002-fixed.mp4` sollte dies tun. Cliff Armstrong vor 5 Jahren 0
http://www.videotovideo.org/ Marco vor 5 Jahren 0

2 Antworten auf die Frage

1
Ricardo Bohner

Schauen Sie sich dieses Tool an: Video Repair Tool

Es ist keine Freeware, aber es repariert 50% Ihres Videos kostenlos, sodass Sie wissen, ob es funktioniert.

Schauen Sie sich auch dieses Youtube-Video an: https://www.youtube.com/watch?v=5QK3vizVIds

Tank dich! das funktioniert. Marco vor 5 Jahren 0
1
Marco

LÖSUNG.

Erstmal mit Ricardo Bohner. Er bezieht sich auf Video Repair Tool .

Wenn Sie zu dieser Site wechseln, werden Sie feststellen, dass dieses Tool nicht mehr verfügbar ist, und Sie sollten Restore Media abonnieren .

Alternativ können Sie hier gehen . Ich folgte den hier gezeigten Anweisungen .

Leider habe ich nur 30:00 Minuten von 40:00 Minuten des Videos wiederhergestellt, aber der wiederhergestellte Teil ist perfekt.

Hoffe das kann nützlich sein.

UPDATE: Wie von Riccardo Bonher erklärt (siehe unten in den Kommentaren), ist es möglich, einen Trick (Verdoppelung der Länge von mp4) zu verwenden und ihn mit dem Repair Tool wiederherzustellen .

Auf diese Weise konnte ich die gesamte Länge des beschädigten mp4 reparieren. Danach konnte ich Videos mit VLC (Video-Reader) sehen.

..aber ich konnte es noch nicht per Editing-Softare konvertieren (als VirtualDub, Video to Video etc.)

Also habe ich ein kombiniertes Verfahren verwendet: A) Verwendung der Riccardo-Lösung (wie in den Kommentaren erläutert), um die gesamte Videolänge wieder herzustellen B) das wiederhergestellte Video mit meiner ursprünglichen Lösung (recover-mp4-to-h264.zip) erneut verwenden, um es richtig zu machen und kann von gängigen Bearbeitungsprogrammen gelesen werden. Hoffe das kann den Leuten helfen ..

Marco, was heißt mit nicht mehr verfügbar? Ich habe es gerade heruntergeladen. Hier ist der direkte Download-Link: http://grauonline.de/download/videorepair.zip Ricardo Bohner vor 5 Jahren 0
Ich habe gelesen, dass diese Version eine Demo ist. Es erholt sich nur die Hälfte des Videos. Marco vor 5 Jahren 0
Ja, aber es gibt einen Trick, wie Sie 100% anstelle von 50% wiederherstellen können: Benennen Sie Ihre beschädigte Videodatei in 1.mp4 um. Erstellen Sie eine Kopie davon und nennen Sie sie 2.mp4. Öffnen Sie eine Eingabeaufforderung, geben Sie den Pfad ein, in dem sich die 2 Videodateien befinden, und geben Sie den folgenden Befehl ein: copy / b 1.mp4 + 2.mp4 double.mp4 Dadurch wird ein Video mit dem Namen double.mp4 erstellt, das doppelt so lang ist wie Ihre Original beschädigtes Video. Öffnen Sie diese Datei im Videoreparaturwerkzeug und lassen Sie sie reparieren, so dass das Video zu 100% wiederhergestellt wird. Ricardo Bohner vor 5 Jahren 0
Tank Riccardo, auf diese Weise habe ich alle 40 Minuten wiedergefunden! Ich habe nicht deine Kreativität. Marco vor 5 Jahren 0
"Ja wirklich?" Ich war gerade dabei, meine Kopie / b-Tipps zurückzurufen, da ich herausfand, dass es für mp4-Dateien nicht funktioniert. Wenn Sie den Kopier- / B-Trick mit mp4-Dateien ausführen, wird in meinem Test nur die Dateigröße verdoppelt, nicht aber die Videolänge. Ich wollte Ihnen vorschlagen, AVIDemux oder eine andere Videobearbeitungssoftware zu verwenden, mit der ein Video an ein anderes Video angehängt werden kann. Der Tipp wäre also, eine Kopie des Videos zu erstellen, dann die beiden mit einer Videobearbeitungssoftware anzufügen und dann das beschädigte Video mit dem Videoreparaturwerkzeug doppelt zu kopieren (80 Minuten). Aber glücklich zu wissen, dass es trotzdem funktioniert hat. Ricardo Bohner vor 5 Jahren 0
Kleine Korrektur, mit Ihrem Trick wurde das mp4 komplett repariert (und für vlc sichtbar), aber ich konnte es nicht konvertieren (ich muss es auch mit einem kleineren Codec konvertieren). Also habe ich den recover-mp4-to-h264.zip (als meine erste Lösung) wiederverwendet, um die wiederhergestellte Version zu übergeben. Jetzt kann ich das Video mit gängigen Konvertierungswerkzeugen und Software (wie Virtualdub, VideoToVideo usw.) verwenden. Marco vor 5 Jahren 0