APP下载

基于FMS的视频直播系统在公安边防部队的应用研究

2014-05-31董建伟

云南警官学院学报 2014年3期
关键词:边防部队播放器镜像

董建伟

(公安边防部队士官学校,云南·昆明 650214)

随着因特网 (Internet)技术的发展,公安边防部队在执法执勤过程中对多媒体通信的需求也越来越高,视频直播业务等逐渐成为公安边防部队的工作以及生活的一部分,例如视频会议、视频图传、视频监控等在边防部队各项工作中的应用,以及视频点播在部队业余文化生活中的应用。

如何架设视频直播网站,有多种技术方案可选,可以基于视窗媒体服务器 (Windows Media Server)技术架设①张红生,基于Windows Media流媒体技术的自主视听中心的设计与管理.中国电化教育,2006,(12):106-107或者可使用主动型网络摄像头 (Active WebCam)来架设。每种技术方案都有自己的优缺点,本文通过边防工作中应用的一些具体实例,给出使用动画流媒体服务器(FMS)架设直播系统的一种方案。动画流媒体服务器 (FMS)具有部署便捷、运行稳定、使用方便等优点,是诸多多媒体应用的服务器端的主要应用平台。

一、FMS简介

FMS为动画流媒体服务器 (Flash Media Server)的缩写,是奥多比 (Adobe)公司②Adobe公司创建于1982年,是世界领先的数字媒体和在线营销解决方案供应商。开发的一个多媒体应用平台,是一个完全基于软件的实时通讯环境。可应用于用户之间的相互通讯,该平台集成了多媒体交互的特性,同时又具有音频和视频流实时传输等特点。FMS支持实时消息传输协议RTMP(Real Time Messaging Protocol)和实时媒体流协议RTMFP(Real Time Media Flow Protocol)③陈锋锋,基于RTSP的流媒体传输系统的应用开发.南京邮电大学,2013,153页,由于实时消息传输协议RTMP和实时媒体流协议RTMFP都是奥多比(Adobe)公司为更好的支持其多媒体程序播放器 (Flash Player)开发,因此结合多媒体程序播放器 (Flash Player),可以方便地实现视频点播、直播与多播。

图1 系统架构图

二、系统架构设计

(一)系统结构

公安边防部队视频直播系统网络结构图如图1所示,由视频采集部分、视频服务器、用户终端和网络设备等组成,整个系统通过网络设备进行组网并接入因特网 (Internet)。

视频采集部分由摄像机和视频终端处理机构成,由于视频采集点不止一个,多台终端处理机通过以太网连在一起。①William B Sanders.Learning Flash Media Server 3.Beijing:O’Reilly Media,Inc,2008

在公安边防部队网内,视频服务器与视频采集部分处于同一个局域网,终端处理机可以方便地把直播视频上传到视频服务器②张荣荣,DNS系统负载均衡方案的设计与原型实现.北京邮电大学,2011,167页。为保障网络安全,在局域网出口配置防火墙。

在公安边防部队的实际应用中,用户终端可以是个人电脑、单兵图传设备、动中通等边防常用装备。

(二)系统运行原理

系统运行原理如下,视频终端处理机通过摄像机采集图像数据,然后对数据进行压缩和编码,形成flash视频流,之后使用流媒体传输协议 (RTMP)将视频发布到视频服务器,视频服务采用FMS架设③班凯,李伟华,基于FMS的Web视频、音频通信系统设计.航空计算技术,2009,39(5),128-131;用户终端使用多媒体程序播放器 (Flash Player)作为代理,与服务器建立连接后,从服务器获取视频并显示,整个系统的运行流程如图2所示。(三)负载均衡

为解决大量并发访问问题,使用基于DNS的负载均衡技术,该技术具有实现简单、实施容易、成本低、适用于大多数传输控制协议/网络互联协议 (TCP/IP)应用的优点。

具体的实施方案如下,在多个地理位置区域部署镜像视频服务器,每个镜像服务器在宽带运营商的域名系统 (DNS)服务器上使用与视频服务器相同的域名。视频服务器发布直播视频的同时将视频发布到各个镜像服务器,为保证服务器与镜像服务器之间的通信链路,视频服务器与镜像服务器之间使用虚拟专用网 (VPN)专用通道。由于镜像服务器和服务器上的视频内容相同,当终端用户通过域名访问直播视频时,不同地域的域名系统 (DNS)服务器将会把同一域名解析到不同的网络互联协议 (IP)地址,这样便实现把大量并发访问分配到多个服务器,有效地实现负载均衡。

三、系统软件设计

与系统架构对应,系统软件由三部分构成,即视频采集软件、服务器软件和终端用户软件。其中,基于客户机/服务器 (C/S)架构时,终端用户软件分为个人电脑 (PC)应用、智能手机应用和平板应用,基于浏览器/服务器 (B/S)架构时,终端应用为对应终端平台上的浏览器,并且浏览器需要多媒体程序播放器 (Flash Player)插件的支持。每种软件的功能说明如下:

视频采集软件:采集直播视频并向FMS传输视频;

服务器软件:接收采集软件上传的视频、发布直播视频、处理视频播放请求;

终端用户软件:请求视频并播放。

要设计开发这些软件,需要安装两个软件以搭建开发环境,即动画流媒体服务器 (Flash Media Server)和奥多比闪客专业版 (Adobe Flash Professional)。动画流媒体服务器 (FMS)为服务器软件,同时支持二次开发,奥多比闪客专业版 (Adobe Flash Professional)为终端用户软件提供开发环境。在本论文中,仅阐述软件设计方法及关键代码,对于编程细节文中不做阐述。

(一)服务器软件

动画流媒体服务器 (FMS)支持二次开发,由于其提供一个应用框架,所有动画流媒体服务器 (FMS)的二次开发非常简单,只需要在动画流媒体服务器 (FMS)的安装目录的应用 (Application)目录下新建应用子目录,然后在新建的应用目录下使用 Actionscript语言编写一个main.sc脚本文件,在main.asc文件中集中编写关注的业务代码即可。虽然镜像服务器与视频服务器上的视频内容相同,对终端用户的视频请求响应也相同,但是由于服务器还有像镜像服务器发布直播视频,因此两种的运行软件是不同的。对于镜像服务器软件,只需编写一个Application.onConnect函数,在函数中调用application.acceptConnection(client)函数即可,对于其他的事件处理交由FMS应用框架处理。与镜像服务器相比,服务器还要向镜像服务器发布直播视频,因此,在服务器的main.asc文件中,需要添加application.onPublish函数,在该函数中将直播视频发布到镜像服务器,函数关键代码如下:

function(client,myStream)①JianFeng Lu,Yao Zhang.Mobile Application Development Based on Adobe AIR.IEEE,2013,376-378

图2 网络测试环境

(二)视频采集软件

视频采集软件运行于视频终端处理机,划分为用户界面部分和业务逻辑部分。用户界面部分在本文中不做阐述。业务逻辑部分的任务就是从摄像机采集图像形成视频流并将视频流发布到视频服务器。

该部分软件使用奥多比闪客专业版 (Adobe Flash Professional)开发,在终端处理机上需要一个多媒体程序运行时 (Flash Runtime)为软件提供运行环境,多媒体程序运行时 (Flash Runtime)可由多媒体程序播放器 (Flash Player)或者奥多比集成运行时 (AIR)提供,在终端处理机上选用多媒体程序播放器 (Flash Player)。由于该开发环境提供了众多功能丰富的开发模块,例如:视频采集、数据传输、视频编码等功能模块,所以,并不需要从零编写代码,很多工作由多媒体程序播放器 (Flash Player)隐式执行。

业务逻辑处理部分使用actionscript语言编写,基于事件编程,当与视频服务器连接成功后开始录制视频并发布到服务器。

(三)用户终端软件

用户终端软件使用Adobe Flash Professional开发,使用actionscript语言编写代码,终端上也需要Flash Runtime的支持,但不同的终端Runtime是不同的,对于使用windows或linux操作系统的PC选用Flash Player,对于移动终端,基于android智能手机或平板电脑使用 AIR for android,基于IOS的智能手机或平板电脑,使用AIR for ios。

该部分软件的业务逻辑处理比较简单,与服务器或镜像服务器建立连接后获取直播视频并显示即可。

编码完成后,将文件保存为fla格式,如保存为videoPlay.fla,然后使用 Adobe Flash Professional编译发布,发布为PC应用时选择发布目标为Flash Player,发布 Flash和Html两种格式,相应会生成videoPlay.swf和videoPlay.ht-ml两个文件;当发布为android或ios应用时,选择目标分别为AIR for android和AIR for ios,则会生成相应两种平台的安装文件包。

(四)B/S架构的视频浏览

用户终端软件使用奥多比闪客专业版(Adobe Flash Professional)开发,使用actionscript语言编写代码,终端上也需要多媒体程序运行时 (Flash Runtime)的支持,但不同的终端运行时 (Runtime)是不同的,对于使用视窗(windows)或者勒纽克斯 (linux)操作系统的个人电脑 (PC)选用多媒体程序播放器 (Flash Player)。

该部分软件的业务逻辑处理比较简单,与服务器或镜像服务器建立连接后获取直播视频并显示即可。

编码完成后,将文件保存为fla格式,如保存为videoPlay.fla,然后使用奥多比闪客专业版(Adobe Flash Professional)编译发布,发布为个人电脑 (PC)应用时选择发布目标为多媒体程序播放器 (Flash Player),发布Flash和Html两种格式,相应会生成videoPlay.swf和videoPlay.html两个文件。

四、系统测试

由于测试条件限制,将服务器软件和视频采集软件运行于同一台物理主机,测试网络环境如图3所示。

服务器硬件环境如下:

CPU:Intel酷睿i53470、内存:4G

软件测试环境如下

服务器操作系统:windows7

手机和平板系统:android4.0

图3 视频采集图像

视频服务器:Flash Media Server 4.5

Web服务器:Apache 2.2

浏览器:IE、360、UC、android原生浏览器

Flash Runtime:Flash Player11、Flash AIR3.2

图4 浏览器播放画面

对系统进行了长达一周的测试,测试过程中视频传输流畅,未出现死机或拒绝服务等异常。视频采集部分测试结果如图4所示,当点击开始(start)按钮后,开始采集视频并向服务器发布。对于终端应用软件测试,由于视频显示结果类似,本文仅给出使用浏览器进行直播视频观看的测试结果如图5所示,对于其他方式的测试结果本文不再贴出。

五、结束语

通过实际开发和部署实践可知,使用动画流媒体服务器 (FMS)架设多媒体服务网站具有实施简便、系统运行稳定、带宽利用率高等优点,是进行公安边防视频通信多媒体网站架设的首先技术,可以为公安边防部队提供一定程度的视频直播业务。但在实际的测试中发现,虽然视频传输流畅,但视频延时较大,在本测试环境中,视频的时延约为5秒,这又对一些边防部队中实时性要求比较高的工作造成了一定的影响。另外,本视频直播系统没有放在公网上测试,基于虚拟专用网 (VPN)通道的镜像服务器性能没有得到测试,在高并发情况下整个系统的运行性能也没有得到足够的验证,这些问题都有待进一步研究与验证。

猜你喜欢

边防部队播放器镜像
镜像
Walkman诞生40周年 索尼适时发布NW-ZX500和NW-A100系列播放器
基于STM32的MP3播放器设计
Moon ACE播放器/放大器一体机
镜像
探讨边防部队财务集中核算的利弊
播放器背板注塑模具设计
镜像
镜像
用医学科研新理念开拓边防部队科研思路