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).
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
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
- check the results
The results must be something like:
m2v1 to mp2v: opening clip1.mov…Parsing…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.
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