omniture

七牛架构师实践日:实时摄像设备的互联网化

2015-11-05 16:37 8789
11月1日在深圳举办的“架构师实践日”沙龙中,来自七牛云的智能硬件解决方案负责人林齐斌向 与会者做了题为“实时摄像设备的互联网化”的分享。

深圳2015年11月5日电 /美通社/ -- 11月1日在深圳举办的“架构师实践日”沙龙中,来自七牛云的智能硬件解决方案负责人林齐斌向与会者做了题为“实时摄像设备的互联网化”的分享。这里的实时设备是指手机、运动相机等可以用作实时摄像监控的输入和输出源的终端。这是一个非常热门的领域,早在智能硬件兴起之前,很多硬件公司就已经在做这方面的工作,并进行了一些前端和底层的优化。林齐斌将这些传统的视频监控和当前成熟的互联网化的视频监控在客户需求、使用场景、方案部署等方面做出对比,并对云端解决方案的摄像头、推流协议、硬件平台等关键点进行分析。以下是对他的演讲内容整理。

传统视频监控VS云视频监控

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协议。所以说,在这种方案下的好处是不需要替换设备,你的成本降低了,整个需求完全满足了互联网的需求,并且保留了原来的一些功能,你照样可以有一个门卫士,照样可以保留原来的设备,不需要花更多的价格去替换它。

七牛架构师实践日
七牛架构师实践日

端提供商与云提供商合作方案

目前整个互联网云实际上是需要多方的一个合作才能实现的,因为实际上没有一家公司可以很轻松的把互联网和传统这两块不同架构的IT都玩的很转。包括BAT不可能直接切入传统的设备、传统的存储,主要的用户还是互联网客户,而传统的客户也没有那么大的一个能力组建一个大团队完全的做互联网化的东西,所以很多时候都是进行这样的合作,云服务商提供基础设施,硬件提供商提供直播摄像头,共同为客户提供整体解决方案。

关键点 -- 摄像头、推流协议、硬件平台

在合作方面,对于传统企业也好,互联网企业也好,最主要的就是要解决一系列的问题和技术难点,这个难点都是大家一起合作并且解决的。摄像头、推流协议、硬件平台是我认为急需突破的难点,这些点如果能打通的话,可能互联网化多媒体是翻天覆地的变化。

首先,摄像头。这一块传统企业更有发言权,他们做了几十年硬件了,对于行业内的一些模式,还有怎样让摄像头的性能较大、最优化最有经验。互联网企业很多需要依赖传统企业的硬件架构。比如说,如果互联网企业是做后台内容,做流媒体服务器,做软件架构就急需把协议做一个转化,转成互联网通用的协议。在这方面的开发上,我也走访过很多传统的监控厂商,实际上他们对于这一块协议还是挺陌生的,也就是说他们熟悉的只是自己的这一块领域。而从流媒体来讲,大家知道流媒体实际上分很多个层面。从硬件开始,之上有编码,再之上有分装,再之上有网络协议,这几层实际上都是不同的领域。在编码层可能好多年了,H264乃至现在H265,现在很多人想支持H265,但实际上现在进展都没有那么乐观,你在播放端、解码器这一块不能得到支持,这个标准就很难推广了,如果H264支持可能比较好,这些都是摄像头软件硬件这一块需要合作的地方,大家首先需要有一个统一的输出、统一的输入。

目前我了解到的一些摄像头厂家也慢慢做互联网化的产品,不管是业内老大还是初创企业慢慢做互联网化的产品,在摄像头里面烧入一些SDK,烧入一些不同的模块,使得让协议输出能够支持互联网。这是目前大部分的在摄像头端的解决方案。

第二,协议。在协议方面,像RTSP这样的协议是基于传统监控场景的,这种协议从本身的播放角度都是被动的进行拉取,你需要登录这个设备才可以进行观看。如果只希望这个摄像头主动输出,这个设备目前不是特别支持。虽然理论上可以主动推,但是它本身的基因是一个被动模式,所以说在这一方面也需要进行互联网和传统方面的一个结合。

对于之前提到的架构方面,就是在网关这一部分,让内网的内容搬迁到外网,可以使用代理方式。在内网如何把内容输出到外网呢?就是在网关方面部署这样的转发程序,就是把内部的码流转到外部,使它更加支持互联网,能够更加互联网化,能够让互联网接受这边的码流。

第三,硬件平台。在前几天我访问厂家的时候,其实有很多传统厂商很希望跟我们这样的云厂商进行合作,当然他们的主要业务、主要收入和各方面的利润都是来自传统的,但是他们很多意识到自己需要做一些变革,因为目前无论是大环境还是硬件的一些技术,都已经慢慢的开始互联网化了,所以说或多或少都有互联网的部门做互联网的事情,比如说摄像头、相机,都是做一些运动相机、互联网监控家庭摄像头,这种事情越来越普遍,这只是第一步。第二步乃至以后的趋势就是很多传统摄像头慢慢也会变得云化,就像之前我所说的,在互联网监控领域,校园监控是一种场景,体育场监控又是一种场景。体育场有很多摄像头,你打了一场球赛需要回看,实际上很多体育场都装了很多摄像头,但是这个摄像头从体验上来讲非常难用。可以说一个例子,很多体育场提供了这样的一个设施,但是如果当你需要使用这个设施的时候,首先你要提出申请,比如说要把这场赛事录下来。要把内部打通,然后架几台摄像机,然后比赛开始就开始录制。录制完成之后就拿着U盘或者硬盘直接到体育场馆那边拷录。这种用户体验不是说不行,这种用户体验是可以的,但是从体验来说,这种模式会有客户,但是它一定很难推广出去,因为本身整个流程并没有简易化,并没有加快整个服务的便捷程度。所以说,在很多场景下,有一些场馆就希望我们提供云设施的一些基础架构的云厂商能够给他们提供一套解决方案,就是能够简单的把内网的内容搬到外网,而且做一个APP把内容录制下来,不需要拿U盘去拷,当场结束的比赛当场就可以看。这就是传统厂商的支持,本身对于云厂商来说我们能做什么呢?我们能做的就是互联网的基础设施,我们能做的就是云分发。传统厂商能做什么呢?主要是摄像头端更好的能够支持互联网。在摄像头端、硬件、协议、编码各方面坐在一起把内容融合起来,这实际上是我们目前最需要的一件事。所以,对整个流媒体的生态圈来讲,目前互联网趋势是不可避免的,越来越多的内容开始互联网化。曾经是因为带宽的原因,你在公共的网络上传输流媒体似乎是一件不可能的事情,尤其是在五年前。但是在五年后,想象大家有多少时间在外地拿着微信跟大家沟通和群聊,这种需求越来越广泛,可能你都不会计较它的成本,无论从成本还是从技术能力你都不觉得它是一个问题,实际上这就是一个趋势,这也是一个大势。

最后也是想说一下,在深圳是一个硬件创业非常好的地方,在硬件方面的一些创新脱离不了几点,一个是硬件本身,还有是软件和云化的基础设施,所以说如果大家能够有机会,我们可以一起来探讨怎样把这个通路来打通,让所有的内容都能够串联起来,让这个生态更加的完整。

谢谢大家!

PPT和现场演讲视频资源大放送,尽在“七牛架构师实践日”官网:http://hd.demo.qiniu.io/arch ,并且可以及时获得最新活动讯息哦,期待大家的加入~

「七牛架构师实践日」 -- 这里只谈架构

七牛架构师实践日是由七牛云发起的线下技术沙龙活动,联合业内资深技术大牛以及各大巨头公司和创业品牌的优秀架构师,致力于为业内开发者、架构师和决策者提供前沿、最有深度的技术交流平台,帮助大家知悉技术动态,学习经验成果。

图片 - http://photos.prnasia.com/prnh/20151105/0861510728-a
图片 - http://photos.prnasia.com/prnh/20151105/0861510728-b
图片 - http://photos.prnasia.com/prnh/20151105/0861510728-c

消息来源:七牛云存储
China-PRNewsire-300-300.png
全球TMT
微信公众号“全球TMT”发布全球互联网、科技、媒体、通讯企业的经营动态、财报信息、企业并购消息。扫描二维码,立即订阅!
collection