JMF Solutions

Render Live Video on a 3D Surface

Given an input media file, the object is to render the video track onto a 3D surface.

A sample Java 3D renderer plugin is written.  It creates the Java3D scene graph of a 3D surface (such as Cylnder), onto which the video will be texture mapped to. In interface VideoRenderer's method process, for each frame of the video, it converts the raw image data to a BufferedImage object, then to create a ImageComponent2D object (the data access mode is by reference). Finally it sets this ImageComponent2D object to the scene graph's texture object by calling its method setImage. A sample application DemoJMFJ3D shows how Java 3D renderer works.
Please note: In order to achieve a decent performance, the data access mode in ImageComponent2D has to be by reference. And BufferedImage's type had better be BufferedImage.TYPE_4BYTE_ABGR on solaris, BufferedImage.TYPE_3BYTE_BGR on windows.
Platform: JDK 1.2.2. or later
JMF API: 2.0 or later
Java3D API: 1.2 or later
OpenGL API: 1.2 or later
Implementation: AJ, WPP, SPP *

* AJ = All Java, WPP = Windows Performance Pack, SPP = Solaris Performance Pack
Related Classes
How to run this sample
java DemoJMFJ3D -m <input URL>
java DemoJMFJ3D -m file:/home/somebody/
will render the video track of the input file onto a cylnder surface.
Please also refer to the README file.
Source Code
Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
Duke's Choice Awards Nomination RHS

VTS OnDemand RHS Banner

Virtual Tech Summit Sept 2015 RHS banner

JavaOne 2014 Replay banner