我需要使用 FFmpegFrameGrabber 将实时流 http livestreaming 转换为 10 秒的图像和音频片段。我总是在下面的代码中得到grabbedimage null。我需要一些关于使用 javacv 下载实时流的帮助。
URL streamUrl = new URL("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4");
URLConnection connection = streamUrl.openConnection();
InputStream is2 = connection.getInputStream();
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(is2);
Frame grabbedImage = null;
grabber.start();
grabber.setFrameRate(grabber.getFrameRate());
Java2DFrameConverter c = new Java2DFrameConverter();
while ((grabbedImage = grabber.grab()) != null) {
ImageIO.write(c.convert(grabbedImage), "png",
new File("/mnt/test/" + System.currentTimeMillis() + ".png"));
}
grabber.close();