远程监控网络摄像头通用指南

news2025/1/19 8:06:07

一、引言

随着物联网技术的发展,越来越多的场景需要我们通过技术手段去感知。画面和声音相当于机器的眼睛和耳朵,有了这些实时数据我们可以做很多事情,比如车牌识别、人脸识别、体温识别等等。本文将全方位介绍网络摄像头如何接入软件的实现,这个软件可以是Android、iOS上的APP,电脑客户端,也可以是Web或者后台软件。

二、接入方式

摄像头的接入方式有很多,根据不同的业务需求选择不同的接入方式。

2.1 SDK 接入

直接连接摄像头接入是最方便快捷的,但这也依赖于所购买摄像头厂家的支持。但海康和大华这种比较大的厂家都是有提供开发的SDK的,在PC客户端和Android、iOS的SDK中,甚至帮你做好了播放器。只需要直接引入即可使用,非常方便。但这里有个坑需要注意一下,有可能摄像头的SDK并不在官网开放下载,如果找不到最好问一下客服。

我第一次接海康摄像头就是因为没找到SDK,直接从rtsp流进行的,又是编译播放器又是调延迟的。结果在GitHub上发现有巴西的哥们上传了一个海康SDK的应用,我一看比我调了一周的延迟还要低。还以为是只针对国外开放,后来问客服才知道只有报备才给SDK……

SDK 接入这种方式虽然非常快捷方便,但它也有弊端,就是如果想外网使用必须给摄像头代理一个外网可用的端口。
在这里插入图片描述
比如上图,虽然摄像头的默认端口是这些,但我们可以将摄像头ip的8000映射到具有外网ip的9123端口上去。这样我们具备摄像头SDK的应用程序,就可以直接写这个外网的ip端口就可以访问使用。
在这里插入图片描述
如图所示,SDK 开发可以说是最方便最快捷的方式了。并且因为厂家的SDK还是自己的摄像头,所以在延迟方面优化的很好。

2.2 RTSP 接入

第一次接触 RTSP 协议的朋友可能有点陌生,这里稍微解释一下相关概念,以免一下子被太多名词冲昏头脑。

RTSP 和 HTTP 一样,属于应用层的协议,是一种流媒体协议。RTSP 基于 RTP数据协议、RTCP控制协议一起使用。RTP 通常工作于UDP之上,用于传输实际的流媒体数据。RTCP 同样通常工作于 UDP 之上,用于对 RTP 进行控制,流媒体数据的收发端在传输过程中相互发送 RTCP 数据包,将自己这一端检测到的 QoS 等信息传递给对方,使用 RTP/RTCP 协议的应用程序,利用这些信息对收发过程进行控制。RTP 和 RTCP 在传输过程中,工作于不同的端口上。简单来说就是 RTSP 先开始数据的交互,建立媒体传输会话,然后开始通过 RTP/RTCP 传输数据。

这个时候,你可能还会看到 RTMP 和 HLS 这两种流媒体协议。RTMP协议是Adobe的私有协议,未完全公开,苹果原生不支持。苹果自己出了个 HLS 协议,跨平台可以用。
在这里插入图片描述
通常我们会选择 RTSP 流地址来接入软件,每家摄像头的 RTSP 地址都有自己的规范,我这里还是以海康威视为例介绍。

rtsp://用户名:密码@ip:端口/h264/ch1/main/av_stream

海康摄像头的 RTSP 流地址拼接如上所示,我们只需要将摄像头相关信息填入即可播放。比如我摄像头的ip是10.0.5.135,账号密码:admin/bitetao。那我 RTSP 的流地址如下所示:

rtsp://admin:bitetao.@10.0.5.135:554/h264/ch1/main/av_stream

这里需要注意的是,上面的这个格式只适用于2012年后的摄像头规范,具体根据规范根据摄像头型号带入。并且后面参数,比如编码格式h264、通道ch1、主码流及子码流main。这些参数都是可调的,根据需要调整即可。RTSP 协议在 Windows 中可以用 Potpayer 播放器测试。

2.3 GB28181 接入

GB28181协议是视频监控领域的国家标准,该标准规定了公共安全视频监控联网系统的互联结构, 传输、交换、控制的基本要求和安全性要求, 以及控制、传输流程和协议接口等技术要求。GB28181协议信令层面使用的是SIP(Session Initiation Protocol)协议,流媒体传输层面使用的是实时传输协议(Real-time Transport Protocol,RTP)协议,因此可以理解为GB28181是在国际通用标准的基础之上进行了私有化定制以满足视频监控联网系统互联传输的标准化需求。

该协议只支持下级找上级,使用流程是在摄像头端配置,然后摄像头会主动的接入到软件中去。如果想实现上级找下级,也就是软件想主动配置摄像头后再接入,可以参考下一小节
ONVIF 接入。

国内本土的摄像头生成商都会遵循 GB28181 协议,根据该协议可以批量的将大量摄像头接入平台,实现实时监控及控制。
在这里插入图片描述
上图为通过 GB28181 协议实时音视频播放的流程图,单纯的介绍概念可能有点生涩。本文以开源项目:wvp-GB28181-pro 为例,介绍该协议在实际项目中使用的流程。WVP 通过28181协议将IPC摄像头接入平台,基于 ZLM 流媒体服务器作为视频流的中转。可以观看也可以使用28181/rtsp/rtmp/flv等协议将视频流分发到其他平台。
在这里插入图片描述
具体的接入方式这两个开源项目的文档已经写得非常详细了,只需要根据文档把 SIP 相关的信息填写正确就可以了。简要流程就是,先配置好 SIP服务器,这里用的是 WVP。然后在摄像头的配置中配好 SIP 服务器定义好的参数,一一对应。
在这里插入图片描述
至于流媒体中转平台,这里用的 ZLM 。只需要Docker启动,配好端口和 mediaServerId 即可,这两个配置也要和 WVP 中的配置一一对应。最后启动前端即可看到实时画面:
在这里插入图片描述

2.4 ONVIF 接入

GB28181 是国内标准,而 ONVIF 则是国际标准,ONVIF创建了一个视频监控和其他物理安全领域的IP产品如何进行相互通信的标准。是由Axis Communications,博世安防系统和索尼于2008年创立的。现在我们大多数摄像头也都支持这个协议,但默认一般不开启,需要额外配置。
在这里插入图片描述
添加一个用户名及密码,就可以通过这个协议访问摄像头了。比如我们可以下载通用的流媒体服务器软件:EasyNVR,来测试是否可用。ONVIF 协议的使用流程是上级主动向下级通讯,这是和 GB28181 协议不同的地方。

三、总结

本文罗列了接入网络摄像头的四种技术方案,也是最常用的四种方案。大家根据自身项目的实际需求,选择适合的接入方案。最后,这四种技术方案的总结如下图所示,希望对你有所帮助。

SDKRTSPGB28181ONVIF
接入难度简单简单复杂一般
时延
优点简单易用最方便支持复杂业务集中管理
缺点太重,必须有端口映射功能单一,不支持PTZ有时延,开发复杂需要端到端可通讯
应用场景局域网内或摄像头数量较少只想实时看流不需要其余功能大量摄像头集中管理智能家居或NAS相关场景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161650.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2022.12 青少年机器人技术等级考试理论综合试卷(四级)

2022年12月 青少年机器人技术等级考试理论综合试卷(四级) 分数: 100 题数: 30 一、 单选题(共 20 题, 共 80 分) 1.以下关于 Arduino C 语言的说法, 正确的是?( ) A.setup() 函数和…

SpringMVC Interceptor拦截器

SpringMVC中的拦截器用于拦截控制器方法的执行,执行在Controller前后,和视图渲染完成后。如下图所示: 一、创建拦截器 继承HandlerInterceptor 接口,并实现其中的方法 public class FirstInterceptor implements HandlerInter…

儿子小伟刚刚再婚,大衣哥就河南新乡商演,这是给孙子攒奶粉钱吗

现如今的社会,因为人们的攀比心理,结一次婚能让人脱一层皮,尤其是农村赚钱难,结婚花钱就更难了。其实不只是普通老百姓,强如农民歌唱家大衣哥这样的人,也架不住儿子一而再,再而三的结婚。 大衣哥…

Qt基础之二十一:QtRO(Qt Remote Object)实现进程间通信

这里将QtRO单独从上一篇Qt基础之二十:进程间通信拎出来,因为它是Qt5.9以后新加入的模块,专门用于进程间通信。其使用步骤有点类似之前介绍过的RPC(Remote Procedure Call)框架:gRPC和thrift,关于这两个框架详见 Qt中调用thrift和Qt中调用gRPC QtRO基于Socket封装,不仅支…

小程序开发——模板与配置

一、WXML 模板语法 1.数据绑定的基本原则 ① 在 data 中定义数据 ② 在 WXML 中使用数据2.在 data 中定义页面的数据 在页面对应的 .js 文件中,把数据定义到 data 对象中即可:3. Mustache 语法的格式 把data中的数据绑定到页面中渲染,使用…

【测试】java+selenium环境搭建

努力经营当下,直至未来明朗! 文章目录一、下载安装谷歌浏览器二、下载谷歌驱动三、常见问题&解决方法1. SessionNotCreatedException2. The version of ChromeDriver only support xxxxxxxxx3. The path to the driver executable the path to普通小…

5-2输入/输出管理-I/O核心子系统

文章目录一.I/O调度二.设备保护三.SPOOLing技术(假脱机技术)四.设备的分配与回收1.设备分配时应该考虑的因素2.静态分配和动态分配3.设备分配管理中的数据结构(1)设备控制表DCT(Device Control Table)&…

MySQL进阶篇之Linux安装MySQL8.0.26

Linux安装MySQL 需要更多安装MySQL的教程,请查阅Linux学习笔记——MySQL数据库管理系统安装部署 1、MySQL下载地址:https://downloads.mysql.com/archives/community/ 2、在FinalShell中输入rz,然后选择下载好的MySQL安装包,进行上…

【数据质量】一起聊聊数据质量

Garbage In, Garbage Out ​ 数据质量关注的是数据的健康,数据健康和人的健康很相似,人的健康会影响人的生活品质,同样数据的健康会影响数据的使用品质。为了保证我们健康,我们需要养成良好的生活习惯,膳食平衡&#x…

Open3D DBSCAN聚类(Python版本)

文章目录 一、简介二、算法步骤三、实现代码四、实现效果参考资料一、简介 DBSCAN算法,全称为“Density-Based Spatial Clustering of Applications with Node”,也就是“基于密度的聚类”。此类算法是假设聚类结构能通过样本分布的紧密程度确定,从样本密度的角度来考察样本…

亿发浅析:财务一体化功能与管理流程

在信息时代的背景下,企业信息化已成为中小企业降低成本、提高效率、提高竞争力的重要手段,也是中小企业实现长期可持续发展的有效途径。 信息化对企业管理的好处是显而易见的,如加快信息流,提高信息资源利用率,促进企业…

STM32使用FSMC驱动LCD

关于FSMC驱动LCD的函数LCD_WR_REG的理解首先你需要理解使用结构体LCD_BASE若有错误,请各位师兄师姐指点原理框图重要的函数理解关于LCD_BASE和函数LCD_WR_REG(u16 regval)的理解至于0X6C00 0802地址也是一样的。首先要说的是这是我个人的理解…

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (五)位拆分与运算

数字IC设计、验证、FPGA笔试必会 - Verilog经典习题 (五)位拆分与运算 🔈声明: 😃博主主页:王_嘻嘻的CSDN博客 🧨未经作者允许,禁止转载 🔑系列专栏:牛客Veri…

Burp Suite Professional 2023.1 (macOS, Linux, Windows) - Web 应用安全、测试和扫描

Burp Suite Professional, Test, find, and exploit vulnerabilities. 请访问原文链接:https://sysin.org/blog/burp-suite-pro-2023,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org Burp Suite Professional&a…

《后端技术面试 38 讲》学习笔记 Day 07

《后端技术面试 38 讲》学习笔记 Day 07 21丨分布式架构:如何应对高并发的用户请求 原文摘抄 当同时访问系统的用户不断增加的时候,需要消耗的系统计算资源也不断增加,需要更多的 CPU 和内存去处理用户的计算请求,需要更多的网络…

二叉树、平衡二叉树、红黑树、B树、B+树、B*树的区别

二叉树 如下图,是一个二叉树的结构图片: 可以看到无论是对象“9”、还是“5”、“13”、“2”、“7”、“11”、“15”它们的下面分别都叉了两个其他的对象。而且这两个对象都是左边的数值要小一些,右边的数值要大一些。 所以这就是二叉树的…

Qt+C++堆叠多窗口界面切换

程序示例精选 QtC堆叠多窗口界面切换 如需安装运行环境或远程调试&#xff0c;见文章底部个人微信名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<QtC堆叠多窗口界面切换>>编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易读…

停车系统源码-基于springboot+uniapp开源项目

Iparking停车收费管理系统-可商用介绍Iparking是一款基于springBoot的停车收费管理系统&#xff0c;支持封闭车场和路边车场&#xff0c;支持微信支付宝多种支付渠道&#xff0c;支持多种硬件&#xff0c;涵盖了停车场管理系统的所有基础功能。技术栈Springboot,Mybatis Plus,B…

聚观早报 | 推特将释放15亿用户名售卖;微信回应切断抖音外链

今日要闻&#xff1a;比亚迪摘得国内汽车年度销量冠军&#xff1b;推特将释放15亿用户名进行售卖&#xff1b;微信回应切断抖音外链&#xff1b;原阿里云盘负责人、Teambition 创始人齐俊元加入飞书&#xff1b;辉瑞CEO称新冠药不能太便宜推特将释放15亿用户名进行售卖 1 月 12…

直播回顾 | 如何运用数智化助力光伏上游产业节能降碳(下)——企业降碳篇

1月12日&#xff0c;始祖科技【始祖双碳研习社】行业解决方案第二期顺利结束&#xff0c;在第一期的基础上为大家带来了“双碳”政策对光伏上游企业提出的新要求&#xff0c;数智技术在光伏领域发挥双碳赋能作用&#xff0c;数智技术实现光伏领域“双碳”赋能的路径等多个维度的…