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 :)

m2v1_to FourCC

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 :-D


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:
m2v1 hex string
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 :-D

Share

Related posts

Related External Links

Rating

Not useful/interestingUseful/Interesting (+4 rating, 4 votes)
Loading ... Loading ...

76 Comments

  • Nobuo Okabe says:

    Hi,

    Thank you for your interesting tool.

    It is just FYI.

    I patched a clip file with your tool.
    But, it can not be played with QuickTime
    on XP even though with MPEG2 plug-in.

    Sorry, I don’t have enough time for investigation.

    The long and winding load…..

    Thanks,

  • Nobuo Okabe says:

    FYI again.

    This issue may be well-known:

    http://discussions.apple.com/thread.jspa?messageID=7789424

    On Mac, MPEG2 plug-in cannot solve the issue:

    http://discussions.apple.com/thread.jspa?messageID=7988417

  • MindSuburbian says:

    Nobuo,
    I googled myself before posting this blog entry and I only found one single thread about the problem.
    Allow me to say that it doesn’t seem a really well-known problem ;-)

    Anyway I can’t test the tool myself with different files from Mac as I do not own a Mac (or Leopard Intel hacks).

    What I suggest, if you have time, is to search through your original file with a HEX editor for the string ‘m2v2′ and see if it falls in the case presented here or not (it may well be that it’s another format, e.g. some DV or DivX).

  • JP says:

    Your conversion tool is a lifesaver!! Thanks a million! It works great!

  • JP says:

    Hi… I’m the same JP as above. I’m having a problem with a few of my files. They are about 2.2 gigs or more, and the converter won’t even look at them. It immediately goes to “Parsing Done!” Any idea why?
    Thanks for your help! :)

  • MindSuburbian says:

    Hi JP!
    The tool should be fine up to 4Gb as it uses long ints for file seeking, but I never tested it with such files ;-)
    Try to discover the FourCC code opening it with a player (e.g. with Media Player, VLC…) and displaying properties.
    If it says the video codec is m2v1, then the tool has some problems :-P , if not, well it’s another format (see comments above), and I can’t fix the problem, at least not without knowing the FourCC code (and a sample would also be better)

  • [...] they did it again! Well I don’t really know exactly how come this happened: someone sais it’s because of [...]

  • Pierre says:

    Congrats man !

    thanks for your usefull tool !

  • arsix says:

    excellent tool, thanks a lot!

  • Filios says:

    I have the same problem!
    Got some videos from a mac and just have the sound no picture.
    I read your instructions but have not managed to succeed.
    Can you please explain in more details what i should be doing?

Leave a Reply