Я использую JavaCV для захвата кадра из видео.
Я могу получить, если видео находится в абсолютном пути. Но если видео в HTTP, то JavaCV выдает ошибку.
url = new URL("http://www.sample-videos.com/video/mp4/720/SampleVideo.mp4");
urlConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = urlConnection.getInputStream();
Java2DFrameConverter bimConverter = new Java2DFrameConverter();
FFmpegFrameGrabber frameGrabber = new FFmpegFrameGrabber(inputStream);
String output = "C:\\Users\\xxxx\\Downloads\\Test";
frameGrabber.start();
Frame frame;
double frameRate=frameGrabber.getFrameRate();
int imgNum=5;
System.out.println("Video has "+frameGrabber.getFrameRate()+" frames and has frame rate of "+frameRate);
try {
frameGrabber.setFrameNumber(1000);
frame = frameGrabber.grabKeyFrame();
BufferedImage bi = bimConverter.convert(frame);
String path = output+File.separator+imgNum+".jpg";
ImageIO.write(bi,"png", new File(path));
frameGrabber.stop();
frameGrabber.close();
frameGrabber.flush();
} catch (Exception e) {
e.printStackTrace();
}
Любая помощь будет полезна. Заранее спасибо.