Mayank Tiwari
Mayank Tiwari

Reputation: 3020

Capurting Frames from a video file without playing it on screen

I am a beginner in java programming language, Recently I have got a work to capture frames from a video file, I have also developed a program that does so, but it does that when the video is played on screen with the help of any player.

I have developed following program to do so.

public class Beginning implements Runnable {

    private Thread thread;
    private static long counter = 0;
    private final int FRAME_CAPTURE_RATE = 124;
    private Robot robot;

    public Beginning() throws Exception {
        robot = new Robot();
        thread = new Thread(this);
        thread.start();
    }

    public static void main(String[] args) throws Exception {
        Beginning beginning = new Beginning();
    }

    public void run() {
        for (;;) {
            try {
                Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
                BufferedImage bufferedImage = robot.createScreenCapture(screenRect);
                ImageIO.write(bufferedImage, "png", new File("D:\\CapturedFrame\\toolImage" + counter + ".png"));
                counter++;
                thread.sleep(FRAME_CAPTURE_RATE);
            } catch (Exception e) {
                System.err.println("Something fishy is going on...");
            }
        }
    }
}

My sir has told to capture all frames from any specified videos without playing it on screen, Can anyone please suggest me that how can I do so.

Upvotes: 1

Views: 128

Answers (1)

Preeti Mishra
Preeti Mishra

Reputation: 11

Well, you can simply use OpenCV. Here is an example of it.

https://www.tutorialspoint.com/opencv/opencv_using_camera.htm

You can use any video in place of the camera in the VideoCapture class as:

VideoCapture capture = new VideoCapture(0);

instead of the above line of code, you can use

VideoCapture capture = new VideoCapture("/location/of/video/");

I hope this is what you are looking for.

Upvotes: 1

Related Questions