现在的位置: 首页 > 自动控制 > 控制·综述 > 正文

FLASH技术搭建跨平台网络视频监控系统

2014-05-25 17:56 控制·综述 ⁄ 共 2478字 ⁄ 字号 暂无评论

    本文分析了网络视频监控系统的现状,指出其主要弊端在于无统一标准,而且没有跨平台的的解码播放器。最后提出用FLASH编码推送技术实现统一的视频监控平台这一概念。

相关阅读

----网络视频监控P2P解决方案

一. 网络视频监控系统的构成

一个网络监控系统一般由前端编码,管理存储和转发平台,客户端三个核心部分组成。

  • 前端编码器一般为编码卡,网络摄像机,视频服务器或者DVR,完成镜头云台的控制,视频信号的采集,数字化,编码和传输。有些可以通过SD卡,硬盘实现前端存储的功能。
  • 管理存储和转发平台,主要实现对前端设备和客户端帐号的接入管理,同时可以实现对媒体流的存储,回放以及转发。
  • 客户端可以实现对视频的实时预览,云台控制,录像视频的查询回放等功能。

三者之间通过TCP/IP网络进行连接,所有控制和视频都是通过数字信号进行数字化传输。

二. 传统视频监控系统的实现方案

    传统网络视频监控系统,一般前端采用DSP或者SOC实现音视频编码和传输,比如用MPEG4/MJPEG/H264实现视频编码,用G7XX等实现音频压缩编码。然后利用私有协议,将媒体流发送到理存储和转发服务器。

    管理存储和转发服务器实现设备和用户的管理,流媒体的存储,回放,转发,需要和前端采用私用协议,实现控制信道和媒体信道。

    同样的道理,客户端也通过私有协议接入管理存储和转发服务器,并利用私有协议实现实时流,回放流流媒体的请求,接收,解码和播放。如果需要在LINUX或者其他手机平台上实现一个监控客户端,需要重新在该平台下开发,实现平台接入,流媒体请求,接收,解码和播放。

    需要指出的是,除了少数DSP或者SOC厂商提供的解码的库,但基本上是WINDOWS平台,最多支持LINUX,且只能是X86 PC架构。因此要想实现手机平台的视频解码,难度非常大。多数情况下,是利用开源的ffmpeg编解码库,移植到对应平台上,但没有经过专门优化的解码器,其性能和稳定性可想而知。

    通常一个大型的网络视频监控系统,比如全球眼等,通常需要接入多家的视频编码器。在一个没有国际和国内标准的情况下,平台厂商或者编码器厂商往往需要为接进一个厂家的前端设备或者接入一个其他厂家的平台而做大量的开发,这些都属毫无意义的,同时客户端还需要根据不同的厂家的设备,调用不同的解码播放库,导致整个系统非常复杂,稳定性和性能大打折扣

    这就是当前中国乃至世界网络视频监控系统的现状。厂商数不胜数,各自为政。虽然现在已经有一两个初步的标准,比如ONVIF等,虽有大厂支持,但由于其现在还比较肤浅,无法完全适应复杂的网络视频监控系统,因此离大规模实用还有很长的距离要走。

三. FLASH技术实现方案

FLASH是全球化的标准,流媒体的事实标准。全球几乎所有的PC都已安装了FLASH 播放器插件,少数的手机平台(如IPHONE,由于其领导人乔布斯为了苹果生态链自身利益的考虑拒绝支持FLASH)不支持FLASH播放器之外,其他手机平台几乎都支持FLASH播放器,比如现在如日中天的Android手机平台就强势支持FLASH播放器。与此同时,目前世界上几乎所有的视频网站都采用FLASH的标准,事实证明,FLASH技术稳定可靠适合大规模应用的。

FLASH播放器是经过优化的高效的视频解码播放器,是跨平台的,是经过多年检验的稳定可靠的播放器,用来实现监控的解码播放再合适不过了,而且接口丰富,调用简单,能大大节省客户端的开发难度和工作量,方便快速将产品推向市场。

流媒体转发,存储,回放也是视频监控系统中难度最大的工作,没有稳定可靠和高性能的流媒体转发,存储和回放平台,一个视频监控系统是不可能规模应用的。传统视频监控方案中,由于信令和流媒体传输都采用私有协议,各厂家技术水平的不同,实现的产品性能和可靠性都各有差异,而且无法互通

采用FLASH技术的媒体转发,存储和回放平台则完全不同,是基于FLASH的东家Adobe公司的先进FMS(Flash Media Service)平台技术,这也是当前全世界几乎所有视频网站的后台支撑技术,是稳定可靠,标准的商用服务器软件平台。接口开放,可在服务器侧进行定制和开发,构建百万级用户的视频网站都不成问题,更何况小小的视频监控系统?

唯一美中不足的是,FMS服务器软件价格有点昂贵,但是这已经不是问题了,即使FMS的协议未完全开放,现在也已经有成熟稳定的开源免费产品可以替代FMS了!虽然性能稍有差异,但实现FLASH流媒体的发布,存储,转发,回放已经完全不存在问题。这其中的佼佼者就是Red5,有兴趣的读者可以详细了解一下了。

各位也许要问了,既然万事具备,为何此项技术未能大规模应用呢?问题在于前端编码

FLASH编码技术实质就是H264视频编码加AAC/MP3音频编码,目前能同时支持H264视频编码和AAC音频编码的嵌入式解决方案不多。同时要实现FLASH流媒体的发布才是真正的技术难题,因为将H264,AAC媒体流发布到流媒体服务器的RTMP协议是Adobe公司的核心机密,虽有少量文档公开,但想要据此实现H264视频和AAC音频发布到FMS/Red5流媒体平台,则并非易事。所幸国外有人已经利用逆向工程基本上破解了此协议,而笔者也在此基础上经过长时间的摸索和研究,终于能实现通过RTMP协议,稳定可靠的将H264视频和AAC音频流发布到FMS/Red5流媒体服务器上了,从而可以通过FLASH播放器实现实时播放以及录像回放了。另外通过TI强大的Davinci DSP平台,笔者也实现了嵌入式的FLASH编码器,支持D1/CIF双流,高清版本可以支持1080P/QVGA双流, 可实现H264以及AAC编码,同时可通过RTMP协议将媒体流发布到FMS/Red5流媒体服务器上.

    如果以FLASH技术作为前端编码和发布的标准,不仅可以实现大规模的监控系统,而且可以很容易实现不同厂家监控系统的互联互通,同时能很轻松的实现电脑,手机监控,这些都正是业界难以解决或者花大力气才能解决的难题。

给我留言

留言无头像?