传统视频监控直播VS云RTMP视频直播

传统视频监控直播VS云RTMP视频直播

1. 客户需求对比

       在传统方面,比如说某一个学校的监控室里面会接入很多闭路电视,有一个门房的老大爷坐在监控室里面盯着屏幕,那时候都是模拟信号,甚至没有数字信号和网络的概念。而后续一些工作如调档、查看问题或者问责都需要到当地的录像地点调取资料,这是非常传统的视频监控,本地性、实时性、分散化是它的特点。现在随着带宽提升,网速不断加快,都有利于互联网上的通信,由此带来产业的变革。比如说希望某些环境下能够把一些设备的输入流、输出流体现在移动设备上,而不只是在闭路电视和门房间,用户需要在手机、PC、大屏幕这些终端上能够看到某一台摄像头的录像,可以是演唱会、可以是幼儿园,也可以是一场球赛。实际上,目前行业的一个趋势就是把内部的内容搬到外部来让大家都能看到,不管用户在哪里、在何时。所以云视频监控具有互联网化、规模性、中心化的特点。

2. 使用场景对比

     以校园监控为例,首先监控室必不可少,它要用来做什么?首先做存储,第二是能够控制,专门的保安或者相关人员需要调取视频的时候能够把视频从本地的存储拿出来,下图中左侧就是一个校园监控的场景。内部有一个交换网络,但是对外没有任何接口。

     如果在互联网的场景下,整个架构图上非常简单,就是黄色的线导出到云,实际上这条黄色的线要求非常的不同。一般从内部的网络到外部的网络会经过多道防火墙或者交换网络,有不同的网络环境。这个黄色箭头看似很简单,实际上实现的过程非常复杂。细节会在后面的技术架构中谈到。

     视频到了外部之后,你可以拿平板、手机等任何终端看到视频画面。两边有一个部分都没有变,就是内部的监控。也就是说,大部分场景下你不需要更换任何设备,因为做一个架构把所有设备都替换掉的代价实在太高。所以说,这个功能是在不破坏原有的架构基础上增加一个互联网的观看体验。

     同样,会议监控。你可以把内部会场录像推送到云里面,场外的观众可以通过手机来观看。另外,固定地点的监控。它可以分很多种,比如说商务楼、居家、运动场馆。这些定点的监控视频流都有普遍的共同点,即都是本地存储,架构也跟互联网不同。互联网强调的是网络,同样是内部和外部的一个网络。传统的最主要的就是存储,你最主要做的就是把东西存下来,而互联网最主要的就是网络,意味着最主要的是分发,能够让更多人看到。所以一个讲究深度,一个讲究广度,是两种不同的需求。

3.技术对比

       对于传统来说,输入、输出、存储都是专有的一些设备。如果是从监控领域,大家可以看到高架或者马路上的监控摄像头都有一个叫做数据中心的东西,它所做的就是汇聚所有外面的摄像头,把外面的流汇聚到一个地方,在这个地方进行处理,调档也必须在这一个地方做,所以会有很多专用设备。而这个网络通常也是内网,包括数字摄像头,现在云化的当然也叫数字摄像头,但是下面的采集设备和汇聚设备会不同。传统设备用NVR、DVR设备,这些设备都是部署在内网。对于摄像头本身的输出也是RTSP等专有协议,大厂商这种统一的协议。像下面的整个配套都是为这个标准而定的,比如录像的时候有VOD等统一的标准。最后把这一套专有的东西放到一个机房,需要很大的带宽、专有的网络,专门为特定的场景做的这样一个监控。

      如果是云这方面的技术需要什么呢?这边注重的不是存储,而是分发。分发最主要的就是网络这一块的不同。相比RTSP、ONVIF这样的标准,互联网方面有了P2P、RTMP、HLS、FLV等不同的模式,像苹果现在的流媒体的解决方案,这就是符合互联网的观看的体验模式。包括流媒体服务器,相对于NVR、DVR来讲在架构上和协议上是不同的技术。而在存储上,目前互联网的技术是云存储,你不需要在本地有一个机房,不需要在本地搭建一个高效的网络,就可以直接进行云存储。大家知道,像很多云存储厂商提供的服务,实际上不需要自己购买设备,这个设备的所有权也不需要关注,只需要通过接口把要存的数据送到云存储上,然后按照使用量进行收费。如果是传统方式,则要从采购、硬件的搭建维护进行整体包装,所以从成本上来说也是不同的运营模式。

      在视频监控领域,如果支持大并发量的时候,可以想象到,一个简单的嵌入式设备,可以是一个摄像头,一个摄像机,或是手机。如果这时候有上千个人想要观看现在拍摄或者直播的内容,普通的手机或摄像头不能承载那么大的并发量,这时候需要CDN的平台。CDN帮你扛上千、上万的连接请求,这个模型也注定和传统方式不同,下文会对整个不同的技术架构做一个简要的介绍。

4.部署方案对比

       像传统监控部署方案,大家都墨守成规,可能十年前是这样,二十年前也是这样,而现在也是这样。这里灰色的底就是内网环境,里面是交换网络,需要采集设备。有NVR的设备采集,存储也是集中化的,在局域网中进行集中。如果你需要获取某一个摄像头或者某一个视频的时候都是走内网的内部交换网络,协议里面都是整个配套的,走RTSP的访问协议。在访问连接上就会有一个限制,一般的摄像头不会超过十路,如果你又需要音频或视频的时候,这时候甚至不能超过五路,三路这个摄像头已经达到性能极限了。所以说,这个方案一般都是对专有的场景下,比如说某一个情况下需要有单个或者两个人监控的时候能够实现,需要成千上百人观看可能无法实现。

      互联网进行云化的方式,包括相机和传统摄像头让更多人能够看到,实际上就是要替代原有的一些性能限制。这里需要用的都是云的基础设施,包括云存储、云分发(CDN),这些东西让互联网能够承载,可以把内部数据轻易的搬迁到外部,这就是目前云化所要做的事情,其实这也是目前的瓶颈,就是如何把内部那么大量的数据搬迁到外部。当然实现的手段有很多,也要看一些硬件限制,包括带宽、政策,包括一些实施的方案等。

      我们重点讲一下关于互联网云化如何替代刚才专有设备的内网结构。比如说像这样的一个场景,你希望能够在任何一个地方把摄像头的输入、输出统一管理,这时候流媒体服务器和云存储实际上占有了非常大的比例,它提供了最基础的设施。这个设施的提供实际上是在互联网上的一个基础设施,而不是局域网。所以说,不管哪个地方,只要能连上互联网就可以使用这个基础设施。

     如果使用运动相机,在做流媒体服务、校园监控或者手机直播等以发布者的身份来发布内容的时候,都是大体以这样的一个业务逻辑来进行。首先,你需要有你的业务服务端,它主要控制你的业务层。之后,云端提供基础设施。推流端,也就是设备端,负责采集信息。这一整套实际上就是可以让内部的内容输出到外部。如果是手机,那非常容易,因为它本身就是一个无线设备,可以轻易到达外部。

     之后是播放端,如果你走在马路上需要做一个实时的直播,可能有一千人看,如何让这一千条路安全地分发出去呢?这就需要有分发网络的技术平台。分发网络可以承担上千、上万的请求次数。它跟P2P区别在哪里?P2P更注重的是上下型、点到点,可能不是只有一个发布者,有非常多的观看者,也可能只有一个发布者、一个接收者,更注重私密性。如果是分发的场景,更注重分发能力。假设有上万个观看者,你如何能够承担这样的一个负载。P2P的话,从架构上来说更重要的是结点多少,也就是决定你的实时性。对于分发能力来说并不需要很多分担,更重要的是你的路由,所以你需要更多结点。所以这个圈就变成了P2P的分发结点,它做的事情可能非常简单,主要就是尽快把发布的内容送到需要接收的人的手里。像这种类型的中央化的发布,就是一对多的方式,更重要的就是在这些结点上能不能处理更多的内容,也就是说内容能不能做的更加丰富。比如说可能你在观看的时候有不同的码率,需要有字幕等方面的处理,希望在发布内容的时候让媒体不再那么单调,能够有额外的增值服务。如果是P2P网络下,最重要的就是它的实时性、稳定性、可靠性,不能丢消息。在这种环境下,你可以丢一侦,少了一个画面或者出现马赛克,这种情况还是能接受的,但是实时对讲、通话中这就是不能容忍的,所以不同架构下所需要的技术也不同。

     互联网监控在监控端如何实现技术的转变呢?大家知道,Adobe公司在这方面耕耘了很多年,在流媒体等方面都有垄断地位,包括现在互联网大部分支持的一些协议也都是Adobe公司已经开发了多年,然后开放给开发者使用的,所以使得目前在一对多的场景下使用了大量的Adobe的技术。如果你是P2P的话,大可不需要使用这些技术。如果你是单点的,比如说我和你进行单点的IM通信,完全不需要Adobe协议,你可以自己制定协议。同时这是一把双刃剑,当你可以进行点对点、有自己协议的时候,也意味着你在广度上也受到一定的限制,你只能走自己的点和自己的协议。目前一个发布者对上千上万的播放端的场景下所兼容的协议都是像这样的RTMP分发架构,这种架构对于兼容性就是一个挑战。如果你是做P2P的,你要使用RTMP就有很多问题。RTMP对于流媒体的传输是不太有利的,在网络环境不好的时候,它的传输会有非常严重的卡顿,传输效率没有那么灵活。如果技术团队非常强大,你做P2P,这个效果一定好很多。但是也丧失了一些广度,很多都是用RTMP方案,在互联网进行一对多发布一般都是使用这种,很少人使用私有的P2P协议。如果你使用P2P协议,需要自建太多东西,包括播放器要能识别你的P2P,当然你在流媒体播放输出的时候使用通用协议,但是接收端需要部署自己的结点来解析自己的协议,所以说这是一把双刃剑。大部分情况下,如果做互联网监控部署方案,比如说像幼儿园的监控场景,一个班有三十多个家长,三十多个家长连接到一个摄像头本身就是一个挑战,对摄像头的性能要求也比较高,这个造价也需要考虑,包括你的CPU内存都需要考虑造价。所以说,使用一个通用的协议,好处就是你不需要做任何事情,已经有现成的方案,你往上推,利用现有的资源把内容分发出去。所以从成本上来讲用通用协议更加实惠。

     协议通过RTMP送到云存储流媒体服务器,流媒体服务器不只是进行协议的接收,还可以进行不同的切片或者内嵌的字幕,在编码层可以做一些自由的事情。之后可以利用通用协议推送到设备端,可以是手机,可以是电脑,只要是IP网络。

     刚才所说的是一个全新部署,这些摄像头投资都是新的,直接送出的就是互联网级的。本身一般传统的摄像头,比如说在大楼里面或者校园里面,它是不会支持这样的协议输出的,也不可能去替换它。如何用最低的成本让它支持互联网化的需求呢?实际上可以保持原来的不动。下图跟之前传统的架构是很相似的,也就是说,存储摄像头、网关没有任何的变化,都是传统的架构模式。不同的是什么呢?网关这边需要做一个程序。这个程序实际上就是一个代理,他的代理工作就是让网络传输协议从内网专有的传输协议转化为支持互联网、更加融合互联网的协议,也就是说让内网本身的RTSP协议变成广度更大的RTMP协议。所以说,在这种方案下的好处是不需要替换设备,你的成本降低了,整个需求完全满足了互联网的需求,并且保留了原来的一些功能,你照样可以有一个门卫士,照样可以保留原来的设备,不需要花更多的价格去替换它。