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)
上一篇 2022年10月9日 上午6:16
下一篇 2022年10月9日 上午6:36


相关推荐

  • Android Fragment使用总结以及与Viewpager相结合使用

    Android Fragment使用总结以及与Viewpager相结合使用

    2021年8月23日
    52
  • volatile关键字作用

    volatile关键字作用一、作用简述内存可见性:保证变量的可见性:当一个被volatile关键字修饰的变量被一个线程修改的时候,其他线程可以立刻得到修改之后的结果。当一个线程向被volatile关键字修饰的变量写入数据的时候,虚拟机会强制它被值刷新到主内存中。当一个线程用到被volatile关键字修饰的值的时候,虚拟机会强制要求它从主内存中读取。 屏蔽JVM指令重排序(防止JVM编译源码生成class时使用重排序)…

    2022年6月1日
    38
  • sha1解密的方法,分享实用的sha1在线解密网站

    sha1解密的方法,分享实用的sha1在线解密网站sha1 是一种密码散列函数 是一个用来进行数字签名的算法 这种算法通俗来说 就是接收一段明文 并以不可逆的方式转换成一段密文 通过密文无法知道原文是什么 那么 sha1 算法原理是什么 sha1 如何解密 本文将对这两个问题进行解答 并分享实用的 sha1 在线解密工具

    2026年3月19日
    1
  • navicar 15激活码【最新永久激活】

    (navicar 15激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS32PGH0SQB-eyJsa…

    2022年3月26日
    60
  • n8n进阶:利用MCP Server节点打造企业级AI工具库

    n8n进阶:利用MCP Server节点打造企业级AI工具库

    2026年3月13日
    2
  • 移动端app开发问题及理解

    移动端app开发问题及理解框架使用的是vant跟web端不太一样的是事件有点不同web端事件有onload页面中所有标签,文档,图片等资源加载完毕后触发onclick鼠标单击事件ondbclick鼠标双击事件onmousedown鼠标按下onmouseup鼠标按键抬起onmouseover鼠标进入某个元素onmousemove鼠标移动到元素onmouseout鼠标离开元素onfocus元素得到焦点onblur元素失去焦点onchange用户改变文本域内容oninput实时监听输入框

    2022年6月15日
    30

发表回复

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

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