How to recover corrupted files from a DJI Inspire 1 - Eric Cheng

How to recover corrupted files from a DJI Inspire 1

Articles

After spending a few intense days flying the Holuhraun volcano
eruption in Iceland with Good Morning America
, I returned home with 3
corrupted video files from our DJI Inspire 1 quadcopters. Cameras like
GoPro HEROs and the cameras used in the DJI Inspire 1 and Phantom 2 Vision
/ Vision+ corrupt the latest video file if they are turned off while
recording. For the DJI Inspire 1 and Vision / Vision+, the official
suggested method for video recovery is to simply turn the quadcopter back
on, with microSD card still installed in the camera. After about 30
seconds, the most recent video file will be repaired. Unfortunately, this
method does not always work; sometimes, more involved repair methods are
necessary.

DJI forum support tech Ken Booth led me to a
Windows tool called “recover_mp4_to_h264" that
I successfully used to recover all of the corrupted Inspire 1 .mov files
from the Iceland trip. The tool is Windows-only, so if you’re on a Mac
(like I am), you’ll have to use Parallels or Fusion to run it. You’ll also
need FFmpeg.

Steps to recover corrupted video from DJI Inspire 1:

Assuming that you have a working video file from the Inspire 1 called
"goodvideo.mov” and a corrupted video file called “corruptedvideo.mov”,
here are the steps that will yield you a recovered video called
“recoveredvideo.mov”.

Step 1: Use any good previous file with the same resolution and
bitrate to generate the AVC configuration record.

Note: It will create the file ‘avcc.hdr’ in the current directory.

> recover_mp4_to_h264.exe goodvideo.mov --avcc

The output will look something like this:

https://gist.github.com/wetpixel/4e0c2af3b39b9cf0ffcc.js

Step 2: Recover H.264 stream from the corrupted file.
Note: The file ‘avcc.hdr’ must exist.

> recover_mp4_to_h264.exe corruptedvideo.mov corruptedvideo.h264
avcc.hdr

https://gist.github.com/wetpixel/4e0c2af3b39b9cf0ffcc.js

Step 3: Repack to .mov using ffmpeg

> ffmpeg -f h264 -i corruptedvideo.h264 -vcodec copy -f mov
recoveredvideo.mov

https://gist.github.com/wetpixel/84ed3d7099d01af80b67.js

This worked perfectly for me. Good luck!