Java: Capture video of what's on the screen
We are considering writing a software in Java that records whats monitor for certain durations of time while it is running. Do you have any suggestions on how to efficiently capture the monitor output?
The less CPU it takes the more often we can capture the screen and the smoother a video we can generate without interfering with the other apps that are running.
An existing Open Source program开发者_Go百科 in Java would work if it is not too difficult to copy out the screen capture section. I hope it won't require a call to another programming language. We will see.
I'm not sure if you'll need a framework.
Check out the documentation for the java.awt.Robot
class, specifically the createScreenCapture
method.
http://java.sun.com/javase/6/docs/api/java/awt/Robot.html
One of the best java frameworks is Monte Media Library, but first have a look to this to come up with the idea.
Let me know if it works :)
Well with OpenCV you can capture frames and put them in video (i did this for a motion tracking Senior Design project for school) there are a good amount of samples for OpenCV. however Im only familiar with it's C++ bindings, not Java (but there are C,Python libs too)
Does it HAVE to be java? cause using OpenCV to capture video is EXTREMELY easy (it's a matter of simply capturing frame buffers in a loop)
Sorry I wish I had a java related answer.....but figure i'd chime in anyways cause OpenCV is very very handy to use.
edit: http://code.google.com/p/javacv/
JavaCV contains wrappers to the C class ones? might be worth looking at.
Java has methods in the Robot class to take screenshots, but it is in no way optimized for creating video.
Is there any reason you cannot link to a platform specific screen capture program?
精彩评论