Recovered video files won't play

All we need is an easy explanation of the problem, so here it is.

I have an SD card with pictures and video which malfunctioned. I was able to recover the files with Photorec. The pictures are OK, but wen I try to open the vide files (*.mov extension) in get the following errors when I try to open them in the following programs

  • Windows Media player: “Windows Media Player encountered a problem while playing the file”
  • Quicktime: “Error -2048: Couldn’t open the file because it is not a file that QuickTime understands”
  • VLC: it shows the first frame of the video and the sound is just white noise

The filesizes look correct so I presume the data is still in there. Is there any way to fix these recovered video files?

How to solve :

I know you bored from this bug, So we are here to help you! Take a deep breath and look at the explanation of your problem. We have many solutions to this problem, But we recommend you to use the first method because it is tested & true method that will 100% work for you.

Method 1

As per the link you provided, PhotoRec ignores the file system.

That’s an advantage in some cases, since it can attempt to recover media even from badly damaged devices. However, it won’t take file fragmentation into account. This explains why the smaller files work, but the bigger ones don’t.

I suggest you try another file recovery software to attempt to recover the video files. I’ve used Recuva in the past and got good results with it.

Method 2

I just ran into this exact same problem and found a fix:

  1. Sort the list of recovered files alphabetically

  2. If a file ending in .mov is immediately followed by a much smaller file ending in, it can likely be fixed; the file apparently contains header information

  3. To fix the video, combine the two files, placing the header file first. For example:

    • Linux/OS X:

      cat >
    • Windows:

      copy /b +

For reference, here’s the information the file command gave me on the two recovered files and the combined file:

$ file ISO Media, Apple QuickTime movie
$ file Apple QuickTime movie (unoptimized)
$ file ISO Media, Apple QuickTime movie


Method 3

The video files get corrupted when recovered with photorec (same thing with testdisk) so they won’t play even tho the video stream is there. I had the same issue with accidentally deleted videos from a Canon EOS camera. Spent some time trying to concatenate files around, then spent ages compiling untrunc but didn’t get anything playable with either method.

Then I found a perl script, mp4fixer that fixes corrupt video files.
And it worked!

Here’s how:

  1. Like untrunc, mp4fixer works by comparing files so you’ll need a working video file, from the same camera, with all the same settings and everything else as close as you can get to the corrupt video file.

  2. Put both video files in a folder, open that folder in a terminal and type the following commands:

    mp4fixer-master/ fixed

    In the last line, replace good-video and bad-video by the names of your files and the last argument (here fixed) can be any word of your choice and will be used as a prefix for the generated files.

  3. After the script has done its thing, your folder will be swamped by prefixed files. Look for the one ending with *-out-video.h264.

  4. You can already play that file using VLC but in my case the framerate was all over the place so I converted it to MP4 using HandBrake and that’s it, my videos are now playing just fine!

note: only realising now, it didn’t need audio in my case so overlooked the fact that mp4fixer restores the audio as a separate .raw file. There’s more info about sound on the readme page. Also the raw audio did play in Audacity (File > Import > Raw Data) but at the wrong speed.

Note: Use and implement method 1 because this method fully tested our system.
Thank you 🙂

All methods was sourced from or, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply