Apple MOVs with codec m2v1 unreadable under Windows
August 28th, 2008
Updated on 2008-12-19
Yes, Apple is not close enough to OpenSource and portability as one might need/desire.
One of my collegues downloaded his video camera clips to his Apple iMac with Leopard, using probably iMovie (or iLife??) and produced a lot of MOV clips who he sent to me in a zip file.
When trying to open them under Windows, I couldn’t happen to view a single frame: I tried VLC, WMPlayer and, of course, QuickTime Player. No use.
I found anyway that:
- The audio was hearable
- The video had the codec fourcc name of: m2v1
I googled around and found that this must be an Apple codec encapsulation for MPEG2 videos.
So I tried to extract the raw streaming with MP4Box (using the GUI YAMB) and got a perfectly viewable mp2v streaming (.m2v).
That made me think: why the raw data is an m2v, but the fourccs are m2v1?!?!
Since I do not have time to investigate the MOV file format and, well, not knowledge at all, I tried the newbie method: search for m2v1 in the binary file with an hex editor.
Found 2 occurrencies: m2v1 and ‘m2v1′
The next obvious step was to try to change them to the real m2v fourccs: mp2v
Et voila! The mov played flawlessly in my VLC player (and others).
So I wanted to contribute and made a very skinny command line app for win that could change the fourccs for me.
Beware: this does not check for anything! Just changes up to two occurences of m2v1 to mp2v (anyware in the file).
Enjoy m2v1_to_mp2v
Update 2008-12-19
Yep, if you followed the comments, there’s another case where mp2v is not the right FourCC code, so I made an m2v1_to any FourCCs
You must specify the fourcc destination code and you may add as many files as you like (also using jolly char): this enables you to run the tool on an entire directory with
m2v1_to -m2pv *.mov
Enjoy even more
Update 2009-06-17
As many ppl here are having this issue and no solution seems to be released (except mine) we are having a wide range of cases: I’d like to specify here some more cases and their solution, just to prevent other ppl asking the same thing in the comments
BIG NOTE: be aware that your clip file must be writable, otherwise the patching might seem ok, but nothing has been actually patched at all! So first of all do a right click -> properties and un-check the read-only tick
Then, if you’re trying the first tool:
- put everything in a folder like C:\clips
- open a cmd window (Start -> Run, enter “cmd” without quotes, click Ok)
- at the prompt, cd \clips
- run the command with
m2v1_to_mp2v clipname.mov
- check the results
The results must be something like:
m2v1 to mp2v: opening clip1.mov…Parsing…Done!
Patching…second patch…
Done!
If not, that means that the file is not in the expected format: i.e. you will have to check manually (more below)
Yes, you might also want to just drag your file on the tool name, but in that way you’ll never be able to see the output (you might want to do that on known cases)
Now, provided that every test should always start from the original file, here some cases we’ve raised/solved in the comments:
1. The file might be patched correctly, but for some reason Windows Media Player is still unable to read it: i suggest you give a try with VLC (VideoLanClient)
Moreover if you want to use the file in your favorite videoediting software, you’d better first check in that. Or you might try with a different editing software: it might be that WMP does not read it, but opening the clips in an editing software, you can just re-encode (export) them in a more suitable format! Many software can do edit MOV files, but not everyone, so please just check (if you have them available, you might try Adobe or Ulead – the first two coming into my mind)
2. The file might be in a slightly different format: try to use the second tool specifying -mpg2 at the prompt as the FourCC patching code.
As stated in the usage lines (run the file from the command prompt and you’ll see this):
* m2v1 to FourCC
* by Marco Abiuso (2008)
* Changes up to 2 occurrencies of 'm2v1'
to specified FourCC code in a binary file
Usage: m2v1_to -
…you should just write
m2v1_to -mpg2 myckip.mov
Yes, somebody tried mpg2 as the FourCC code and it worked!
It might be the case that the file is encoded in even another format: you’ll have to discover that, for example loading the file in VLC and checking the media streams information (in the current version of VLC: Tools -> Media Information or Ctrl-I while viewing): that should really give m2v1, but just double check to be sure.
Again: check that the software return signs of patching in the output, if not: the file has not been patched.
3. If none of the above works, you’d better use a nice binary editor (like Hex Editor Neo Free or XVI32) and try to find the original FourCC code. The FourCCs are very near the word Apple: just check all the occurrencies and you’ll find somewhere a human readable string with the word Apple in it: look at some four characters code and write that down. We will try to check that if you post it in the comments.
Here what appears “graphically” on my hex editor:

See those m2v1 and ‘m2v1′ strings around the center of the image? Gotcha!
Be aware that the word Apple will never appear if the file was not edited/created by a Machintosh! In that case the problem might still be the same, but we will have to check case by case.
Now I hope it’s more clear to everybody

(+4 rating, 4 votes)

Well, the simplest you can do is:
).
- unpack the tool in the same folder of your videos
- run m2v1_to_mp2v filename.mov
And you’re done.
I’ll leave you an email for further info, but unfortunately there will be no official support for it (no time, sorry
Unfortunately i haven’t managed to work it out!
If anyone can give more details on this problem.
Hi Filios, I’ll be glad to be of help, but you’ll have to write me your problem in details.
Have you tried the tool? Errors? Results?
Thanks for replying so soon. I went for holidays and have 20 gb of videos that a photographer took and i got them from his mac. I hope you can help me out.
What i have done till now:
then he managed to get the video with sound in some way but it took like 10 minutes for 1 video of 40 seconds. I am not sure what he did though.
1) I got the video and named it m2v1_to_mp2v 1.mov and the executive m2v1_to_mp2v.exe and it doesn’t work.
2) I downloaded the XV132 and inserted a file in there. A huge code appears and when i search for m2v1 i get 0 results.
3) I downloaded a program called yamb and i tried to change the format of the video. A friend managed to get the video without sound
4) I know took the video and dropped it onto the m2v1_to_mp2v.exe and i get a pop up window for 2 seconds and at the end it says parsing…?????
5) When i insert a video in vlcplayer i get this notice:
No suitable decoder module:
VLC does not support the audio or video format “m2v1″. Unfortunately there is no way for you to fix this.
I am sure there must be another way that you can help me with.
Well, that’s a start
The tool on this page only checks for m2v1 fourcc code. It appears that your videos are a little bit different.
If you open the file in XVI32, and search for ‘Apple’ (without quotes), you’ll probably end up near the tail of the file.
I have the text “Apple Video Media Handler”, then some unreadable stuff, then “stsd” and after another bunch of unreadable chars, “m2v1″, then again “m2v1″ after very little chars.
The best you could do is to send me a very small video for me to examine. But if that is not possible, please send me via email (I wrote you an email yesterday: did you get it?) either a screenshot of XVI32 with the piece of file near “Apple”, or cut the interested part of the file with the commands “Delete to cursor” and “Delete from cursor”.
Be sure to save to a *different* file name!! We don’t want to lose a video!
Send me your email please…
Filios,
I got your email with the clip sample and replied.
I’m writing here in case somebody else needed it.
It seems your clip has some different formats in it (expecially in the audio), but still I could find two occurences of “m2v1″.
So I ran the tool on the clip: it is still not played correctly neither by Quicktime Player, nor by Windows Media Plaer, but when I tried with VLC (Video Lan Client) I could watch the video! (it’s a couple of seconds clip of a windsurfer).
So I suggest to everyone in trouble, to first try VLC if find problems, after running the tool.
I found this idea and tool by google-ing incessantly on this weird Apple m2v1 format. I have gigs of home movie taken from a camera through iMovie and I want to play the raw clips through XBMC (clips are cataloged in iMovie). XBMC uses MPlayer and the m2v1 format obviously is not compatible. However, it doesn’t like mp2v either
Using a hex editor I changed the string to mpg2 and it works great (in XBMC/MPlayer). Am wondering if you could either share the source code
*or* make a change that would allow the tool to accept the destination FourCC string, e.g.,
m2v1_to_mp2v.exe -fourcc mpg2 mymovie.mov
You may want to change the tools name!
Thanks for a great find and (in advance) for some consideration in my request.
-Andy
Andy,
I’ll be glad to be of help: let me one or two days to make the changes.
If I have spare time problems or other issues, I’ll be happy to share the source code
I assume you can do the tool testing, when ready…
Awsome! Thanks! Ready to test…