Corrupt MP4 [recording interrupted]
I recently encountered this exact problem and I was able to repair the file using Untrunc, a program created specifically to solve this problem, as suggested by sparrowt on SuperUser:


  For this method you need:
  
  
  another video file which isn't broken
  a linux installation (I used Ubuntu 12.04) and basic ability to use a command line.
  
  
  This is what to do:
  
  
  Install some pre-requisite libraries with this command:
  
  sudo apt-get install libavformat-dev libavcodec-dev libavutil-dev
  Download the source code for Untrunc from the github repo:
  
  wget https://github.com/ponchio/untrunc/archive/master.zip
  Unzip the source code:
  
  unzip master.zip
  Go into the directory where it's been unzipped:
  
  cd untrunc-master
  Compile the source code using this command (all one line):
  
  g++ -o untrunc file.cpp main.cpp track.cpp atom.cpp mp4.cpp
  -L/usr/local/lib -lavformat -lavcodec -lavutil
  
  (you can try skipping this step and using the ready-provided
  executable, but it didn't work for me)
  Then you can actually fix the video. You need both the broken video and an example working video.
  
  Ideally the video should be from the same camera &amp; have the same
  resolution (mine was but it might work without). Also if it is at
  least as long as the broken one (preferably roughly the same) this may
  help.
  
  Run this command in the folder where you have unzipped and compiled
  Untrunc but replace the /path/to/... bits with your 2 video files:
  
  ./untrunc /path/to/working-video.m4v /path/to/broken-video.m4v
  
  Then it should churn away and hopefully produce a playable file
  called broken-video_fixed.m4v
  
  
  That's it you're done!
  
  VLC Media Player should now be able to play the file. However it may
  be reporting the wrong length information (Untrunc tries to guess/work
  this out, but doesn't always get it right). To fix this try
  re-encoding the video through another program.