Моя цель - снять видео с веб-камеры и сохранить его.Я уже могу делать фотографии с помощью веб-камеры.
Поэтому я использую API веб-камеры, предоставляемые sarxos.Теперь я хочу соединить изображения, чтобы получить видео.До сих пор я использовал OpenCV для этой цели.К сожалению, видео кажется ускоренным и имеет синий цвет.
Runnable recordVideo = () -> {
final int FPS = 30;
final int WIDTH = 640;
final int HEIGHT = 480;
File output = new File('test.avi');
webcam.setViewSize(new Dimension(WIDTH, HEIGHT));
webcam.open();
Java2DFrameConverter java2DFrameConverter = new Java2DFrameConverter();
OpenCVFrameRecorder recorder = new OpenCVFrameRecorder(output, WIDTH, HEIGHT);
recorder.setFrameRate(FPS);
recorder.setVideoCodec(opencv_videoio.VideoWriter.fourcc((byte) 'M', (byte) 'J', (byte) 'P', (byte) 'G'));
try {
recorder.start();
while (true) {
if (Thread.currentThread().isInterrupted()) {
break;
}
BufferedImage image = webcam.getImage();
recorder.record(java2DFrameConverter.convert(image));
try {
Thread.sleep(1000 / (long) FPS);
} catch (InterruptedException e) {
break;
}
}
recorder.stop();
recorder.release();
log.info("[RecorderService] Video recorded in file: " + output.getAbsolutePath());
webcam.close();
} catch (Exception e) {
e.printStackTrace();
}
};
recordVideoThread = new Thread(recordVideo);
recordVideoThread.start();
pom.xmlоригинальный цвет?