H5无插件实现实时海康、大华摄像头网页预览

前景概述

  最近项目中需要用到“网页实时预览网络摄像头”功能,通过查阅海康大华等厂家的API文档,发现这些厂家的demo均不满足需求;要么仅支持低版本浏览器、要么就是需要支持websocket的摄像头。

功能特点

  • 跨平台支持(windows、linux、Unix)
  • 网页后台管理(内置管理平台)
  • 无延迟
  • 支持新版浏览器
  • 开销低
  • 支持HTTP接口管理

效果

话不多说,直接上图!!!

 H5无插件实现实时海康、大华摄像头网页预览

 

H5无插件实现实时海康、大华摄像头网页预览

 

H5无插件实现实时海康、大华摄像头网页预览

 

http接口管理

流列表接口

/api/stream/list

 1 {
 2     "code": 0,
 3     "data": {
 4         "Total": 2,
 5         "Data": [
 6             {
 7                 "ID": "1A97516B-48A8-1D69-CAE9-7BEF4E93E036",
 8                 "Name": "抓拍机",
 9                 "DevType": "0",
10                 "RTSP": "rtsp://10.202.2.60:8556/h264",
11                 "PlayType": "1",
12                 "UpdateTime": "2021-10-25T13:53:47.6553697+08:00"
13             },
14             {
15                 "ID": "92A74D53-FD12-FA1D-9D99-597681B9CBEC",
16                 "Name": "海康摄像头",
17                 "DevType": "1",
18                 "RTSP": "rtsp://admin:123456@10.202.2.170/Streaming/Channels/202",
19                 "PlayType": "1",
20                 "UpdateTime": "2021-10-25T13:54:04.8912719+08:00"
21             }
22         ]
23     },
24     "msg": "获取成功"
25 }

 

实现过程

  • 在这套视频插件的过程中,踩了很多坑,也浪费了不少时间。
  • 想必在你看到我这篇文章的时候,自己也尝试过使用ffmpeg、obs、nms、websocket了,结果不是很理想,要么开销大、要么延迟高。
  • 我尝试过使用nms服务器用ffmpeg推流,最完美可以达到1秒的延迟。但是这相对于实时监控来讲,延迟太高了。
  • 文中这套方案采用的是webrtc方式,使用rtsp插件直接拉流,将视频流通过webrtc发到前端。
  • 如果您有这类的需求,可通过本站发送私信与我进行联系交流

 

上一篇:h5专题常用小代码


下一篇:uni-app项目打包成H5部署到服务器(超详细步骤)