Currently, the functioning prototype has everything it needs to work: A semi-transparent window for easy resizing on the place you want to record, multiple threads to manag
I suggest to use Xuggler for this. Here's an introduction.