java opencv读取rtsp

 

要使用Java和OpenCV读取RTSP流,您需要使用JavaCV库。JavaCV是一个Java绑定库,它提供了与OpenCV的接口,使您可以在Java中方便地使用OpenCV的功能。

以下是一个简单的Java程序,它使用JavaCV库从RTSP流中读取视频帧:

 

复制代码
import org.bytedeco.javacv.*;
public class RTSPReader {
    public static void main(String[] args) {
        String rtspUrl = "rtsp://baidu.com/stream1/233/1";
        try {
            FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(rtspUrl);
            grabber.start();
            CanvasFrame canvasFrame = new CanvasFrame("RTSP Stream");
            canvasFrame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
            while (true) {
                Frame frame = grabber.grab();
                if (frame == null) {
                    break;
                }
                canvasFrame.showImage(frame);
            }
            grabber.stop();
            canvasFrame.dispose();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
复制代码

 

 

在上面的代码中,我们首先指定RTSP流的URL,然后使用FFmpegFrameGrabber类从RTSP流中获取视频帧。然后,我们创建一个CanvasFrame对象,用于在窗口中显示视频帧。在while循环中,我们不断从grabber中获取帧,并在canvasFrame中显示。当grabber没有更多的帧可提供时,循环将退出。最后,我们停止grabber并销毁canvasFrame。

##########################

posted @   西北逍遥  阅读(767)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2022-09-02 IfcExternalReference
2021-09-02 没有理清的一段代码
2021-09-02 方块
2020-09-02 传输图片
2019-09-02 ubuntu挂载新硬盘
点击右上角即可分享
微信分享提示