Have you looked at the the processing.movie library? http://processing.org/reference/libraries/video/index.html
This simple example loads a video and pauses it when the mouse is pressed which can be modified to the keyboard. There are also functions to change the speed of the video but I am not sure about reverse play.
This simple example loads a video and pauses it when the mouse is pressed which can be modified to the keyboard. There are also functions to change the speed of the video but I am not sure about reverse play.
import processing.video.*; Movie myMovie; void setup() { size(200, 200); background(0); myMovie = new Movie(this, "totoro.mov"); myMovie.play(); } void draw() { background(255); image(myMovie, 0, 0); } void movieEvent(Movie m) { m.read(); } // Pause the movie playback when the mouse pressed void mousePressed() { myMovie.pause();}