Video Codecs are the next DLL Hell

This issue needs more attention. Via Steve Makofsky


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2005/01/video-codecs-are-the-next-dll-hell.html

I hear you man, I was so irritated when I first set up my MCE 2k5 box. I had purchased the box, purchased the software, purchased a nice NVidia card, purchased a WinTV card, purchased a remote, and then… had to buy a decoder. What’s with that???

"Yeah, the OEMs may get pissed, but so what? … At some point Microsoft has to take a clear stand for the customer. …

“… Microsoft is the only consumer advocate that can help. If they abdicate their responsibility here, all Microsoft customers lose.”

I’m pretty sure it isn’t the OEMs that Microsoft’s afraid of–perhaps you’ll remember the antitrust lawsuits in the U.S. and Europe? The governments have ruled that these sorts of things are no longer Microsoft’s responsibility, and if Microsoft wants to take a clear stand for the customer than the governments will shut them down.

It’s nice now that people are realizing the perverse consequences of the governments’ actions, but it’s a bit too late.

Microsoft Windows Media codecs are automatically downloaded by Windows Media Player, including all Windows Media codec updates. The installation packages on this page are for IT Professionals and network administrators working in environments where corporate firewalls may prevent codec downloads. For general information about codecs and troubleshooting.

Jon, that was not the point of the topic. Anyone who has sat down and tried to convert their VHS movies, capture their favorite shows, or produce family movies into DVDs has also pulled all of their hair out. Encoders are still pretty horrible today. I’ve tried alot of so called solutions (including the Linux side) and I still hit and miss with them. For an example, I recently purchased a USB video capture device that came with it’s own software. Everything I tried to capture had the audio totally out of sync. The company’s customer service was sure it was my computers memory. After that they were sure it was my video card memory. Then they were sure it was that I needed to get their latest downloadable upgrade. Then they felt maybe my hard drive was slow. Finally they decided that my DVD recorder speed needed to be set lower. Guess what . . . after all of that, I still had 1 out of every 3 with audio out of sync. What really aggrevated me was their DRM. They listed my captures as MPEG but only their software could access it. I had a capture that I could not convert with another encoder (for troubleshooting). There are numerous codecs out there. You don’t realize how many till you crank up MPlayer on a linux machine and get an error message about a missing codec. Then you try to play another video with the same extension and get another error message about another missing codec. You’d think eventually they would settle on one codec type or another (at least for files with the same extensions). Jeff, is this only going to get worse as the DRM war continues?

I don’t see how you could have encoded it to a proprietary format if you in fact encoded it into mpeg files for burnign to DVD. Probably you did not encode it properly or the software simply does not support encoding to DVD (MPEG2).

Now, Linux is something completely different, the linux “community” seem to think they should get everything for free so they crack the CSS and now crack the HD-DVD protection (although the encryption will change), why should any commercial company take linux seriously and create working codecs with that atittude ?

The “codec hell” comes from the fact that 1. there is more than one company in the world doing video software 2. not everyone agrees what the best format is. It’s as simple as that. As pointed out a player such as Windows Media Player will automatically download the correct codec, although it wil not download any hacked codecs such as xvid.

The Linux community is not synonymous with DRM cracking and lumping the two together is just plain wrong. And while the original divx codec my have been a hacked solution, xvid itself is not.

This thread is a little out of date, but thought I should add some info to this. The problem is really that in a complicated field such as digital video, the average end user doesn’t know enough about the tech to make informed decisions on playback / conversion / authoring solutions. Thus they buy in to marketing ploys, in much the same way that my dad insists he needs Antivirus Product X else his computer will be overrun with hackers who will steal his bank details.

  1. The best solutions usually tend to be free. e.g. I have run my system for years with ffdshow, which provides almost all my decoding needs. It is free and constantly updated, as well as being very fast. For newer container formats like MP4/MKV, Haali Media Splitter (Matroska Splitter) is currently ahead of the game. So with the splitter outputting video / audio / subtitle streams (in whatever encoding they were made with), and ffdshow decoding those streams, I need nothing more… Thus haali / ffdshow are staples in my “stuff to install on fresh windows” package. The open-source community has always been ahead of the game in areas like this, due to their consistent drive to fix issues in their spare time and offer the most complete solution for everyone’s enjoyment. It is an illusion that you “need” all that commercial software, which like you say, results in codec hell. Not to mention proprietary formats and extensions that don’t comply to spec…

  2. One of the most common sources of confusion I see is in file formats vs codecs. Quite often I see people assume that because they can play one AVI file, they should be able to play all of them. Not so. Think of it this way… AVI/MP4/MKV/OGM, they’re all just containers that are capable of storing different things within them. Some, like AVI, are old and not flexible enough for modern needs (support for certain kinds of streams have to kind of be hacked in there), which is why formats like MKV were born and are becoming widely used by the encoding savvy. This distinction between container and the codecs used to store the various streams inside it is something that tends to be hidden by players, so people don’t learn about it. As a general rule though, an MP4/MKV file tends to be chosen to hold H264 video (AVC) and often AAC audio to go with it. An AVI will usually contain something like DivX / XviD with MP3 audio.

OK so this may all seem pretty complicated… It is.
But as mentioned in point 1, there are some great solutions out there to take care of all this for you, and they tend to be the free ones.

For playback you can set it and forget it pretty much, with the occasional update. Encoding your own videos / mastering DVD’s has always required further knowledge to get it right, but thankfully there is a wealth of free knowledge out there for that.
www.doom9.org has heaps of guides to get you started if you’re willing to take a bit of time to get your toolset figured out. :slight_smile:

Thanks KennyC

I’ve seen H264 being used in the Berkley online webcasts and mention that it’s emerging as the new standard but I didn’t know what it was attached to.

I wonder how long it’ll take the rest of the world to adapt its content.

“OEMs will do what is best for them, not for us. Microsoft is the only consumer advocate that can help. If they abdicate their responsibility here, all Microsoft customers lose.”

Next you’ll tell me that Microsoft does what’s right for us, and not for themselves.