2
did not know wether to create a new thread or to post in an existing one. Decided for the first option, as my case seems to be a little different as I do not have one video corrupted but plenty of them.
My problem is, that I have 30+ of MP4 videos (coming from the Xiaomi Yi sports camera) corrupted after camera went crazy during 60fps recording. Previously they were all good. So the situation is: before playable, now corrupted. I have tried to use ffmpeg using a command:
e.g. ffmpeg -i YDXJ0690c.mp4 -c:a copy -c:v copy YDXJ0690c_rescue.mp4
but I get
ffmpeg version N-74645-g4c39892 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (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. 31.100 / 54. 31.100
libavcodec 56. 58.100 / 56. 58.100
libavformat 56. 40.101 / 56. 40.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 37.100 / 5. 37.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.101 / 1. 2.101
libpostproc 53. 3.100 / 53. 3.100
[adp @ 0000000004888360] Format adp detected only with low score of 25, misdetection possible!
Input #0, adp, from 'YDXJ0690c.mp4':
Duration: 02:16:17.66, start: 0.000000, bitrate: 438 kb/s
Stream #0:0: Audio: adpcm_dtk, 48000 Hz, stereo, s16p
[mp4 @ 0000000004cb15e0] Codec for stream 0 does not use global headers but container format requires global headers
[mp4 @ 0000000004cb15e0] Could not find tag for codec adpcm_dtk in stream #0, codec not currently supported in container
Output #0, mp4, to 'YDXJ0690c_rescue.mp4':
Metadata:
encoder : Lavf56.40.101
Stream #0:0: Audio: adpcm_dtk, 48000 Hz, stereo
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Can anyone help me in using ffmpeg to repair my videos?
Thank you for correcting my post and sorry for your trouble. I have tried a demo version of Grau Video Repair (as it has simple interface) and I have managed to recover a few seconds of untouched, nice looking, working 60fps footage from one of my corrupted files. From most of the other files I get 2kb output file. It seems that Grau is based on ffmpeg so there might be hope for me. – sp00n – 2015-08-28T15:17:35.490
I did some tests with a mp4_to_h264 extractor ( recover-mp4-to-h264.exe), it seems that the h264 stream can be extracted, but afterwards, when I try to build a new mp4 or mov file from the stream, the error "mdat atom not found in the first 64MB". Any ideas? – sp00n – 2015-08-29T14:29:40.317