Question

I have an MP4 video that I took with a Flip camera. The camera froze up while I was stopping the recorder and now the video appears corrupt. I can still download it off the camera, but it won’t play. Now, the video is still over 2 Gigabytes in size, so I think the data is still there.

So, I scoured the web looking for solutions, and I found paid services and software that claim to be able to fix such a thing. One diagnostic service (“Treasured”), showed me stills from the video, confirming my believe that there probably is something salvageable there. Unfortunately, though, the price requested to fix it is not in the budget. It requires more of a homespun solution.

Does anyone know how to fix a corrupted MP4? Or of a service or software that is not too much money?

Was it helpful?

Solution

give this a shot Official tool Link This utility can recover H.264/AVC stream from unfinalized MP4/MOV files without (or empty) header. You may got the unfinalized file in case of damaging camcorder during recording or such. This utility has been tested with files recorded by GoPro, but it may work with other camcorders too.

Usage:

recover_mp4_to_h264 in_good_similar.mp4 --analyze
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [out_audio.aac | out_audio.wav | out_audio.mp3] []
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [--aac | --pcm | --mp3] []

Supported recorders:

Default is Ambarella (used in GoPro, etc.)
Specify --eos in case of Canon EOS
Specify --apple in case of some Apple software encoder
Specify --htc in case of HTC smartphone
Specify --motorola in case of Motorola smartphone
Specify --samsung in case of Samsung camcorder

Step 1: Use any good previous file with the same resolution and bitrate to generate the AVC configuration record, for example

recover_mp4_to_h264.exe GOPR0346.MP4 --analyze

Note: It will create the file 'avcc.hdr' in the current directory.

Step 2: Recover H.264 stream from the corrupted file, for example

recover_mp4_to_h264.exe GOPR0347.MP4 GOPR0347.h264 GOPR0347.aac

Note: The file 'avcc.hdr' must be exist. Note: Specify --pcm or the WAV file name in case of recovering MOV file written by Canon EOS.

Step 3: Use any other utility (Yamb or ffmpeg for example) to recreate the MP4/MOV file from the H.264 stream (GOPR0347.h264). Note MP4 does not support PCM sound, you must create MOV in this case:

ffmpeg.exe -r 30 -i recovered.h264 -i recovered.wav -vcodec copy -acodec copy result.mov

Edit: add official tool link. thanks The Compiler

Old Link: Mega Link

OTHER TIPS

SUPERB!

I had my android phone crash whilst i was filming. Luckily it's rooted so i could retrieve the temporary file from the Camera folder.

It was easy to recover the material using the advice here, it got me well on the way. But there were a few difficulties to conquer concerning the merge of the files...

The recovered audio had a higher bitrate than audio from 'good' files. 128k instead of 96k. So I could merge the files back into a working movie, but audio would go too fast and lose sync. So it needed conversion.

Also ffmpeg couldn't/wouldn't copy the aac stream, so it needed to convert the stream with a filter;aac_adtstoasc

In my case i had to do:

recover_mp4_to_h264.exe good.MP4 --avcc

recover_mp4_to_h264.exe bad.MP4 bad.h264 bad.aac --android

ffmpeg -i bad.aac -acodec libvo_aacenc -b:a 96k fixed.aac

ffmpeg -r 30 -i bad.h264 -i fixed.aac -vcodec copy -acodec copy -bsf:a aac_adtstoasc fixed.mp4

Success!

I did not test the solutions above, but for me Grau's Video Repair Software worked. Download link and usage instructions for the program can be found on this page:

http://grauonline.de/cms2/?page_id=5

It's important to note that, for it to work, you must provide a non-broken (playable) movie of the same type (recorded using the same camera, with the same resolution, same settings, etc), so the software can compare that playable video file with the broken one and repair it. If you don't have a sample already, it's enough to record a 10 seconds video of your room or anything else using the same settings that you used to record the file which ended up broken.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top