IBM Toolkit for MPEG-4 A set of Java classes and APIs with five sample applications: three cross-platform playback applications and two tools for generating MPEG-4 content for use with MPEG-4-compliant devices. Date Posted: May 1, 2003 Overview Requirements Download FAQs Forum Reviews 1. What is MPEG-4? 2. What is ISMA? 3. How do I create ISMA-compliant content? 4. How do I create suitable input media files? 5. What media formats are supported? 6. What is MPEG-4 Systems? 7. How do I create content containing MPEG-4 Systems? 8. What output formats can be created? 9. Why can't I find some of the items described in the Help? 10. I have heard of profiles and levels. What do you support? 11. Is the IBM Toolkit for MPEG-4 written totally in Java? 12. When using M4Play or M4Applet, why do I get different behavior playing content in different Virtual Machines? 13. Why does my audio have poor quality? 14. Why do my graphics look different, and why I don't have transparency effects? 15. Why are there different requirements for the player and creating components? 16. Where can I get more information on the IBM Toolkit for MPEG-4? 17. Where can I get more information about MPEG-4 and MPEG-4 Systems? 18. Where can I get more information on XMT, the textual authoring format? 19. Can I use the IBM Toolkit for MPEG-4 to develop my own applications? 20. With this toolkit, can I play or use content created by other vendors' tools? 1. What is MPEG-4? MPEG-4 is a new multimedia standard for coding and composing audio, video, graphics, text, etc., into a presentation scene with user interactivity. MPEG-4 coding treats a scene as a collection of media objects, each of which is individually coded and can be dynamically updated. MPEG-4 is an ISO/IEC standard developed by MPEG (Moving Picture Experts Group). MPEG-4 builds on the earlier MPEG-1 and MPEG-2 standards published by MPEG. MPEG-4 is a standard for composing rich media in a graphical scene. Various rich media including audio, video, images, text, graphics can be placed in 2- or 3-dimensional scenes with which the user can interact. See the MPEG Web site for further information. Back to top Back to top 2. What is ISMA? ISMA stands for Internet Streaming Media Alliance. ISMA sets forth a framework of open standards for streaming rich media over IP networks and the Internet. Back to top Back to top 3. How do I create ISMA-compliant content? Use the AVgen application. It takes pre-encoded MPEG-4 Simple Profile video and Low Complexity AAC streams and creates an mp4 file from them and, optionally, "hints" it. Back to top Back to top 4. How do I create suitable input media files? Search on the Internet for third-party video and audio encoders that convert between various media formats. For example, check out DIVX encoder for creating MPEG-4 video files. Go to the DIVX Web site. Back to top Back to top 5. What media formats are supported? The IBM Toolkit for MPEG-4 supports Simple Profile MPEG-4 video and Low Complexity AAC for audio. It also supports the popular MP3 audio format and JPEG images. Back to top Back to top 6. What is MPEG-4 Systems? MPEG-4 Systems is the part of the MPEG-4 standard that describes a scene containing various 2D and 3D graphical elements into which other audio/video media streams can be composed. The scene is designed to be dynamically updated, using highly compressed Binary commands for the Scene (BIFS), so that the overall content presentation can be changed at will. Back to top Back to top 7. How do I create content containing MPEG-4 Systems? Use the XmtBatch application. The input is a text document in Extensible MPEG Textual (XMT) format that can be edited with a plain text editor or any XML editor of your choosing. If you want to include video, audio, or images, then you need those in pre-encoded formats such as MPEG-4 video, AAC, MP3, and JPG. Back to top Back to top 8. What output formats can be created? AVgen and XmtBatch can create * Mp4 files: standard files including hints for streaming over RTP * M4x files: lightweight, interleaved format targeted for use with applet player using HTTP for progressive download from a standard Web server. XmtBatch can create XML files: MPEG-4 Extensible Textual Format (XMT), high-level XMT-O, and low-level XMT-A. Back to top Back to top 9. Why can't I find some of the items described in the Help? The IBM Toolkit for MPEG-4 released on alphaWorks does not contain all the technologies we have developed for it. There are licensing and other legal issues behind this decision. Back to top Back to top 10. I have heard of profiles and levels. What do you support? The MPEG-4 video CODEC supports decoding of Simple Profile Video streams. The AAC decoder supports Low Complexity profile. Back to top Back to top 11. Is the IBM Toolkit for MPEG-4 written totally in Java? Yes, the IBM Toolkit for MPEG-4 is written completely in Java and will run on any operating system with the appropriate Java Virtual Machine (please see the system requirements for more information). We do, however, have native audio and video decoders, audio players, and other components that can improve performance or quality for Windows, WinCE, and Linux. These were not included in the evaluation package here. Back to top Back to top 12. When using M4Play or M4Applet, why do I get different behavior playing content in different Virtual Machines? Please see the next two questions. Back to top Back to top 13. Why does my audio have poor quality? Before Java 1.3, the audio support in Java was mainly for applets and was in officially undocumented classes such as sun.audio. In Java 1.1, the only support was for 8kHz u-Law Mono audio. So to play audio there, we have to "down sample" the content which results in loss of quality. We recommend that you use Java 1.3 or above; these versions use JavaSound, which provides much improved audio quality. Back to top Back to top 14. Why do my graphics look different, and why I don't have transparency effects? Prior to the Java2D support, which was introduced in Java 1.2, the graphics capability was provided by the AWT. Java 2D introduced a very capable set of graphics functions and included such features as line styles, anti-aliasing, transparency, etc. We recommend that you use Java 1.2 or above; these versions have Java 2D support as standard. Back to top Back to top 15. Why are there different requirements for the player and creating components? The player components were designed to automatically adapt to the Java Virtual Machine capabilities and run on older Java versions that can often still be found in the browsers, so that a player can be deployed as an applet. Back to top Back to top 16. Where can I get more information on the IBM Toolkit for MPEG-4? Please go to http://www.research.ibm.com/mpeg-4, where you can find information about our team and the research we are involved with. Back to top Back to top 17. Where can I get more information about MPEG-4 and MPEG-4 Systems? The following books and Web site are useful references: * The MPEG-4 Book, published by Prentice Hall (ISBN: 0130616214) * MPEG-4 Jump-Start, published by Prentice Hall (ISBN: 0130600369) * MPEG Web site. Back to top Back to top 18. Where can I get more information on XMT, the textual authoring format? The XML format is based on SMIL and is now part of the ISO/IEC specification, which can be purchased from ISO. There are also some working documents for the MPEG-4 standard on the MPEG home site. At the time of this writing, in the "Systems" section is the draft document WD 1.0 of ISO/IEC 14491-1 3rd Edition, which contains the specification for XMT. The books listed above also contain chapters on XMT. Back to top Back to top 19. Can I use the IBM Toolkit for MPEG-4 to develop my own applications? Yes, the IBM Toolkit for MPEG-4 SDK package has documentation and sample code and is available for use and evaluation. In addition, you can license the IBM Toolkit for MPEG-4 SDK. For more details, see the alphaWorks licensing page or e-mail alphaWorks. Back to top Back to top 20. With this toolkit, can I play or use content created by other vendors' tools? Yes; MPEG-4 is an open, interoperable standard. MPEG-4 does contain very feature-rich tools and our evaluation package implements only a subset concerned mainly with audio/video applications and 2D graphics; however, we have done interoperability testing with other vendors and have provided reference bit streams to the MPEG-4 standard.