首页 > 其他分享 >webrtc-streamer实现简单rtsp视频监控

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

时间:2022-08-18 18:55:08浏览次数:2647  
标签: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:[email protected]: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
From: https://www.cnblogs.com/jessemeccree/p/16599681.html

相关文章

  • webrtc 渲染音频时遇到的问题
    有用户反馈连麦时,直播间会有电流声,后面排查发现是webrtc内部播放器渲染音频时,用户的播放设备不支持48000hz采样率(我们传输的音频采样率都是48000hz),导致音频数据受损而......
  • symbol lookup error: /usr/lib/kde4/plugins/phonon_backend/phonon_gstreamer.so: u
    linux下:之前用着是没有问题的,重装了一下系统后提示qt使用phonon播放wav文件会提示“symbollookuperror:/usr/lib/kde4/plugins/phonon_backend/phonon_gstreamer.so:......
  • webRTC构建-Linux版
    linux下构建webRTC#!/bin/bashset-exu__CURRENT__=`pwd`__DIR__=$(cd"$(dirname"$0")";pwd)cd${__DIR__}start_time=$(date-u'+%Y-%m-%dT%H:%M:%SZ')star......
  • EasyCVR通过Ehome协议接入设备,获取RTSP流地址异常如何解决?
    EasyCVR平台支持海量视频设备接入、视频汇聚与管理、转码与分发、告警上报、平台级联、智能分析等等。平台支持广泛的协议类型接入,包括国标GB28181、RTMP、RTSP/Onvif、海......
  • vlc ubuntu 无法播放rtsp 问题
    sudoaptinstallvlcsudosnapinstallvlc两种方式安装的vlc都无法播放rtsp流解决办法使用flatpak来安装vlc#第一步sudoaptinstallflatpak#或者在旧的Ubuntu......