I was recording a video with my Droid when it froze. The resulting 3gp file was corrupted. I tried playing it in mplayer and VLC. My naive first attempt at repairing it was to try and rebuild a header based on a known good file. After prepending 12 bytes from the good file, the container was recognized by mplayer:

Playing Videos/VID_20100729_194430-12.3gp.
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x3611f60] moov atom not found
LAVF_header: av_open_input_stream() failed
ISO: File Type Major Brand: 3GPP Profile 4
MPEG: Missing video stream!? Contact the author, it may be a bug :(
Seek failed
libavformat file format detected.
LAVF_header: av_open_input_stream() failed

The ISO: line shows that the container is recognized. After reading the spec a bit, I found out that audio and video are defined in "boxes" in this container. My current understanding is that a simple header isn't going to cut it.

tl;dr summary: Does anyone have any experience, in software or by hand, in repairing 3gp files? Have any suggestions for getting this video playing?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.