首页 > 编程语言 >java opencv读取rtsp

java opencv读取rtsp

时间:2023-09-02 13:23:13浏览次数:45  
标签:RTSP java 读取 FFmpegFrameGrabber canvasFrame rtsp opencv grabber Java

 

要使用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。

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

标签:RTSP,java,读取,FFmpegFrameGrabber,canvasFrame,rtsp,opencv,grabber,Java
From: https://www.cnblogs.com/herd/p/17668646.html

相关文章

  • 从源码编译OpenCV
    从源码编译的原因官方已经有编译好的包可下载:https://opencv.org/releases/但是在iOS项目中集成官方编译的pack(目前为4.8.0),出现以下错误:ld:in/.../opencv2.framework/opencv2(opencl_kernels_calib3d.o),buildingforiOSSimulator,butlinkinginobjectfilebuiltf......
  • java POI实现导入导出功能
    导入POI库的依赖项,在项目中加入以下Maven依赖项:<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi......
  • 基于Java的高校学生请假审批系统的设计与实现-计算机毕业设计源码+LW文档
    一、选题的目的和意义:计算机技术的发展,带来了时代变革,我们的生活方式发生了重大改变。计算机网络的普及使得信息共享成为现实,利用数据库进行信息存储分析,优化了工作方式,提高了工作效率,经过多年的发展,数据库已经应用到社会生活的方方面面,完善的数据库技术和理论基础为计算机软件提......
  • 从零开发Java入门项目--十天掌握
    ​ 原文网址:从零开发Java入门项目--十天掌握_IT利刃出鞘的博客-CSDN博客简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发Java项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>......
  • Flink 1.17教程:wordcount maven工程java代码示例(批、流实现方式)
    批、流实现wordcount代码示例pom.xml<properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><......
  • Java代码:flink wordcount代码示例及解读
    WordCountWordCountPojo.java代码packagewordCount;importorg.apache.flink.api.common.functions.FlatMapFunction;importorg.apache.flink.api.common.functions.ReduceFunction;importorg.apache.flink.api.java.DataSet;importorg.apache.flink.api.java.Executio......
  • Java集合面试之Queue篇
    Java集合面试之Queue篇(qq.com)1、队列是什么?队列是常用数据结构之一。是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,故为先进先出(FIFO,firstinfirstout)线性表。和栈一样,队列是一种操作受限制的线性表。2、队列的分类?Qu......
  • 从零开发Java入门项目--十天掌握
    简介这是一个靠谱的Java入门项目实战,名字叫蚂蚁爱购。从零开发项目,视频加文档,十天就能学会开发Java项目,教程路线是:搭建环境=>安装软件=>创建项目=>添加依赖和配置=>通过表生成代码=>编写Java代码=>代码自测=>前后端联调=>准备找工作。学完即可成为合格的Java开发,心里有底,再......
  • 说说你知道哪些Java集合吧
    Java集合,主要由两大接口派生而来一个是Collection接口,主要用于存放单一元素;下面有三个主要的子接口,List、Set、Queue。List实现类主要有ArrayList、LinkedList、Vector、StackSet实现类主要是HashSet、LinkedHashSet、TreeSetQueue主要是实现类有ArrayDeque、PriorityQueue......
  • Java List常见面试题
    Java集合面试之List篇你好,面试官|我用JavaList狂怼面试官~(qq.com)本文涉及ArrayList与LinkedList区别、ArrayList扩容机制、CopyOnWriteArrayList特点、场景、思想ArrayList:基于数组实现的非线程安全的集合。实现RandomAccess接口,支持随机访问,查询元素快,插入,......