rtsp 获取视频流 java_Java获取rtsp视频流,实现rtsp流预览功能,并将视频流每帧保存成图片…

rtsp 获取视频流 java_Java获取rtsp视频流,实现rtsp流预览功能,并将视频流每帧保存成图片…先展示maven依赖吧,就一个javacvorg.bytedecojavacv-platform1.5.1pom然后就是测试类publicstaticvoidtestzc()throwsFrameGrabber.Exception{Stringrtsp=”获取的对应rtsp流”;FFmpegFrameGrabbergrabber=FFmpegFrameGrabber.crea…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

先展示maven依赖吧,就一个javacv

org.bytedeco

javacv-platform

1.5.1

pom

然后就是测试类

public static void testzc() throws FrameGrabber.Exception

{

String rtsp = “获取的对应rtsp流”;

FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtsp);

grabber.setOption(“rtsp_transport”, “tcp”); // 使用tcp的方式,不然会丢包很严重

grabber.setImageWidth(960);

grabber.setImageHeight(540);

grabber.start();

CanvasFrame canvasFrame = new CanvasFrame(“正茂”);// 创建窗口

canvasFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 设置窗口关闭程序是否也跟随关闭

canvasFrame.setAlwaysOnTop(true);

OpenCVFrameConverter.ToMat converter = new OpenCVFrameConverter.ToMat();

int ex = 0;

while (true)

{

Frame frame = grabber.grabImage();

canvasFrame.showImage(frame);

//程序到这里其实已经实现了预览的功能了,下面的方法就是将流保存成图片

//opencv_core.Mat

Mat mat = converter.convertToMat(frame);

opencv_imgcodecs.imwrite(“E:\\tp\\” + ex + “.png”, mat);

ex++;

try

{

Thread.sleep(1000);

}

catch (InterruptedException e)

{

e.printStackTrace();

} // 1000毫秒刷新一次圖像

}

}

还有一个调用这个方法的主类,我也贴出来吧

public static void main(String[] args)

{

try

{

testzc();

}

catch (Exception e)

{

e.printStackTrace();

}

}

最后我还是想说一句,在调用rtsp流之前,先弄清楚你的摄像头设备的流获取规则,比如我的摄像头牌子是海康的,对应的获取流的规则,我在另个帖子说了,你们要根据你们的牌子找对应的规则获取到流后再做上面的流处理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/184299.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WPF Visifire图表控件使用基础

    WPF Visifire图表控件使用基础https://www.cnblogs.com/wyuan/archive/2012/07/22/WPF.html引言:  由于项目中需要使用Visifire所以自己就写了一些demo,大家一起共享!基础Visifire图表的展示1.Visifire的创建需要引用的DLL包【WPFToolkit.dll;WPFVisifire.Charts;WPFVisifire.Gauges(这个以后会用到)】2

    2022年7月21日
  • Linux通配符详解_Linux 通配符

    Linux通配符详解_Linux 通配符linux中常用的通配符详解:*:匹配0个或多个任意字符?:匹配任意单个字符[abc]:匹配abc中的任意单个字符[!abc]:匹配除abc中的任意单个字符[a-z]:匹配a-z中任意单个字符{string1,string2,…}:匹配string1,string2,或更多字符串例如:有file.jpg,file1.jpg,file2.jpg…file14.jpg共15个文件l…

    2022年9月19日
  • windows 设置脚本IP

    windows 设置脚本IP

    2022年1月5日
  • 深度:一文看懂Linux内核!Linux内核架构和工作原理详解[通俗易懂]

    深度:一文看懂Linux内核!Linux内核架构和工作原理详解[通俗易懂]简介作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。目前支持模块的动态装卸(裁剪)。Linux内核就是基于这个策略实现的。Linux进程1.采用层次结构,每个进程都依赖于一个父进程。内核启动init程序作为第一个进程。该进程负责进一步的系统初始化操作。init进程是进程树的根,所有的进程都直接或者间接起源于该进程。virt/—-提供虚拟机技术的支…

    2022年7月23日
  • 七彩虹 pci内存控制器 感叹号 蓝屏 DPC_WATCHDOG_VIOLATION

    七彩虹 pci内存控制器 感叹号 蓝屏 DPC_WATCHDOG_VIOLATIONsm总线控制器

    2022年6月5日
  • linux 暂停一段时间,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间

    linux 暂停一段时间,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间sleep命令,让睡眠变得有学问。本文将对sleep命令进行详细地介绍,一起来看看sleep命令如何让睡眠变得有学问。先让程序睡上30秒从字面意思看,想必你已经猜出来sleep命令的作用啦。简单地说,sleep就是让程序稍稍休息一下,然后,再继续工作(休息是为了更好地工作……)。我们让Shell程序小憩30秒:#睡眠30秒[roc@roclinux~]$sleep…

    2022年7月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号