Apple WWDC 2004 - QuickTime update

Published on:

QuickTime was my main reason for attending Apple's WWDC, more specifically what's up with the codecs and the streaming server.

The codecs (coder-decoder) are those algorithms that are used to 1) encode content in order to compress it, 2) decode the compressed content in order to display it. Codecs are at the heart of the battle between technology suppliers. The WWDC just confirmed what should now be quite obvious in the IT world, in the field of codec standards, it's a Microsoft vs. the rest of the world battle. To summarize it: everybody but Microsoft is moving towards MPEG-4 Part 10 AVC, aka H.264 depending of which standards body (ITU or ISO) names it (H.264 and MPEG-4 AVC are the same thing.)

The most noticeable characteristics of H.264/AVC are:

  • The standard only defines the bitstream, roughly how to decode the stream. This way it guaranties the compatibility on the client side (all compatible clients will decode a standard stream). By not defining the encoding part, it lets technology suppliers compete to provide better encoders that still produce standard streams
  • This codec has the broadest client scope, it is meant to support anything from HD-DVD down to 3G phones with the same format
  • It has a quite broad industrial support (i.e. everyone but Microsoft)
  • It has a better licensing model than the current MPEG-4 Part 2 format (you have to check the fine prints for specific cases, but generally those who don't make money out of encoded content don't have to pay a fee to distribute their content)

You can expect encoders to appear anytime soon (e.g. Sorenson Squeeze 4, Apple QuickTime Pro shipped with Tiger) and mass distribution of H.264/AVC compatible clients within a year from now (QuickTime in Tiger and very likely all 3GPP and 3GPP2 compatible mobile phones). Warning: if you ever get a hand on the encoder that ships on the preview release of Tiger that Apple gave this week at the conference, do not encode and store anything vital with it, it will NOT play with the final version of the codec.

As for the streaming server, I'll have to digest a whole bunch of information before I can come back to this subject, so that'll be for another time.