ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

webrtc-streamer实现简单rtsp视频监控

2022-08-18 19:01:19  阅读:243  来源: 互联网

标签:rtsp webRtcServer streamer https docker webrtc


环境需求:

1.linux服务器
2.nginx或其他代理服务

 

内网项目使用海康摄像机完成简单的视频监控,虽然海康提供了webcomments插件和SDK二次开发工具,但webcomments插件以及无插件版本只能适用于将项目部署在windows上,SDK二次开发也有一定难度。所以,采用以下方案来满足项目需求:

第一步:

从这里https://github.com/mpromonet/webrtc-streamer/releases下载适合项目需求的webrtc-streamer源码包,本文以webrtc-streamer-v0.7.0-Linux-x86_64-Release.tar.gz为例,下载解压后目录结构如下:

其中,webrtc-streamer文件可以删除,因为本文使用docker运行服务。另外,test.html是自己编写的页面代码,在本文第三步详细介绍。

 

第二步:

在linux服务器上运行一个webRtcServer服务(这里概念上描述的可能不太准确),这个地址https://github.com/mpromonet/webrtc-streamer,翻到最下面,以docker运行为例:

 

这个是官方的命令,但是建议使用下面这个命令来运行容器,因为使用官方命令运行起来的服务,之后在预览相机画面时会出现一直转圈无法加载的问题。(具体什么原因也不是很清楚,可以查下docker网络模式host与默认bridge的区别)

docker run -itd --net=host --name webrtc-streamer mpromonet/webrtc-streamer

命令执行完以后,用docker ps -a检查一下容器是否启动成功了

 

第三步:

编写test.html,也很简单,代码如下:

<html>
<head>
<script src="html/libs/adapter.min.js" ></script>
<script src="html/webrtcstreamer.js" ></script>
<script>        
    var webRtcServer      = null;
    window.onload         = function() { 
        webRtcServer      = new WebRtcStreamer("video","http://192.168.6.73:8000");//这里填你自己部署的WebRtcStreamer服务地址
	webRtcServer.connect("rtsp://admin:123456@192.168.6.13:554/Streaming/Channels/101");//这里填可以正常预览的rtsp地址,可以先使用vlc或其他软件测试一下地址的有效性
    }
    window.onbeforeunload = function() { webRtcServer.disconnect(); }
</script>
</head>
<body> 
    <div style="width: 100%;height: 100%;">
        <video id="video" />
    </div>
</body>
</html>

海康设备默认rtsp地址格式:rtsp://账号:密码@IP地址:554/Streaming/Channels/101  

 

第四步:

在linux服务器上安装nginx或其他代理服务器(代理服务器搭建这里不做介绍),将本文第一步中下载解压得到的文件和test.html文件,一起部署到代理服务器的发布目录,如下:

 

第五步:

浏览器访问验证效果:

 

最后:

据说这种方案比较耗费服务器的cpu资源,尤其是同时打开多个预览画面,所以,面临单页面上多开预览画面的项目请酌情参考。

 

参考链接:

这位大佬实现了windows上的服务https://blog.csdn.net/qq_45777115/article/details/118054927?spm=1001.2014.3001.5502  

https://www.cnblogs.com/savorboard/p/webrtc-rtsp.html

 

标签:rtsp,webRtcServer,streamer,https,docker,webrtc
来源: https://www.cnblogs.com/jessemeccree/p/16599681.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有