The Java Media Framework: Rolling...
Lost amidst the hoopla over this month's Java 2 roll-out was a significant announcement coming out of Sun Microsystems about one of the Web's hottest technologies -- streaming multimedia.
It enables developers to use a number of popular media types in applets and applications for running synchronized multimedia on any Java-compliant client, obsoleting the need for special plug-ins, company spokespersons said. It also allows multiple streams of media to be played at the same time.
A full 2.0 upgrade of the API is also in the works and is now available for public review (v0.5) -- with an early access release scheduled for the first quarter of 1999. According to the spokespersons, JMF 2.0 will extend 1.x by providing media capture, pluggable codecs, file saving, Real Time Protocol (RTP) broadcast, and the ability to access and control media data before rendering on screen.
Four versions of the JMF 1.1 release are now available:
- Java Media Framework 1.1 -- a cross-platform implementation for Java-compliant clients
- Java Media Framework 1.1 for Web Servers -- which installs on Web servers to allow the deployment of JMF applets
- Java Media Framework 1.1 with Solaris Performance Pack -- which optimizes performance and functionality on Solaris
- Java Media Framework 1.1 with Windows Performance Pack -- which offers optimization for Windows.
"The main thing to remember with 1.1 and what's really cool about it is that we put up two different versions of the all-Java side," said Michael Bandschuh, the JMF technical manager at Sun. "On the all-Java side you can install it just like one of the Performance Packs. So you get a multi-purpose media player on your system all ready to go using your browser."
He added that another unique feature is that developers can also take JMF 1.1 for Web Servers and, "Should you decide you only want to use QuickTime files on your site, you can use a customizer tool to basically trade the custom JMF JAR files to minimize the download time and the size of the files that will be downloaded."
JMF 1.1 supports most of the popular media types and formats, including: AVI, MIDI, MPEG-1, QuickTime, RMF, RTP, Vivo, and Wave. And it allows audio to be sampled at rates from 8KHz to 48KHz (discretely at 8, 11.025, 16, 22.05, 32, 44.1, and 48 KHz).
The pure Java video codec solutions include H263 and Cinepak; audio support includes GFM and various versions of ADPCM.
Practically speakingAndrew Shikiar, the JMF product manager said the new version will see use in venues as diverse as customer support, business presentations, and distance learning and training.
A developer who has already worked with the new implementation was enthusiastic about its deployment as a teaching tool.
"ACTV Net is using the Java Media Framework in its virtual environment for education and training, eSchool Online," said Craig Ullman, Keeper of the Magic at ACTV, a New York City digital TV/Net programming firm.
"What's cool about the JMF is that it enables eSchool to seamlessly combine video with Web pages automatically delivered to the user and a Java-based chat in one completely integrated, easy-to-use interface. The JMF also enables eSchool to support the wide variety of multimedia formats demanded by our customers."
Developer reactionExperts were both impressed and guarded in their evaluation of the new JMF implementation.
"[The] major difference is that more of the codecs are implemented in Java, and not natively, which is good news," said John Maxwell Hobbs, head of creative development at Ericsson CyberLab East in New York City. "What's also important is that JMF for Web Servers allows the deployment of JMF applets without requiring the end-user to download the entire JMF package -- this is particularly important since the JMF is a Java extension and does not come with the JDK."
Another expert agreed that JMF is an important library for Sun. "Unless Sun delivers this kind of service, the Java platform will never be used for 'desktop class' applications," said Benoît Marchal, president of Pineapplesoft in Namur, Belgium. "I mean, even financial applications, such as Quicken, use multimedia these days! Multimedia is part of the UI today."
He added that whether Sun will be successful is an open question. "It seems few are using Java to develop desktop applications. The focus today is more on server-side objects, consulting and report applications for intranets or other applications with limited UI needs. In that context, JMF is not required. I'm aware of the Lotus suite, but it's an exception. Others have dropped similar projects.
"Of course, this is a 'chicken and egg' situation. . . . I think Sun has to deliver these APIs real soon or people will be forced to use Microsoft 'extensions' and other non-portable solutions," Marchal continued. "That would mean the end of 'write once, run anywhere'. JMF, Swing, Java 2D, and, to some extent, Java 3D are part of that strategy."
The JMF team leaders were doubtless that their latest multimedia efforts would, indeed, make a significant difference in the marketplace.
"This is a result of our redoubling our efforts this year in Java multimedia APIs," said Shikiar. "We're very excited about the progress we've made so far and where we see JMF going in the future."
- Java Media Framework 1.1
- Java Media Framework API
- JMF 1.1 Documentation
- Frequently Asked Questions Java Media Framework
- Java Media APIs
- Ericsson Research
Kieron Murphy is the editorial manager for EarthWeb. He has previously written for The Java Report, JavaWorld, and IEEE Network, among other publications. He can be contacted at: firstname.lastname@example.org.