Ich habe also eine Reihe beschädigter MP4-Dateien (auch einige beschädigte AVI-Dateien, aber ich glaube, das ist ein anderes Problem). Sie scheinen beschädigt zu sein, als ich eine externe Festplatte hatte, auf der sie abgestürzt waren (auf keinem meiner Computer funktioniert sie mehr). Ich habe einen Computer mit Windows 8.1 und einen alten Computer mit Windows Vista. Das Verhalten für alle folgenden Punkte ist auf beiden Computern konsistent.

Die Dateien werden in Windows Media Player oder VLC (nur der Verkehrskegel) oder in QuickTime nicht wiedergegeben ("Fehler-2048: Die Datei MVI_0338.MP4 konnte nicht geöffnet werden, da QuickTime diese Datei nicht versteht."). Das führte mich dazu, im Internet nach Lösungen zu suchen. Viele Leute scheinen Erfolg mit Graus Video Repair Tool gehabt zu haben, aber es hat bei mir nicht funktioniert. Die Ausgabe bestand nur aus ein paar Bildern Video. Es gab auch einen anderen Editor, mit dem die Leute Glück hatten, den Digiarty WinX HD Video Converter Deluxe, der für mich nicht funktionierte. Nachdem ich Probleme mit Programmen mit grafischen Benutzeroberflächen hatte, kehrte ich zu den leistungsstärkeren Roots des Computers zurück und ließ ffmpeg laufen.

Es verschluckte sich auch an der Datei. So sah die Bildschirmausgabe aus:

Microsoft Windows [Version 6.0.6002]
Copyright (c) 2006 Microsoft Corporation.  All rights reserved.

C:\180_0416>ffmpeg -i mvi_0335.MP4 -c copy MVI_0335-fix.MP4
ffmpeg version N-74113-gcdb0225 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth
--enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv
--enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec
--enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug
--enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger
--enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame
--enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
--enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink
--enable-zlib
  libavutil      54. 29.100 / 54. 29.100
  libavcodec     56. 56.101 / 56. 56.101
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 30.100 /  5. 30.100
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[dv @ 03e24ac0] Estimating duration from bitrate, this may be inaccurate
Input #0, dv, from 'mvi_0335.MP4':
  Metadata:
    timecode        : 00:10:13;00
  Duration: 00:00:18.15, start: 0.000000, bitrate: 28798 kb/s
    Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], 28771 kb/s,
 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
    Stream #0:2: Audio: pcm_s16le, 32000 Hz, stereo, s16, 1024 kb/s
[mp4 @ 03ee0be0] Codec for stream 0 does not use global headers but container fo
rmat requires global headers
[mp4 @ 03ee0be0] Codec for stream 1 does not use global headers but container fo
rmat requires global headers
[mp4 @ 03ee0be0] Could not find tag for codec dvvideo in stream #0, codec not cu
rrently supported in container
Output #0, mp4, to 'MVI_0335-fix.MP4':
  Metadata:
    timecode        : 00:10:13;00
    encoder         : Lavf56.40.101
    Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 8:9 DAR 4:3], q=2-31, 287
71 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
    Stream #0:1: Audio: pcm_s16le, 32000 Hz, stereo, 1024 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invali
d argument

Ich bin mir sicher, dass ich bei meinen Suchen im Internet etwas verpasst habe (ich habe viel über das Moov-Atom herausgefunden, aber nicht wirklich etwas über mein Codec-, DVVideo- usw.-Problem), aber Ideen, wie ich mit diesem Problem umgehen könnte, wären viel geschätzt.

John
quelle