JMF Solutions

Rotation Effect

How do you create a custom Effect plug-in and create a Processor that uses the effect? For instance, how do you create a rotation effect on a video track?

An Effect plug-in is similar to a Codec plug-in in terms of number of inputs, number of outputs and functionality. As far as the Processor is concerned, an Effect is treated the same way a Codec is. The main differences are in the way they are registered and their behaviour. Unlike a Codec, an Effect typically does not modify the format of the data. An Effect usually modifies the data bits in some way. For instance, a mirror effect or a mosaic effect.

The RotationEffect class works on 24-bit RGB data. It uses the rotation matrix multiplication formula to rotate and scale the incoming video frames in real-time. It pre-computes sine and cosine values to arrays in order to improve performance.

To make a Processor use this effect you need to instantiate the RotationEffect and set it on a configured Processor's video track. This part is done by the TestEffect sample program.
Platform: JDK 1.1.6 or later
JMF API: 2.0 or later
Implementation: AJ, WPP, SPP *

* AJ = All Java, WPP = Windows Performance Pack, SPP = Solaris Performance Pack
How to run this sample
  1. Download the java sources, compile them and set the CLASSPATH to point to them.
  2. Run TestEffect with a URL in the command line

  3. For example,

    java TestEffect file:/C:/
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