How to recover 1.4GB video file that can't be read (Canon) [duplicate]

I was shooting video with a Canon EOS 7D, and it was telling me the battery (I thought) was getting hot, so I opened the battery cover and it promptly shut off. It was a battery pack, and the batteries stayed in place even though it shut off. So now I have a 1.4 GB file that even ffmpeg cannot read. I have plenty of other files shot with the exact same format that I could look off of to read the data if I needed to, but how do I do that.

ffmpeg -i on the bad file:

[mov,mp4,m4a,3gp,3g2,mj2 @ 000001572b9fa3a0] moov atom not found
MVI_3891.MOV: Invalid data found when processing input

ffmpeg -i on a good file:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'MVI_3892.MOV':
  Metadata:
    major_brand     : qt
    minor_version   : 537331968
    compatible_brands: qt  CAEP
    creation_time   : 2016-01-28 12:04:16
  Duration: 00:12:10.86, start: 0.000000, bitrate: 46897 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, smpte170m/bt709/bt709), 1920x1080, 45357 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 60k tbc (default)
    Metadata:
      creation_time   : 2016-01-28 12:04:16
    Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
    Metadata:
      creation_time   : 2016-01-28 12:04:16

Try with recover_mp4_to_h264. It's a command line program, and will require a good reference file.

Usage as indicated:

recover_mp4_to_h264 in_good_similar.mp4 --avcc
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [out_audio.aac | out_audio.wav | out_audio.mp3] [<recorder>]
recover_mp4_to_h264 in_corrupted.mp4 out_video.h264 [--aac | --pcm | --mp3] [<recorder>]