Audio, video, disco

JavaFX 2.1 includes MPEG-4 playback support

Oracle have announced that the next stable version of JavaFX 2.1 will introduce playback support for digital media stored in the MPEG-4 multimedia container format containing H.264/AVC video and Advanced Audio Coding (AAC) audio. 

Brian Burkhalter made the announcement on the JavaFX blog, updating us all on the progress of the implementation. The new capability will work across all operating systems that are supported by JavaFX, including Mac OS X, Linux, 32-bit Windows XP and Vista, and 32-bit and 64-bit Windows 7. Burkhalter did however admit that while the newer Windows 7 and Mac OS X would work unaided, the older versions would require additional software to enable playback.

This proposed functionality finally sees Java FX get up to speed in the 21st century as the format had been excluded until now. JavaFX 2.0 already supports audio formats MP3, AIFF, WAV and the FLV video format. From queries in the comment section of the blog, it was revealed that Oracle couldn't yet include WebM due to legal issues, even though it would like to.

Although nothing should prevent JavaFX to support WebM from a technical point of view, I cannot comment on Oracle's plans to support it due to legal issues with a certain company...

There are no plans to support Ogg Theora as part of JavaFX. I will not go into a discussion on which video and audio formats are technically superior, but let's say that the requirements we have gathered from corporate users don't mention Ogg Theora.

This being said, JavaFX is in the process of being open sourced, and Since the JavaFX media framework is based on GStreamer (another open source technology), WebM and Ogg Theora advocates should have no problems integrating these codecs with OpenJFX.

It looks like there's work to be done yet by the JavaFX team to make this MPEG-4 foray worthwhile. Burkhalter added 'One known limitation of JavaFX MPEG-4 media playback on Mac OS X is that at most one single H.264-encoded video stream may be played at a time. There are however no inherent limitations on the number of AAC-encoded tracks which may be played aside from those imposed by system resources. This issue is still under investigation.'

Whilst the move to incorporate MPEG-4 multimedia support into JavaFX was certainly necessary, it seems that for now at least, it's a fairly rudimentary effort that will grow in strength with time. The JavaFX team has been open in its early flaws, so that is a good sign.

You can try some of the sample code from the blog to see if it works for your project here. JavaFX 2.1 is currently in a developer preview build with the full version expected later in the year.

 

Chris Mayer

What do you think?

JAX Magazine - 2014 - 05 Exclucively for iPad users JAX Magazine on Android

Comments

Latest opinions