Creating Interactive Video With MPEG4
Profiles and Compatibility
MPEG4 is designed to be useful for video playback across a wide variety of devices, from cell phones to powerful desktop computers; from pocket sized handhelds to TV set top boxes. To support this flexibility, the spec is divided into different profiles and levels, each defining a subset of MPEG4's total feature set. An MPEG player will support a particular profile by implementing all of that profile's features. IBM's SamplesForMPEG4 (also available at alphaWorks) includes dozens of examples of varied XMT and MPEG4 features. Many of these play in the QT and Real players, while others do not. (Of course, they all play in IBM's M4Play, part of the Toolkit.)
Frankly, I didn't know that my watermark.mp4 example wouldn't work in the RealOne and Quicktime players until I tried it. After all, both have rich support for MPEG4 via the EnvivioTV plugin. From the information published by Envivio, Real, Apple, and IBM, it's not easy to figure out what profiles and levels are supported by each player; or which ones are required by the various features I choose to use in my XMT-O code. Let's face it, out here on the cutting edge you have to get used to living with uncertainty.
In this column over the coming weeks, we'll try to dull that edge by diving into more detailed information and examples of how MPEG4 can be put to practical use today.