本文的主要整理了一些常识性的知识点,由于作者本人不是从事安防行业的,因工作需要简单调研了一下相关技术,所以水平有限,深度有限,同时可能存在一些错误和疏漏,望诸指正。
1. 图像采集之摄像头
从外形来说,常见的分为枪机和球机
上面这个就是枪机
这个是球机
从牌子的角度来讲,热门的牌子主要有海康威视,大华,宇视
从色彩的角度来说,主要分为彩色摄像头和黑白摄像头
彩色摄像头:适用于景物细部辨别,如辨别衣着或景物的颜色。因有颜色而使信息量增大,信息量一般认为是黑白摄像机的10倍。
黑白摄像头:适用于光线不足地区及夜间无法安装照明设备的地区,在仅监视景物的位置或移动时,可选用分辨率通常高于彩色摄像机的黑白摄像机。
从输出信号的角度来讲,主要分为模拟摄像头(Camera)和数字摄像头(IP Camera/ IPC)
看到两类摄像头的名字我们可以知道模拟摄像头产生的是模拟信号而数字摄像头产生的是数字信号。鉴于我们现在处于一个数字时代,我们也可以推测得知,模拟摄像头已不是当前主流,数字摄像头更首欢迎,而数字摄像头中又以使用新型数据传输接口的USB数字摄像头为主。
什么是IPC?
其实上面已经简单提到过了,IPC即 IP-CAMERA,是集成视频服务器和摄像机的功能为一体的数字视频设备;IP-CAMERA网络摄像机一般有内置Web服务的数字摄像机和录音设备,直接与以太网(有线、无线)相连。用户可通过标准Web浏览器观看和收听网络摄像机传送过来的视频和声音。
2.编码、记录、传输
对于摄像头采集来的数据需要进行压缩编码,以减少网络传输流量。摄像头采集到的数据可能是需要进行回放的,比如在小区里你被偷了心爱的小摩托,你需要找门卫大爷调监控。另外,如果这些视频数据只汇聚和存储在门卫大爷那,这其实是对数据的一种浪费,因此视频数据完全可以传输到远端服务上进行实时调取和分析,比如可以帮助警察办案和维护地方治安,交警违章抓拍等等。。
又由于大部分摄像头都只具备图像采集和简单传输的功能,因此构建一个完整的视频网络还需要借助以下硬件:
视频服务器(DVS):
网络视频服务器主要实现模拟视音频信号的IP化。经数字化的视音频信号MPEG-4 视频压缩算法和G.729/ADPCM 音频压缩算法进行压缩编码,然后通过IP 网将低码率的视音频编码数据以IP 包的形式传送给多个远端PC 或网络视频解码器,实现视音频的远程传输、网络监控和网络存储;视频服务器大多数采用高速嵌入式处理器和嵌入式实时操作系统,产品稳定可靠。具有占用带宽资源少、接入方式多样,图像质量和码率灵活可调的特点。同时支持远程云镜控制和远程报警管理。
数字视频录像机(DVR):
DVR即是Digital Video Recorder,数字视频录像机或数字硬盘录像机,我们习惯上称为硬盘录像机。结合标准接口的数字存储介质,采用数字压缩算法,实现音视频信息的数字记录、监视与回放,并可带有系统控制功能的视频设备或视频网络传输与监控的设备(一般带有独有的功能操控面板)。
网络数字硬盘录像机(NVR):
NVR即是Network Video Recorder,网络数字硬盘录像机,与DVR的不同点在于,DVR前端是接模拟摄像头,而NVR前端是接网络摄像头(IPC);在图像压缩传输方面,NVR比DVR要清晰的多,可以达到高清,信号传输也比DVR流畅;有些NVR也兼容DVR的功能。
HVR
HVR是高清混合数字硬盘录像机,嵌入式linux操作系统软件架构,并采用了高性能DSP处理器作为硬件平台。是一台同时拥时模拟BNC与数字网络RJ45标准接口,并同时支持模拟前端视频采集编码与网络前端高清接入、解码存储的高清网络硬盘录像视频监控设备。
DVS和DVR的区别是什么?
DVR全称是数字视频录像机,既然是录像机,他就少不了录像机的核心功能--录像,因此虽然DVS和DVR同样作为视频组网中的一环,但DVS更侧重的是视频数据的传输,而DVR更侧重的是视频数据的存储。(据我推测,门卫大爷那安装的应该就是DVR)
DVR和NVR和HVR的区别是什么?
DVR产品前端就是模拟摄像机(Camera),可以把DVR当做是模拟视频的数字化编码存储设备,而NVR产品的前端可以是网络摄像机(IP Camera/IPC)、视频服务器(视频编码器)(DVS)、DVR(编码存储),设备类型更为丰富。HVR前端的设备是网络硬盘摄像机跟模拟摄像机的混合,具有DVR和NVR的功能。
3.数据交换
翻翻上面 NVR 的图片你就会发现 NVR 只有一个网络接口,而要让所有摄像头都直连一个NVR是不可能的了,因此我们可以利用一台交换机来组建一个以交换机为中心的星型网络,将所有IPC和NVR都联入这台交换机,这样一个小型的视频网络就完成了。
事实上,上面只能算是最简单的组网模型,业界的成熟方案是采用三层网络架构进行组网(接入层,核心层,汇聚层)
POE和POE交换机
POE (Power Over Ethernet)指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机、无线局域网接入点AP、网络摄像机等)传输数据信号的同时,还能为此类设备提供直流电的技术
POE交换机是具有供电功能的交换机,与普通的交换机之间可以进行连接。POE交换机广泛应用在视频监控、无线AP覆盖等大型局域网建设。
POE交换机和普通交换机的区别? 1、POE交换机不但可以实现普通交换机的数据传输功能还能同时对网络终端进行供电。普通的交换机主要是交换数据的功能,并没有具备供电的功能。 2、现在的网络高清摄像机基本都用POE交换机来供电,不需要像普通交换机一样进行电源布线,并且可靠度更高。 3、安防监控系统使用POE交换机有很多的优势,可以不用格外的拉电线,节约成本,后期的升级和维护简单。
4.大型组网
上面讲到了业界的成熟组网方案是采用三层网络架构进行组网
核心层:核心层是网络的高速交换主干,对整个网络的连通起到至关重要的作用。核心层应该具有如下几个特性:可靠性、高效性、冗余性、容错性、可管理性、适应性、低延时性等。在核心层中,应该采用高带宽的千兆以上交换机。因为核心层是网络的枢纽中心,重要性突出。核心层设备采用双机冗余热备份是非常必要的,也可以使用负载均衡功能,来改善网络性能。
汇聚层:汇聚层是网络接入层和核心层的“中介”,就是在工作站接入核心层前先做汇聚,以减轻核心层设备的负荷。汇聚层具有实施策略、安全、工作组接入、虚拟局域网(VLAN)之间的路由、源地址或目的地址过滤等多种功能。在汇聚层中,应该选用支持三层交换技术和VLAN的交换机,以达到网络隔离和分段的目的。
接入层:接入层向本地网段提供工作站接入。在接入层中,减少同一网段的工作站数量,能够向工作组提供高速带宽。接入层可以选择不支持VLAN和三层交换技术的普通交换机。
小型网络
中型网络
大型网络
超大型网络
超大型网络构建时需要注意的点:
- 如果C类的内网地址已经不能满足需求,可以考虑使用B类的私网地址,在172.16.0.0~172.31.0.0,之间选择一个网络地址;
- 所有摄像头不能处于同一个局域网,否则有很大的广播数据,严重影响带宽和系统的稳定性,需要根据摄像头的用途、区域等划分不同的VLAN,相关的服务器和监控设备可以划分一个独立的VLAN。
5.设备通信规范之ONVIF
目前,网络摄像机的标准协议,国际标准上有三大类:ONVIF、PSIA和HDCCTV,国内标准有国标GB/T28181。
ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供,设备作为服务提供者为服务端。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协议。ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行 。
Web Service是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP。服务端、客户端以传递符合XML的SOAP消息实现服务的请求与回应。
WSDL 是一种描述文档,个人理解 WSDL 用来定义接口和请求,相当于 java 中的 controller 和 http-client 代码。客户端根据 WSDL 描述文档,会生成一个 SOAP 请求消息,该请求会被嵌入在一个HTTP POST请求中,发送到Web Services 所在的Web 服务器。Web Services 请求处理器解析收到的 SOAP 请求,调用相应的 Web Services。然后再生成相应的SOAP 应答。Web 服务器得到 SOAP 应答后,会再通过 HTTP应答的方式把信息送回到客户端。
<!-- WSDL 文件示例 -->
<types>
<schema targetNamespace="someNamespace" xmlns:typens="someNamespace" >
<xsd:complexType name="PERSON">
<xsd:sequence>
<xsd:element name="firstName" type="xsd:string"/>
<xsd:element name="lastName" type="xsd:string"/>
<xsd:element name="ageInYears" type="xsd:int"/>
<xsd:element name="weightInLbs" type="xsd:float"/>
<xsd:element name="heightInInches" type="xsd:float"/>
</xsd:sequence>
</xsd:complexType>
</schema>
</types>
<message name="addPerson">
<part name="person" type="typens:PERSON"/>
</message>
<message name="addPersonResponse">
<part name="result" type="xsd:int"/>
</message>
SOAP 是一种简单的基于 XML 的协议,它使应用程序通过 HTTP 来交换信息。
<!-- SOAP 消息示例 -->
<?xml version='1.0' Encoding='UTF-8' ?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<m:reservation xmlns:m="http://travelcompany.example.org/reservation"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
<m:reference>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:reference>
<m:dateAndTime>2007-11-29T13:20:00.000-05:00</m:dateAndTime>
</m:reservation>
<n:passenger xmlns:n="http://mycompany.example.com/employees"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next">
<n:name>Fred Bloggs</n:name>
</n:passenger>
</env:Header>
<env:Body>
<p:itinerary xmlns:p="http://travelcompany.example.org/reservation/travel">
<p:departure>
<p:departing>New York</p:departing>
<p:arriving>Los Angeles</p:arriving>
<p:departureDate>2007-12-14</p:departureDate>
<p:departureTime>late afternoon</p:departureTime>
<p:seatPreference>aisle</p:seatPreference>
</p:departure>
<p:return>
<p:departing>Los Angeles</p:departing>
<p:arriving>New York</p:arriving>
<p:departureDate>2007-12-20</p:departureDate>
<p:departureTime>mid-morning</p:departureTime>
<p:seatPreference></p:seatPreference>
</p:return>
</p:itinerary>
</env:Body>
</env:Envelope>
因此,可以认为 ONVIF 服务 = Web Services(WSDL + SOAP) + RTSP
CMU(Center Manager Unit),即中心管理单位。
PU(Prefocus Unit),即监控前端单元,负责在CMU的控制下使用摄像机采集视频流、使用麦克风采集音频流、使用控制口采集报警信息、对摄像机云台镜头进行控制。
CU(Client Unit),监控系统的监控客户端单元,负责将PU采集到的视频流、音频流、报警信息提交给监控用户,并根据用户要求操作PU设备,如云台、镜头等。
6.设备通信规范之GBT28181
了解 ONVIF 就会发现,整个视频平台主要分为两部分,一部分用于进行各类控制,包括视频传输连接的建立,视频播放,停止,回放,设备查询,摄像头控制等。。。
而另一部分主要用于视频流的传输,ONVIF采用RTP/RTSP。
GBT28181也是如此,只不过GB平台借助SIP规范来实现各类控制(SIP服务也被称为信令服务),而视频流的传输还是采用RTP。
6.1 信令控制与SIP协议
SIP协议是由国际互联网协会(IETF)制定的,这个协会也制订了HTTP协议。所以,这两个协议有很多地方是相似的,我们也可以对比HTTP协议来学习SIP协议。
SIP 协议主要应用
SIP 协议用的比较多的地方是VOIP网络电话,因此整个协议交互过程特别像打电话的过程。另外SIP被用于的地方就是我们的GBT28181协议了。
SIP 协议的网络层次
基本上SIP是一种应用层协议。它是用于创建和终止与一个或多个参与者的会话的简单网络信令协议。SIP协议被设计为独立于底层传输协议,因此SIP应用可以在TCP,UDP或其他低层网络协议上运行。
SIP 请求示例
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alice’s SDP not shown)
上例中 INVITE 是请求方法,类似HTTP中的GET/POST等,sip:bob@biloxi.com 是请求URL,SIP/2.0 是版本号
请求行下面的请求头采用key-value形式组织,与HTTP一致,上例中涉及的请求头主要有Via,Max-Forwards等
最后面是请求体,上例中是 (Alice’s SDP not shown)
因此我们可以发现 SIP 协议与 HTTP 协议一样也是分为请求行,请求头,请求体,空行。
SIP 请求方法
SIP 常见响应码
SIP 常用请求头
SIP 请求体
请求体格式中常见的是 SDP,MANSCDP,MANSRTSP 三类格式,这里不细致展开。
SIP 连接建立
下面提供一个常见的 SIP 连接建立过程:
下面是一些专业术语:
会话(Session):就是一个多媒体发送方和接收方组成的集合。通常意义下可以理解为一次打电话从摘机、拨号、通话、挂机这一系列动作包含的所有信号集合。
对话(Dialog):一个对话是持续一段时间的两个UA之间的端到端的SIP关系。用Call-ID,local tag(本地tag),remote tag(对方tag)来标志一个对话。
事务(Transaction):是在客户端和服务端的事件,包括了从第一个由客户端发送到服务端的请求,到最后一个(非1xx)服务端向客户端发出的终结应答。一般通过Via头域中的branch参数和Cseq头域的方法参数来标志一个事务。
用户代理 UA(User Agent ):一个逻辑实体的概念,包含UAC和UAS,仅存在于事务中。UAC( User Agent Client ):用户代理客户端,用于发送SIP请求。UAS( User Agent Server ):用户代理服务器,用于对SIP请求做响应的。
背靠背的用户代理 B2BUA(Back-to-Back UserAgent):是直接的UAC和UAS的串连,要接收和处理请求,为了决定如何处理这个请求,又要发出一个请求,同时需要维持对话状态。
呼叫(Call):它是指在端点之间一些通讯行为,通常用于建立多媒体对话。
请求(Request):一个由客户端发到服务端得SIP信息,用于执行特定的功能。
应答(Response):一个由服务端发到客户端得SIP信息。用来标志从客户端发往服务端得请求处理的情况。
消息(Message):SIP元素之间传送的协议数据就是消息。
方法(Method):是向服务器请求处理的主要功能。
SIP 结构划分示意图:
6.2 视频直播
视频数据主要分为视频编码和视频封装两部分,如下
6.2.1 视频编码
视频编码基础请见: zhuanlan.zhihu.com/p/115207948
6.2.2 视频封装
常见视频封装:
AVI 由于它具有一系列的编解码器,并且能够在不同的系统如Windows、 Macintosh和Linux上运行,AVI因此成为电脑内默认的视频储存格式。另一边,它的高品质让AVI视频很难进行压缩,因此这类视频格式不适合作为流媒体。 MOV AVI是由微软开发的,而MOV则是由苹果为QuickTime 播放器开发的。跟AVI一样,它能在大多数USB兼容的电视上播放,不过它的功能和品质会占据很多容量空间。好的一点是,这个格式可兼容于很多线上分享平台。如果你的 MOV文档少过4GB,Facebook和Instagram都能发布你的视频。 MKV (.mkv / .mks / .mka ) 如果一段视频有很多语言,那么它的格式通常是MKV,因为这种格式可以把无限量的视频、音频和字幕包含在一个文档内。MKV不像AVI那样普遍被使用,但是它是开放源而且越来越受市场欢迎,是线上HD视频偏爱的格式。根据一些针对HD视频格式的见解欸,MKV和MOV在将来可能比AVI更受到欢迎。 FLV | Flash Video Format 在过去,我们通常会在浏览器中安装Flash Player插件,使得FLV是线上使用最重要的文档类型。FLV文档很小,能比MP4文档压缩得更多。然而,这个插件在业界换上HTML5后会逐渐淘汰掉。2017年 Adobe宣布终止了Flash Player。目前为止,FLV视频格式依然受到 Youtube支持,但是其兼容性在2020年之后会成为一个问题。 WebM 当你在网站上要使用视频时,输出格式要选择WebM。WebM专为HTML5设计的免版税格式,而且可以直接嵌入网站,不需要插件。许多现代浏览器如Google Chrome、Opera、Firefox、Microsoft Edge和Internet Explorer都支持该格式。 AV1 AV1是一个视频编解码器 ,特别为线上流而设计—这表示它具有很棒的压缩能力。不要把它和AVI混淆,AOMedia Video Codec 1.0或AV1是在2018年发布的。编码时,它保证免版税、超高清的视频品质、没有普遍使用的编解码器如H.264那样的数据消耗。由于AV1的开发背后有业界巨头如Google、Apple、Netflix、Amazon等等企业支持,未来预计它会横跨各种内容产链,受到各种设备和平台的支持。目前为止,AV1受到最新版本的 Chrome和Firefox支持。 MPG (.mpg / .mpeg): MPEG编码采用的音频视频容器,具有流的特性。里面又分为 PS,TS 等,PS 主要用于 DVD 存储,TS 主要用于 HDTV。 VOB : DVD采用的音频视频容器格式(即视频MPEG-2,音频用AC3或者DTS),支持多视频多音轨多字幕章节等。 MP4 : MPEG-4编码采用的音频视频容器,基于 QuickTime MOV 开发,具有许多先进特性。 3GP : 3GPP视频采用的格式,主要用于流媒体传送。 ASF : Windows Media采用的音频视频容器,能够用于流传送,还能包容脚本等。 WMV (.wmv): WMV (Windows Media Video) 是微软公司开发的一种数字视频压缩格式。WMV文件一般同时包含视频和音频部分。视频部分使用Windows Media Video编码,音频部分使用Windows Media Audio编码。它是在“同门”的ASF(Advanced Stream Format)格式升级延伸来得。在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输。 RM ( .rm / .rmvb): RealMedia 采用的音频视频容器,用于流传送。 Ogg: 是一个自由且开放标准的容器格式,由Xiph.Org 基金会所维护。Ogg格式并不受到软件专利的限制,并设计用于有效率地流媒体和处理高品质的数字多媒体。 m2ts (.m2ts / .mts ) 是一种视讯档案格式(container)可支援多工的影音流.
6.2.3 视频传输
未完待续...
参考文章:
blog.csdn.net/fanwenjieok… security.zol.com.cn/276/2762076… www.easydarwin.org/article/Str… www.dgzj.com/ruodian/966… www.sanbed.com/wap/content… baijiahao.baidu.com/s?id=161865… blog.csdn.net/benkaoya/ar… www.ibm.com/support/kno… www.w3cschool.cn/session_ini… clipchamp.com/zh-hans/blo… juejin.cn/post/684490… wenku.baidu.com/view/854dd3… blog.csdn.net/shixin_0125… zhuanlan.zhihu.com/p/115207948 zhuanlan.zhihu.com/p/51710286 www.jianshu.com/p/d06f0ee82… www.zhihu.com/question/20… blog.csdn.net/zhoubotong2… c.gb688.cn/bzgk/gb/sho… blog.csdn.net/c80486/arti… blog.csdn.net/c80486/arti… so.csdn.net/so/search/s… juejin.cn/post/684490… www.360doc.com/content/19/… www.liveqing.com/docs/manual… www.easygbs.com/ www.liveqing.com/ zhuanlan.zhihu.com/p/48100533 juejin.cn/post/684490…