当前位置:   article > 正文

使用webrtc-streamer查看实时监控_webrtc-streamer实现网络摄像头实时监控

webrtc-streamer实现网络摄像头实时监控

webrtc-streamer

webrtc-streamer 是一个使用简单机制通过 WebRTC 流式传输视频捕获设备和 RTSP 源的项目,它内置了一个小型的 HTTP server 来对 WebRTC需要的相关接口提供支持。相对于ffmpeg+flv.js的方案,延迟降低到了0.4秒左右,画面的加载速度也变快了,切换浏览器标签后也不会暂停画面,并且解决了http1.1的同域名中的并发限制(在谷歌浏览器中可以同时播放6个以上的video)。

webrtc-streamer下载Releases · mpromonet/webrtc-streamer (github.com)

windows:下载地址,选择对应版本下载后解压运行【webrtc-streamer.exe】即可

centos7.4:因为一些环境原因,建议在docker中使用

  1. # docker中获取webrtc-streamer
  2. docker pull mpromonet/webrtc-streamer
  3. # 启动webrtc-streamer镜像
  4. docker run -itd -p 8000:8000 --name webrtc-streamer mpromonet/webrtc-streamer

测试

页面中需要用到的js文件:【webrtcstreamer.js】、【adapter.min.js】,分别在windows版的【html】和【html\libs】目录

核心代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <video id='video' style='object-fit:fill' controls autoplay autobuffer muted preload='auto'></video>
  9. <script type="text/javascript" src="./js/webrtcstreamer.js"></script>
  10. <script type="text/javascript" src="./js/adapter.min.js"></script>
  11. <script type="text/javascript" src="./js/jquery-3.2.1.min.js"></script>
  12. <script>
  13. var webRtcServer = null;
  14. //页面加载时加载视频画面
  15. window.onload = function() {
  16. //video:需要绑定的video控件ID
  17. //192.168.1.226:启动webrtc-streamer的设备IP
  18. webRtcServer = new WebRtcStreamer("video",location.protocol+"//192.168.1.226:8000");
  19. //需要查看的rtsp地址
  20. webRtcServer.connect("rtsp://admin:12345@192.168.1.65:554/h264/ch1/main/av_stream");
  21. }
  22. //页面退出时销毁
  23. window.onbeforeunload = function() {
  24. webRtcServer.disconnect();
  25. }
  26. </script>
  27. </body>
  28. </html>

常用的RTSP格式

  1. #海康摄像头
  2. rtsp://<账号>:<密码>@<IP>:<端口,默认554>/<视频编码,h264/h265>/<通道,ch1起始>/<码流,main主 sub子>/av_stream
  3. 例:rtsp://admin:12345@192.168.1.116:554/h264/ch1/main/av_stream
  4. #海康NVR,账号密码为NVR的而不是摄像头账号密码,区分摄像头靠通道号,时间格式:日后面加T,秒后面加Z
  5. rtsp://<账号>:<密码>@<地址>:<端口,默认554>/Streaming/tracks/<前面是通道号 D1:1,后两位是码流 01:主 02:子>?starttime=<起始时间,20210814T173350Z>&endtime=<结束时间,20210814T180000Z>
  6. 例:rtsp://admin:aaaa1111@192.168.1.90:554/Streaming/tracks/101?starttime=20210818T171300Z&endtime=20210818T171400Z
  7. #大华摄像头
  8. rtsp://<账号>:<密码>@<IP>:<端口,默认554>/cam/realmonitor?channel=<通道,起始1>&subtype=<码流,0:主 1:子>
  9. 例:rtsp://admin:admin@192.168.1.230:554/cam/realmonitor?channel=1&subtype=0
  10. #大华NVR,账号密码为NVR的而不是摄像头账号密码,区分摄像头靠通道号,时间格式:年月日时分后面加_
  11. rtsp://<账号>:<密码>@<地址>:<端口,默认554>/cam/playback?channel=<通道号,D1:1>&subtype=<码流,0:主 1:子)>&starttime=<起始时间,2021_08_18_14_13_41>&endtime=<结束时间,2021_08_18_14_15_41>
  12. 例:rtsp://admin:aaaa1111@192.168.1.95:554/cam/playback?channel=1&subtype=0&starttime=2021_08_18_10_52_00&endtime=2021_08_18_10_53_00
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/659692
推荐阅读
相关标签
  

闽ICP备14008679号