引入maven坐标
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv-platform</artifactId>
<version>1.5.9</version>
</dependency>
测试代码:
import org.bytedeco.javacpp.avcodec;
import org.bytedeco.javacpp.avformat;
import org.bytedeco.javacpp.avutil;
import org.bytedeco.javacpp.swscale;
import org.bytedeco.javacv.*;
import java.awt.image.BufferedImage;
import java.io.File;
public class VideoCaptureExample {
public static void main(String[] args) {
String videoUrl = "YOUR_FLV_VIDEO_STREAM_URL";
String outputImage = "output.jpg";
try {
FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(videoUrl);
grabber.start();
OpenCVFrameConverter.ToIplImage converter = new
OpenCVFrameConverter.ToIplImage();
Frame frame;
// 截取视频流的一帧
if ((frame = grabber.grabImage()) != null) {
IplImage iplImage = converter.convert(frame);
// 保存帧为图像文件
opencv_imgcodecs.cvSaveImage(outputImage, iplImage);
System.out.println("已从视频流中截取一帧图片并保存为 " + outputImage);
}
grabber.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
}