MPEG-4 BIFS

and XMT Tutorial


These pages aim at providing a base understanding of the MPEG-4 scene description language BIFS (BInary Format for Scenes). The tutorial you will find here explains base principles of the scene manipulation. It is recommended while stepping through this tutorial to keep an eye on the VRML standard to get further explanations, since the MPEG-4 scene graph is based on the VRML one.
You may also look at the X3D specification for some information on the XMT-A format, but keep in mind that X3D and XMT-A syntaxes are not completely equivalent.

Some things before we get started (as a reminder ...):

BIFS is a binary format, which means that there must be a compilator to translate the scene from text to binary. Of course the authoring will be done through text so have your favorite text editor at hand. The textual format used is the XMT-A format, the official XML low-level MPEG-4 scene description language standardized by MPEG. We will however give examples in another format called 'bt' developped at ENST and based on the original VRML format (.wrl files), which some authors may prefer for readability.
The 'bt' document architecture is very similar to the XMT-A one and its syntax close to VRML one, so that's a perfect step for people not willing to dig into XML documents. XMT-A and BT are exact transcription of the BIFS bitstream. However there is another standard textual format for MPEG-4 called XMT-O, which is a high-level representation of the scene more or less compatible with the SMIL standard: authoring is simpler but you have less controls on objects you're creating, unless using XMT-A in XMT-O.

In order to play the presentation, the best thing is to pack everything in MP4, the MPEG-4 file format based on Apple's QuickTime file format.

Finally we will need a tool to import any media (MPEG4 video and audio, JPEG, MP3, ...) we wish to integrate in our presentation.

Be your choice XMT-A or BT, the best, freely available tool performing all these tasks is of course MP4Box.

Finally you will need your favorite MPEG-4 player (not just audio/video player of course) to have a look at what you've done, we won't suggest any of these but some links are available at the gpac web site. Be carefull that some players are specialized in 3D scenes while others only do 2D scenes. This tutorial is about 2D scenes only for historical reasons, but many things are common to 2D and 3D scenes. Moreover most of MPEG-4 3D tools are the VRML ones, and there is quite some material discussing VRML on the internet.


Questions, suggestions and any other reward are of course welcome - drop us a line on our forums on sourceforge.


[ Back to GPAC Web Page ]      [ BIFS Tutorial Start Page ]


Last Modified: 02/04/2005
Cyril Concolato & Jean Le Feuvre © 2002-2005