Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I took a video from my Android phone (Sony Xperia P, if you need to know), and before I could stop recording it, the phone memory got full and the phone got hanged too. I rebooted the phone, the video was there, but I couldn't play it from any media player on Android. It's in mp4 format.

So I tried to open it on PC and Mac with different video player, like VLC, quick Time, Windows Media Player etc., but none of them can play it. I know that the video is corrupted, but I believe it's repairable, since it got more than a GB in size. Is there anything that I can try to repair the video file? The video is really important.

share|improve this question

If you have ffmpeg, from the command-line you can try:

ffmpeg -i input.mp4 -c copy output.mp4

If the problem is just with the container, this will fix it.

If that doesn't work, please post the complete terminal message, as it could give a clue as to how to fix the file.

share|improve this answer
    
Sorry, I forgot about that video. I'll try your method tonight. Can you let me know of any link from where I can get to know how to install ffmpeg. They just give zip or tar archives. Thanks anyways – noob Jan 31 '13 at 9:32
    
@Creator - Look here, scroll down to 'Linux builds' or 'Windows builds' or 'OSX builds', depending on your OS. – evilsoup Jan 31 '13 at 14:34
4  
Sorry for the late reply. This is the error I am getting while using ffmpeg command - [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f88f9018e00] moov atom not found input.mp4: Invalid data found when processing input – noob Mar 17 '13 at 20:31
    
Didn't work. But still thanks for the answer. – noob Mar 26 '13 at 20:52
1  
did you ever resolve this? getting the same problem. Think it was caused by more or less the same thing too – Horse Oct 8 '14 at 16:19

This is an old question, but I just ran into the same situation and I figured I would post the solution that worked for me.

When you see the message "moov atom not found", that typically means that whatever was creating the video was not able to write terminal metadata that contains information about things like the codecs used in the video and so forth. Without this "moov atom", most players will reject the video.

If you have another video that was generated by the same device, you can use the untrunc program to generate a new moov atom that will in most cases render the file playable.

You will need to compile the untrunc program yourself. I built it in an Ubuntu 12.04 docker container, and needed to install the following prerequisites to get it to build:

sudo apt-get install libavformat-dev libavcodec-dev \
  libavutil-dev libqt4-dev make g++ libz-dev
share|improve this answer

protected by slhck Sep 3 '13 at 19:49

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.