tiistaina, heinäkuuta 08, 2008

Handbrake 0.9.2 generates AVI files with broken FOURCC

I am able to play AVI files generated by Handbrake on my dad's Mac on my Mac and my Philips DVD player. However, when I generate AVI files myself, both my Mac and my Philips complain about unknown codec.

I found that Handbrake 0.9.1 (latest that works on my Dad's Tiger) creates AVI files with FOURCC code "DX50". The AVI files created by Handbrake 0.9.2 have FOURCC code "FMP4".

Apparently there is some semi-justifiable intellectual property issue, which has caused ffmpeg developers to change the FOURCC code they generate and Handbrake uses that library. While I understand writing open-source software is difficult and one rarely gets much appreciation for doing it, I cannot understand why open-source coders woud choose to make life difficult for their users. I myself was very, very close to dropping all open-source tools and buying a closed-source encoder from DivX.com.

But not quite. Finally I found a GUI utility called AviFourCCChangerX. Just changing the FOURCC code back to "DX50" makes everything alright again.

Additionally MacPorts carries a command-line utility called "cfourcc".

2 kommenttia:

Jon Rubin kirjoitti...

"I cannot understand why open-source coders woud choose to make life difficult for their users."

Err, well, actually, I changed the 4CC given by HandBrake because a user *requested* it:

http://forum.handbrake.fr/viewtopic.php?f=7&t=4691

In any case, it was changed back months ago, and you can grab snapshot builds with the fix on the forum or just compile yourself from the SVN repo.

Sami kirjoitti...

Ok, thanks for the heads up.

I think I still do not fully understand the meaning of this 4CC thing. It seems like there is no standard for those codes. Or something. But the video and audio data itself seems to be well standardized. At least they usually work when the 4CC is fixed.