I recently discovered these Java bindings for GStreamer by Wayne Meissner, and started writing an alternative video library for Processing based on them. My idea is to create an alternative for the built-in Quicktime video library, which is difficult to use on Windows because its dependency on WinVDIG, and doesn’t work on Linux at all.
So I came up with this new gsvideo library, in which I will eventually re-implement all the three classes of the built-in video library: Capture, Movie and MovieMaker. The idea is that the new classes, called GSCapture, GSMovie and GSMovieMaker, will have exactly the same API as the original ones.
Right now, there is a working implementation of GSMovie, which implements all the functionality of the original Movie class, with the exception of the frameRate() and speed() functions. These are the available files:
the library package, that you have to place inside the Processing library folder.
the source code of the library (for now, just the GSMovie class)
And then some examples:
video loop: same as the video loop example that comes with Processing
video scratching: video playback determined by the mouse position
multiple videos: same as video loop, but using to video files
The GSMovie class works exactly the same way as the original Movie, i.e.: data is read with the movieEvent() function, the frame is drawn calling image(), etc.
This library needs GStreamer installed on the system. For Windows, you can download binary packages from here. For OSX, I haven’t found any binary distribution yet, but you can try installing it through Darwin Ports, or manually compiling the GStreamer source code. I know that this latter option seems to work fine, but first you need to install a couple of dependencies:
In Linux, GStreamer usually comes installed by default. If not, binary packages are available for almost all distributions. And there is always the option of compiling from source :-)
Update: GSVideo has a new project website where you can find the latest installation packages, examples, API reference, etc.: http://gsvideo.sourceforge.net/