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

14

5

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

Arlen Beiler

Posted 2016-01-29T21:38:39.350

Reputation: 1 108

Question was closed 2016-01-30T18:00:32.153

7Close voters: just because the situation was created by a camera (not a general purpose computer) doesn't mean that trying to repair the file is off-topic. I'm voting to Leave Open. – Ben N – 2016-01-30T01:56:30.857

See the other question which explains how to use untrunc to recover the file. – slhck – 2016-01-30T18:00:56.957

@slhck, will this work with MOV? – Arlen Beiler – 2016-01-30T18:07:43.907

I think the key bit is the phrase "Missing moov atom". Have a look at this post which talks about Untrunc According to this post AtomicParsley may be able to fix it as well.

– davidgo – 2016-01-30T05:51:51.243

MOV and MP4 are very closely related. MP4 is historically based on MOV. This should work for MOV files as well. If not, let me know. – slhck – 2016-01-30T18:30:34.300

Answers

12

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>]

Gyan

Posted 2016-01-29T21:38:39.350

Reputation: 21 016

1Just one note: if you run it with just -h it will give you a fairly helpful little help text. I had to add the --eos flag and export to h264 and wav, and then it worked fine. Also, make sure you don't specify your in_good_similar.mov file as your out_video.h264 file. I did that without realizing it and had to copy the video in again from my source files. – Arlen Beiler – 2016-02-01T14:50:11.247

I also had to adjust the video speed, as it was somewhat slower, for some reason. I didn't look into why it was, but I'm guessing it was framerate related. I ended up needing to set it to 119.9% to exactly match the audio. – Arlen Beiler – 2016-02-01T14:53:16.487

Sounds like your source video is 29.97 whereas your recovered video is 25 fps. – Gyan – 2016-02-01T14:56:16.037

1Doesn't having a good video file to use here entirely defeat the purpose of recovering the old one? – Pyroglyph – 2017-11-20T21:48:10.600

How so? The purpose of recovering the old file is to make it usable i.e. playable and editable. The good file's contents will be different and don't substitute for the broken one's. – Gyan – 2017-11-21T04:53:03.413

What about for Macs? – Mihai Danila – 2018-01-14T03:52:57.260

this worked for me! with addition to ffmpeg.exe -i input.h264 -c copy -o output.mp4 I was able to recover the original mp4 file – AK_ – 2018-02-19T08:04:47.193

Isn't there an open source Linux tool for that? And should FFmpeg not be able to do so? – neverMind9 – 2018-09-23T11:27:07.770

A good part of my file was recovered this way, tysm. – himanshuxd – 2020-02-09T08:08:19.283

-4

Reference And Download: http://www.easeus.com/data-recovery/data-recovery-software/mov-recovery.htm

Step 1. Launch EaseUS Data Recovery Wizard. Select "Video" and click "Next" button to start your mov recovery job.

Step 2. Select the disk where you lost your data and click "Scan" button, the software will quickly scan the selected disk to find all your lost mov. If you lost your partition, select "Lost Disk Drives" and "Scan" to continue the recovery process.

Step 3. After scan, you can see all the listed recoverable mov files one by one and select out those you want. Then, click "Recover" button to get them back once. Here you should save all the recovered files on another disk to avoid data overwriting.

Hope this helps!

Tom Dickson

Posted 2016-01-29T21:38:39.350

Reputation: 18

1I actually have the file, it just didn't get the trailing metadata written, apparently. – Arlen Beiler – 2016-01-30T04:00:59.370