大规模视频流分析(精选4篇)
大规模视频流分析 篇1
1 引言
在建立大规模监控视频流分析系统过程中, 需要关注两个关键问题: (1) 如何为大规模监控视频分析组织所需要的计算能力。 (2) 当集群的计算能力达到峰值时, 如何为大规模的监控视频进行计算能力的扩展。智能视频分析算法都是计算密集型工作, 需要消耗大量的计算资源[1]。
SPARK大数据框架融合了流式计算技术、内存计算技术, 利用SPARK streaming建立大规模监控视频流分析系统, 利用流式计算和内存计算的技术, 结合OPENCV视频分析算法[2], 达到对多路监控视频流进行实时分析。但是, Spark框架并没有解决上述的两个关键问题, Spark Streaming框架的数据接收器并没有根据节点的运算能力来设置接收的数据量, 同时Spark的任务调度策略没能够做到既考虑数据的本地性又要兼顾任务处理的时效性。所以, 利用Spark构建一个高效健壮的大规模监控视频流分析系统需要解决上面的两个问题。
对于第一个问题, 在实现视频流数据的实时性处理时, 采用基于数据本地性的实时任务调度策略, 将改进的实时任务调度算法应用在数据的快速处理上, 解决延时调度策略产生的数据等待处理的长延时问题。在数据访问上, 基于内存计算技术有效降低IO访问时间, 提高大规模视频处理效率, 有效转化监控视频流的实时价值。
对于第二个问题, 在计算扩展性方面, 实现: (1) 自适应的任务计算。通过基于优先级的丢帧策略来保证系统的稳定运行。 (2) 系统的水平可扩展性。通过动态的添加机器来增加系统的计算能力。
在大规模监控视频的实时分析过程中, 每个任务的执行时间都会影响整个作业的进度。例如, 任务的执行时间增大会影响下一个任务的开始执行时间;也就是说延迟时间会因为任务的计算过大得到累积。如何让系统能够稳定的执行, 同时保证流式计算的实时性显得尤为重要。在大规模的监控视频分析中, 每路监控视频的重要程度并不同。例如, 在上海最繁忙的路口普陀区的中山北路武宁路口, 这里的摄像头拍摄的信息量就明显比小路口的信息量大的多。因此, 我们在设计自适应的任务计算策略时需要考虑怎样舍去数据, 即在保证系统稳定性的同时又要考虑丢弃最少的信息量。从另一方面说, 当出现数据丢弃的情况时, 我们需要考虑计算性能的增加, 即在程序运行过程中, 通过动态增加计算节点来提高计算性, 使得能够处理更大更多的计算任务。因此本节研究的内容是关注在发生系统出现不稳定运行的情况下采取的措施。
首先, 分析了影响系统稳定运行的因素, 并且通过相关实验得出影响系统分析计算效率的因素。介绍了几个重要的用来表征系统负载的因素。
其次, 提出了自适应的任务计算丢帧策略来保证系统的稳定运行, 并用算法对其进行描述, 保证了系统高效稳定的运行。
最后, 探讨动态的添加机器来增加系统的计算能力。
本文的目标就是让系统能够自适应任务的计算, 保证系统能够稳定和低延迟实时计算数据。
2自适应的任务计算策略
实时计算任务超出了集群的计算能力时会出现延迟变长, 内存占用加大的现象。如果不采取有效的措施, 会导致内存资源耗完, 系统调度延迟变大, 最终导致系统崩溃。
视频智能分析是一件耗时的工作, 例如人脸识别技术。它包括人脸检测、人脸识别两个过程。当视频流环境一样 (每帧图像所包含的人脸数量一样, 图像黑暗程度一样) , 人脸识别会随着模型文件的增大而耗费更多的cpu计算时间, 如图1所示。当模型文件一样, 视频流图像黑暗程度一样, 人脸识别时间会随着每帧图像中的人脸数量的增加而增加, 如图2所示。当模型文件一样, 每帧人脸数量一样, 而图像环境黑暗程度不一样, 人脸识别消耗的cpu时间会随着图像环境变化而变化, 往往是图片越黑, 检测人脸的时间越长, 如图3所示。以下实验是严格控制在单核 (Intel (R) Xeon (R) CPU E5-2620 v2@2.10GHz) 下进行的实验。
通过上面的实验对比可以知道, 对海量视频流进行分析的时候, 视频流数据会对视频流的智能分析平台产生的影响。
我们需要获得相关信息来表示系统是否超负载。首先获取系统流式计算的调度延迟和计算延迟。如果调度延迟和计算延迟在不断的增大, 说明系统已经超负载;同时通过获取系统内存的使用情况可以进一步判断系统是否处于超负荷状态。视频流的数据堆积在内存表现为: (1) 内存使用量越来越高。 (2) 并且内存的释放量小于系统申请的内存量。 (3) 系统cpu计算的数据小于视频流产生的数据。
我们通过收集每台机器的cpu时间, 内存增长率负载信息。在模型中, 我们使用下面这两个个参数来衡量系统负载的情况。
(1) 执行任务所花费的时间, 使用Cpu Time表示。
(2) 内存在某时刻相对前面时刻内存增减情况, 使用Mem Per表示。
上述两个参数都是表示某一时刻该机器的负载情况。系统采取每隔一个固定的时间对上述两个个参数进行采样, 然后采用平均值来表示机器的负载情况。
其中, Param∈{Cpu Time, Mem Per};Param Sample i表示第i个时刻的数据采样。通过对多时刻的样本数据进行求平均值, 这样得出来的数据往往更加具有代表性和准确性。
上面两个用来衡量机器负载的参数往往占的权重不一样, cpu计算时间和内存增长率往往占的权重比较大, 所以这里为了更好的表示机器负载, 需要加入权重。其中C i表示第i个参数的权重, Average (Param) i表示第i个参数的采样平均值。
系统通过周期性的获取所有机器的负载情况, 并将获得的负载信息与系统实时计算延迟信息进行比较。如果整个集群的负载都是高于正常负载load normal (该值是通过长期试验确定的一个经验值) , 并且计算延迟在不断增加, 表明系统无法实时处理现在的工作负载。当获取到了警告信号的时候, 为了保证系统实时的工作, 系统需要采取合理的丢帧策略丢弃待分析的数据。
自适应的丢帧策略思想:系统获取负载信息以及系统延迟时间信息后进行判断, 如果发现系统负载过重, 并且系统实时处理延迟变大, 触发丢帧策略。首先, 从视频流配置文件中读取视频流的权重信息, 并将所有的视频流按权重大小进行排序。如果所有的摄像头权重是相同的值, 则使用特殊处理方式。然后采用试探性的丢帧方法, 将权重最低等级的所有的视频流帧数丢掉一半;同时获取系统负载信息和延迟信息, 判断下一步是继续丢帧还是逐步恢复各路视频流的帧数。如果系统负载和延迟还是在不断的增长, 则继续将视频流的帧数在原有的基础上丢掉一半 (从视频流权重最低等级往高等级) 。如果系统负载和延迟得到缓解并且负载和延迟不再增加, 则停止丢帧。如果系统负载和延迟下降, 则可以在系统负载和延迟恢复正常情况时采取加帧措施。自适应的丢帧策略算法描述如下:
算法1:自适应丢帧策略算法
3动态增加计算性能
在大数据处理系统中, 系统的可扩展性是一项十分重要的特性。没有可扩展性的系统根本就不会有大数据处理的价值。动态增加计算性能可以增加系统的吞吐量。结合上文在调度上的优化, 可以让新添加的计算节点的执行效率得到更高效的利用, 基本上可以达到集群计算性能的提升就是增加节点的计算性能。新添加的机器需要配置为工作节点, 并通过启动节点, 通过注册节点信息向主节点注册, 实现工作节点的动态增加, 如图4所示。
4结语
流式计算需要追求实时性, 任务的执行时间会影响下一个任务的执行, 延迟时间会因为任务的计算过大得到累积。文章提出通过丢帧策略舍弃部分分析的数据来保证系统的负载不会过高, 保证系统实时计算;并且丢帧策略可以使多个影响系统的因素都得到解决, 同时介绍了动态增加计算性能来提高系统的吞吐量保证系统能够处理更大更多的计算任务。
参考文献
[1]Wang G, Tao L, Di H, et al.A scalable distributed architecture for intelligent vision system[J].Industrial Informatics, IEEE Transactions on, 2012, 8 (1) :91-99.
[2]于仕琪, 刘瑞祯译.学习Open CV[M].北京:清华大学出版, 2009.10, 1-16, 351-355.
[3]Venkatraman S, Kulkarni S.Map Reduce neural network framework for efficient content based image retrieval from large datasets in the cloud[J].Hybrid Intelligent Systems (HIS) , 2012 12th International Conference on.IEEE, 2012.
[4]Vogelgesang M, Chilingaryan S, dos Santos Rolo T, et al.UFO:A scalable GPU-based image processing framework for on-line monitoring[C]//High Performance Computing and Communication&2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS) , 2012 IEEE 14th International Conference on.IEEE, 2012:824-829.
硬盘视频记录设备的大规模应用 篇2
目前电视台使用的主流磁带录像机设备经过几代的发展,设备的型号较多,各设备采用的记录格式也不尽相同。以湖北台为例;新闻制作采用松下DVCPRO和DVCPROHD (高清)系统、综艺等其他节目制作采用Sony IMX和HDCAM (高清)系统,而松下和Sony标清制作系统中又有DVCPRO,DVCPR050,IMX,数字BETA等不同的格式,这样就造成在电视台制作机房内3~4种录像机和磁带混合使用,给节目的编辑制作造成很多不便。再加上这些主流的磁带录像机设备价格昂贵,为了保证台内各种高标清节目信号的录制记录,往往一个机房要采购多种多套录像机以满足制作需求,这样就给电视台设备采购的成本增加了很大的压力。
目前的主流磁带录像机设备中依旧有很多机械结构,这些都有一定的使用寿命,如磁鼓、压带轮等都需要定期维修更换,而更换这些配件需要专业人员和厂商提供专业配件,这些成本都非常高,往往磁带录像机全寿命使用期间这些维修耗材的成本能到设备采购价的1/3至1/2。同时,磁带录像机结构复杂,一旦出现系统故障其维修成本和维修时间都会很高,一些较复杂的系统故障甚至会造成设备的报废。此外,配套的磁带相互间不兼容,经常需要在各种磁带记录格式间转换;磁带的使用寿命较短,记录素材的磁带存放要求较高,都给它们的使用造成了一定的困扰。
由于这些使用的磁带都属于各专业公司的专业产品,一般编辑记者通过常规途径无法购买,给设备的使用造成一定的困难。此外,这还造成磁带的采购成本较高。另外一个很大的问题就是磁带之间互不兼容,一旦电视制作系统中磁带录像机进行重大技术升级,其配套的磁带有可能全部报废,磁带存储的素材甚至无法使用。另外磁带使用寿命有限,记录好节目的磁带存储要求较高,虽然记录的信号都是数字信号却不是文件化数据.无法被计算机系统读取,这些都是磁带使用上的局限性和不利因素。
针对磁带录像机设备的不足,一些视频设备厂商推出了专业的硬盘录像机产品,很好地弥补了以上的不足,给电视节目的制作带来了很大的便利。笔者在此对这些产品做些简单介绍。
Bliackmagic-design公司提供两种硬盘视频记录设备:通用型机架式HyperDeck Studio和便携式HyperDeck Shuttle,图1,图2分别为这两种产品的视图。
1.通用型机架式HyperDeck Studio
HyperDeck Studio配备高质量3Gbps SDI和HDMI接口,可连接任何广播级数字摄像机、监视器和视频矩阵。将摄像机的HDMI或SDI输出连接到HyperDeck Studio,即可绕过摄像机本机压缩录制格式,直接录制高质量的1 0bit无压缩视频,HDMI接口还可连接显示器和投影机。HyperDeck Studio Pro还配备模拟分量视频和XLR模拟音频接口,以及可支持高码流SDI格式的4通道3Gbps SDI接口。HyperDeck Studio机架式硬盘录像机具备1路lObit SD/HD/3Gbps SDI输入,两路10bit SD/HD/3Gbps SDI输出和1路HDMII.3A输入输出两种数字接口以及422遥控接口。SDI信号可内嵌16路数字音频,HDMI信号可内嵌8路数字音频回放2路内嵌音频;前面板带有两个3.5寸标准SSD硬盘接口(SATA 3Gbps)和与传统录像机类似的操作按钮以及彩色LCD显示屏可显示图像,音频表和时码信息。
便携式硬盘录像机具备1路l0bit SD/HD/3Gbps SDI输入,输出和1路HDMI1.3A输入、输出两种数字接口。SDI信号可内嵌16路数字音频,HDMI信号可内嵌8路数字音频侧面带有一个3.5寸标准SSD硬盘接口(SATA 3Gbps)和与传统录像机类似的操作按钮以及内置电池可支持约2小时记录时间。
以上这两种Blackmagic-design产品采用通用的SSD硬盘(固态硬盘)为记录介质,信号记录格式为l0bit无压缩(高标清)或AVID DNxHD,Apple ProRes422 (仅高清),256G SSD硬盘对应的记录时间分别为30分钟(高清无压缩)和180分钟(标清无压缩、高清DNxHD、ProRes422)。记录的信号可通过HD-SDI和HDMI接口输出监看和上载。SSD硬盘是目前计算机的通用设备,通过计算机SATA 3Gbps接口可达到100MB/s~250MB/s的传输速率。
从产品图例和相关技术介绍中,我们可以清楚地发现这些设备具备通用的多种信号接口,高质量的信号记录格式,通用的计算机接口和记录介质以及高速的数据传输接口。我们可以方便地利用这些设备提供的这些技术特性在电视节目制作中提高节目制作的信号质量和后期节目的制作效率。现在我们来具体分析一下利用这些设备的技术特性能对我们现有的前后期工作提供哪些便利和技术提升。
目前高标清电视节目制作系统中,各厂家的前期拍摄设备型号繁多,设备系统复杂,采用的记录方式和介质多种多样,记录信号的格式和记录质量也各不相同。表1是几种常用高清拍摄设备的数据比较列表。
从表1中可以发现,各厂商各自的系统都各不相同,采用的编码质量也不完全适应后期制作的要求,而且各系统配套的专业高清播放录像机等后期设备价格较高,给电视制作系统的整体技术投入造成较大的资金压力。但是新的硬盘视频记录系统出现后,如果我们能合理利用好这些新系统的技术特点,将会大大改善现有高清制作系统的技术使用环境和质量。首先,我们常用的前期摄像机系统都具备HD-SDI或HDMI输出接口,可以输出高质量的高标清信号,我们可以利用便携式的硬盘录像系统通过摄像机输出接口直接记录成适合后期编辑使用的高质量l0bit无压缩、DNxHD或Apple ProRes 422视频格式文件,而且这些产品都具备标准通用的摄像机挂架,可以方便地安装在摄像机上进行拍摄.也支持时码信号启动记录能力(输出SDI信号中时码”走动”时可自动启动记录功能,时码停止时自动停止记录)。这样我们可以统一信号的记录方式和记录格式,这样将大大简化后期系统的设备配置,同时适用于后期编辑的10bit编码方式还能有效提升节目信号的录制和制作质量。此外,这些便携式设备采用外接方式记录,很好地保留了原设备的记录功能,既不会对现有设备造成影响和浪费,又能为前期拍摄提供良好的信号备份通道。其次,由于这些新的硬盘视频记录系统采用了通用计算机设备,与动辄十几二十万的磁带录像机设备相比,其系统几万甚至几千元的费用很低廉、可以大规模地投入到节目制作系统中,甚至有些便携式的设备能做到人手一台,在方便节目制作系统使用的前提下、大大降低了整体的技术投入费用。
采用现在这种通用的硬盘录像机则可以很好地兼容各种高标清信号,不必为各种高标清信号记录配置独立的录像机。这样机房内的设备通用化水平会大幅度提高,实现一种录像机记录和回放所有高标清信号实现全兼容。从前面的设备特性说明中我们可以了解到,这些硬盘视频记录设备都是计算机与传统数字视频设备的结合体,设备大量应用了通用的计算机设备和接口,在电视节目制作系统计算机化和网络化基本实现的今天,这无疑可以有效地提高节目制作的效率。设备中通用计算机存储设备和接口的大量应用很好地适应了目前电视节目制作网络的应用要求。由于其记录的数字节目信号是文件化数据,在前期素材拍摄完成后记录在通用存储设备中的视频数据可以通过高速的计算机接口方便、快速地进行素材上载。这些通用高速计算机接口(SATA 3Gbps)数据传输速率比常见的P2,专业蓝光光盘或EX卡等要快3~5倍,同时由于记录时采用的是适用于后期编辑的编码记录格式,上载后基本可以直接编辑使用,即使需要转码,其转码效率和质量也很高。另外,由于系统支持计算机高速接口接入,所以对于支持系统的后期编辑系统可以直接编辑使用,大量地减少数据的上载转码时间,特别适合节目初编和新闻等节目的制作。而在有些高安全要求的环境中,如:播出、演播室直播等系统中使用时,我们可以利用硬盘录像系统数据存储和信号记录的双重特性,将编辑好的节目通过HD-SDI或HDMI接口进入这些系统,既能保证节目的信号质量又可保证系统的高安全性要求。此外,由于这些系统基本都配置了HDMI接口,在外出使用时可大大方便信号的监看、利于保证节目的制作安全和质量。通过这些分析我们可以看出,硬盘录像系统配备有齐全的计算机和音视频接口,很好地承担了前后期节目素材的使用和交流功能,这给我们规划和设计节目编辑制作系统提供了很大的便利,方便系统的整体规划和构建。
在节目制作进入高清时代后,其音频制作和播出也随之提出了很高的要求。高清节目播出制作最低要求为立体声制作,晚会等节目更是要求达到5.1音频制作的要求。但是,目前常用的高清制作系统(索尼HDCAM系列、XDCAM系列、松下DVCPRO HD、P2系列)都只支持4声道数字音频记录和制作,应对立体声节目的制作都比较吃力,更别说5.1节目的制作了。所以,在目前的电视制作系统中大量应用了杜比E编解码系统,这样不但大量增加了系统设备的投入(一套杜比E编解码系统需要至少10多万),还存在编解码后音视频同步、音频监听等一系列技术问题,给整个节目制作系统的规划建设和素材的交流等都造成了一定的困难。而硬盘视频录像系统具备8~16路嵌入式数字音频的记录和播放能力,可大大方便和促进节目的音频制作能力,8声道实现完整的立体声声道和5.1声道的记录播出,16路声道可完整记录播出声道和国际声等其他供存档,交流等音频的记录,方便节目的交流存档和音频后期制作。同时由于系统能采用嵌入式数字音频记录和播放.可完全脱离杜比E编解码系统,大大方便了节目的5.1音频监听和审片等工作。
硬盘视频记录设备除了前面提到的几点技术应用优势以外,在系统的运行维护和升级方面也有着与传统视频录像设备不可比拟的优势。传统录像机设备由于采用较多的机械结构,磁鼓、压带轮等都属于耗材,每隔300~5000小时都需要进行维护更换,而这些专业设备的维护费用也是相当给力。另外,记录磁带的使用和存储也有一定的寿命,一般磁带可以重复记录50~100次,存储时间一般10~15年。而新的硬盘视频记录设备由于采用了计算机通用的SSD硬盘和通用接口,整体系统采用了全电子部件,基本没有机械部件,系统整体的可靠性和稳定性比传统设备有了很大提高。在一般使用情况下没有需要更换的耗材元件,设备维护费用基本为零,同时由于采用的记录介质是SSD硬盘,其可靠性和使用寿命都大大提高,基本可以保证30~50年的使用。并且,由于SSD硬盘记录的是文件素材,可兼容这些设备的日常备品、耗材采购基本都是计算机的通用部件,可以脱离原有的专业渠道转而在计算机通用设备市场上采购,这样将给电视台的日常备品,耗材的采购提供很大的便利,节约大笔的运行维护费用。此外,硬盘视频录像系统整体大量采用计算机技术,而计算机技术的发展速度和技术提升都是空前的,随着计算机设备性能的不断提升和成熟,存储设备的整体性能也将变得更快更强和更便宜,无形中提升整体设备的技术性能。这些硬盘视频录像设备还可以通过软件的不断改进而不断扩展设备的使用功能和设备性能,而这样的技术升级能力和方式不仅便宜而且高效,便于系统管理,
●虽然有类似录像机的操作面板,但是不能单独完成录像机的线性编辑制作功能,如:音视频的组合,插入编辑。如需完成都需要非编系统支持。
●出于保护素材的目的,硬盘录像机无法独立删除更改录制的视频片断,这些操作都需要利用电脑完成。
●录制的视频素材文件名命名方式单一,无法记录更多的信息。
●由于是新设备,可靠性还有待时间检验。
通过以上的这些分析,如果我们在电视节目制作中大规模使用硬盘视频记录设备,可以对现有的电视制作系统带来如下变化;
●大幅度简化系统构建成本和设备型号。
●大幅度简化系统维修/维护的成本、使用效率和升级成本。
●极大地简化和方便立体声、5.1声道节目制作的技术环节。
●极大地方便视频存储设备的采购和维护成本。
●需要对原有的对编系统和录像机使用进行新的技术规划和使用调整。
相应地,我们可以规划出电视台节目制作系统新的流程,如图3所示。通过流程图我们可以发现,使用新硬盘录像机系统后,在台内的使用环节中基本上省去了磁带录像机的应用,大大简化和方便了节目制作的信号和素材的交流使用。同时,在一些特殊的应用环境还可以利用SDI信号保证节目的正常交流和制作。
硬盘视频录像系统现在正越来越多地应用到现在的节目制作系统中,新技术的运用能给目前的节目制作带来很多新的节目运作方式和技术变化,笔者希望通过自己对这些新系统技术特点的认识.结合在日常节目制作中发现这些技术特点对电视节目制作提供的便利和技术提升,给大家提供一些启示和帮助,共同利用好这些新技术和新设备,制作出更高质量的电视节目。
摘要:分析了目前电视制作中磁带录像机设备使用上的不足,介绍了通用型机架式和便携式两种硬盘视频记录设备的特性、对硬盘视频记录没备技术的优势进行了对比分析,并在此基础上规划出电视台节目制作系统新的流程。
大规模视频流分析 篇3
关键词:云计算,视频监控,“1831”
0引言
改革开放以来, 环境保护部门针对环境保护开展了一系列措施, 然而在城市经济持续快速增长和城市化进程不断加快的情况下, 部分企业投机取巧、打擦边球, 更有甚者只是在环保部门进行企业检查时才搞一些表面工作, 给环境监管带来困难。 目前绝大部分环保监测系统仅仅实现了数据监测功能, 而没有实现图像监控功能, 无法直观的看到排污点的实际景像。江苏省生态环境监控系统, 不仅能看到各类监测数据, 同时能看到实时的图像。它的视频监控系统, 是以环保部门为中心, 相关排污企业为支点的基于云计算的大规模污染源视频监控系统。
视频监控技术正在不断地向前发展, 用户对于视频监控产品的要求也在不断提高, 要有着更高清的画面, 更完善的功能, 更稳定的性能, 更丰富的终端等[1]。要实现大规模的高清视频监控, 就必须从多个环节进行全面考虑, 如:摄像机采集视频信号的码率、视频图像的编解码、视频传输的网络、录像文件的存储等[2]。但这样一来, 又给整个系统带来了一系列新的问题, 如:存储空间需求量大、传输带宽不足、服务器性能指标压力、 系统可靠性要求骤增等。
传统视频监控的架构如图1所示, 通常采用大量“固件”的形式组合成平台。从摄像机、到硬盘录像机、网络硬盘录像机、 视频切换矩阵、编码器、解码器、转码器、数字化综合平台、操作切换平台、数字业务平台、流媒体服务器等, 最后输出到PC机、大屏等终端设备[3]
随着数据量的不断增长, 业务场景的不断变化, 传统架构已经愈发不能满足现有的需求[4], 因此, 如何将新的技术融入到监控系统中, 从而形成一种全新的模式, 逐步成为了监控行业的热门话题。
云计算的概念最早是由Google公司提出的[5], 到目前为止, 仍然没有明确的标准化定义, 其概念描述如下:云计算是分布式计算技术的一种, 主要通过网络将大量服务器连接在一起, 并且将计算量很大的处理任务自动分为许多个较小的子任务, 再交由这些服务器所组成的庞大系统进行处理, 并将结果返回给用户[6]。
由此, 可以将云计算应用于视频监控, 通过采用标准服务器硬件加软件的形式, 组建成统一的服务器集群, 共同对外提供视频监控服务[7]。将云计算的概念和方法引入视频监控, 充分利用“云”的计算能力和存储能力, 无论是从系统的架构方面, 还是可靠性、通用性、兼容性和可扩展性等方面都有着巨大的提升[8]。
1系统设计
云视频 (Cloud Video, cVideo) 监控平台, 是在服务器集群上部署的基于云架构的视频监控软件, 其核心内容是将海量的前端视频信号统一接入, 并进行实时的处理和分析。系统基于云计算的模式, 采取海量分布式云调度架构, 以集群的形式共同对外服务, 通过合理的云调度, 实现诸如视频云端转码、内容识别、智能分析等需求。最终将处理好的视频图像以标准流媒体的格式进行输出, 推送给用户, 并提供标准的接口, 以供上层应用的调用。
cVideo监控平台主要由6个系统模块组成, 分别是:接入模块、处理模块、存储模块、流媒体模块、中心调度模块和客户端模块, 如图2所示。
1.1接入模块
接入模块负责实现各种异构前端设备的接入, 同时, 对上层应用提供统一的调用接口。前端设备主要包括:模拟、网络摄像机、硬盘录像机、已有第三方平台等。可以将接入服务器模块中交互的内容分为数据流和信令流, 数据流向如图3所示。
接入模块所处的位置是介于中心调度模块和前端设备之间, 起到了一个“中间件”的作用, 主要用途类似于“语言翻译”[9], 主要负责将cVideo平台内部的控制信息, 转化为对应前端设备可以识别的控制信息, 获取响应后再转变为平台内部信息。接入模块珠宝涉及到的内容有:前端设备状态监测、摄像机云台控制、前端平台通信等, 从而实现cVideo平台对前端设备的透明接入。
接入模块运行的环境是Windows操作系统, 用C语言编写, 程序的流程图如图4所示。
当接入模块启动后, 首先向中心模块进行注册, 如果连续3次访问不成功则认为注册失败, 程序退出。如果注册成功, 则程序正式进入工作模式。为了保证系统运行的稳定, 并且可以捕获系统中断响应不会造成直接终止而导致不必要的问题, 接入模块将消息 (Socket) 监听[10]和处理任务放入子进程, 而父进程则负责等待和监听系统中断信息。子系统每捕获到一个中心模块发来的消息, 则新建一个子线程与之对应处理, 实现并发的操作与控制, 根据Socket类型中定义的前端设备信息, 调用相应的SDK访问该前端设备, 并将返回的信息封装成平台内部定义的信息反馈给中心端。
1.2存储模块
存储模块包括存储客户端软件和存储服务器集群两部分。 存储客户端软件部署在处理服务器集群上, 由中心服务器统一调度, 按需求将视频流按固定的时长保持为文件, 并通过存储客户端写入存储集群;存储服务器集群为整个系统提供海量的存储空间, 处理服务器和流媒体服务器通过挂载存储客户端, 即可访问该存储空间, 从而完成视频存储、处理、回放等任务, 图5为存储模块的示意图。
1.3处理模块
处理模块由中心云调度进行统一综合管理, 主要负责的工作是从接入分析, 到数据处理, 再到结果分发这3个部分, 从而完成对接入视频的各项处理任务, 包括从接入到处理再到存储及回看等一系列处理任务的分发工作。
(1) 标准RTSP协议的视频流接入:根据标准RTSP协议, 获取前端设备视频流, 同时, 实时转发到平台内的流媒体服务器上, 以供后续转码、识别、存储等部分的使用。
(2) 非标准的视频流接入:使用厂商提供的协议接口获取视频流, 并重新封装成标准RTSP视频流, 然后通过流媒体服务器实时转发。
(3) 内容识别:智能的内容识别需要消耗大量的CPU和内存资源, 而通过云计算的分布式的特点和强大的计算性能, 可以使传统架构下难以实现的大规模识别成为可能。
(4) 云端转码:将视频转码放到云端进行处理, 从而实现整个系统内的实时视频转码, 以满足不同用户对不同终端, 不同分辨率, 不同码流的需求。
(5) 视频数据存储录像:将处理转换后的标准视频流进行实时存储, 按时间段保存为视频文件并保存到存储服务器上, 以提供日后回调查看。
1.4中心云调度模块
中心调度模块主要负责整合、调用系统内的其他各个模块, 用户通过在终端发起请求, 请求被提交到中心服务器, 中心服务器调度管理系统根据具体的请求调度系统内相应模块的资源对其进行处理, 最后将处理好的结果返回给用户显示查看。同时, 中心模块还对上层应用提供了统一接口, 大大提高了扩展性和伸缩性, 更方便其他第三方平台的对接。例如:用户使用实时监控功能, 前台操作后, 后台通过调用调度命令去执行视频转码任务, 任务结束后中心服务器把得到的视频流的地址返回给客户端浏览器控件, 播放器控件则显示对应的视频。
中心调度模块主要功能和任务包括了实时监控、服务器状态监控、设备状态监控、录像回调、设备管理、用户管理等, 对应的流程如图6所示。
整个中心云调度模块启动后, 会保持监听Socket消息, 根据不同用户终端发来的不同请求, 进行相应的控制和调度, 并把集群处理后的结果, 或者视频流地址反馈给对应的用户终端, 给出相应的提示, 并记录日志, 以后后期查备。
1.5流媒体模块
流媒体服务器作为流媒体应用的核心系统, 是视频监控系统向用户提供视频服务的关键模块。其主要功能是提供RTSP/ HTTP流媒体服务, 其中RTSP提供实时视频流及录像回调视频流, HTTP则只提供录像回调视频流。
流媒体模块支持多台流媒体服务器集群化部署, 对外提供负载均衡的标准RTSP流媒体并发推流服务, 用户根据相应的流媒体RTSP地址, 即可实时地获取系统处理完后的实时视频数据和存储的历史视频数据, 以供监控和远程访问。模块输出为标准RTSP视频流, 通过构建流媒体服务器集群和负载均衡机制, 使得多台流媒体服务器可以共同对外提供服务, 支持高并发访问。
同时, 流媒体服务器也可以提供对历史视频数据的流化推送。存储系统将历史视频数据保存在cStor存储集群上, 将cStor挂载到流媒体服务器上, 流媒体服务器就可以像访问本地文件一样访问到cStor上的历史视频数据。当用户需要查看历史录像时, 流媒体服务器可以将这些视频文件流化, 通过RTSP或者HTTP协议推送给用户, 实现用户查看远程历史录像的需求。
1.6客户端模块
客户端模块包括PC终端 (支持Linux, Windows, MacOS等主流操作系统) 、平板电脑终端 (支持iOS, Android, Windows等操作系统) 、智能手持终端 (支持iOS, Android等操作系统) 和监控大屏终端。客户端的功能主要是与用户交互, 对不同的操作进行响应, 如:显示视频设备列表、播放视频流、与用户交互云台控制、多路视频播放等。
2运行环境
江苏省生态环境监控系统的固定风险源视频监控系统, 总共使用15台服务器构建, 其中, 用于中心调度模块2台, 接入模块2台, 处理模块3台, 流媒体模块3台, 同时使用了云存储设备, 以共享挂载盘符的方式, 在每台服务器相应位置挂载了云存储空间。接入模块服务器使用Windows 2008 Server系统, 其他服务器使用Ubuntu 12.04 Server版。接入的前端设备为江苏省昆山市千灯镇工业园区内一些工厂的50个高清摄像头。
cVideo监控平台实现对这50路设备的透明接入, PC机监控界面如图7所示。
同时, 为了支持多终端的监控, 我们也制作了移动终端的客户端, 以IPad为例, 如图8所示。
在半年的试运行期间, 监控系统的各项服务运行正常, 安全可靠, 同时, 中心任务调度分配均匀, 其服务器的负载非常之低, 也就意味着计算资源的余额十分充足, 远未达到上限。
3结语
视频监控的发展速度极快, 人们的需求逐步从“看得见”向 “看得清”再到“看明白”过度[11], 传统的监控模式已然不适应需求的发展。而随着云计算技术的不断发展, 将云的理念和技术引入视频监控行业, 作为一种全新的解决方案, 也愈发成为了可能。较之传统监控模式, 云模式下的视频监控有着无法比拟的优势:统一的架构、异构资源的整合、优异的可扩展性、云转码和智能分析的灵活性等等。“1831”平台的基于云计算的大规模污染源高清视频监测系统, 正在为江苏的环保事业贡献自己的一份力量。
参考文献
[1]原振升, 袁华, 罗晓奔.视频监控系统中的视频显示布局设计和实现[J].计算机研究与发展, 2005 (2) :68-77.
[2]LEE Yachun, LIAO Ju, CHENG Huapu, LEE Weisong.A cloud computing framework of free view point real-time monitor system working on mobile devices[J].International Symposium on Intelligent Signal Processing and Communication Systems.2010 (2) :148-162.
[3]赵涵萍.虚拟存储在数字化视频监控系统中的应用研究[D].杭州:浙江大学, 2007.
[4]许志闻.流媒体网络视频监控系统的设计和实现[J].仪器仪表学报, 2004 (3) :304-307.
[5]刘鹏.云计算[M].2版.北京:电子工业出版社, 2011.
[6]FOSTER I., KESSELMAN C, TUECKE S.The Anatomy of the Grid:Enabling Scalable Virtual Organizations[J].International Journal of High Performance Computing Applications, 2001 (3) :200-222.
[7]杜百川.下一代网络服务核心—云计算[R].北京:IBTC2010论坛, 2010:174-192.
[8]MICHAEL A, ARMANDO F, REAN G.Above the Clouds:A Berkeley View of Cloud Computing[M].UC:Berkeley, 2009.
[9]MACHE C.Cloud Computing:An Overview[J].ACM Queue, 2009 (5) :3-14.
[10]JEREMIAH.windows平台下vlc编译之十:vlc-1.0.0的编译[DB/OL].http://jeremiah.blog.51cto.com/539865/178696, 2009.
大规模视频流分析 篇4
第一, 丰富的广告模式逐渐受到广告主认可, 促进整体收入规模的稳定增长。
第二, 海外内容版权竞争激烈, 自制内容布局加速。