罗蕴军
(新余电视台,江西 新余 338000)
随着互联网网络带宽的不断提高,计算机性能和视音频压缩技术的飞速发展,基于流媒体技术的视频应用越来越多。互联网的迅速发展和普及为流媒体业务发展提供了强大的市场动力,流媒体业务正在日益流行。流媒体技术的应用将为网络信息交流带来革命性的变化,同时使得电视台的视频节目在网络上直播点播成为可能。
网络流媒体直播系统是服务于互联网/内部网之上的视频直播应用。系统采用Flash/Media多媒体技术,可很好地满足广电、电信等的网络视音频直播、网上广播等应用需要,具有极好的稳定性和安全可靠性,系统性能、结构等多方面均适应未来发展的需要[1]。
直播系统主要功能及优势:1)对带宽的适应性高,在窄带及宽带网络环境中均能应用自如。2)支持直播采集的多机备份,对访问流量实行负载均衡设计,支持大容量用户并发访问。3)采用多级线程池、动态IP绑定、同步侦听等先进技术,服务器端进行实时编码压缩,客户端进行实时解码、实时播放,充分保证最短的时延。4)多码流自适应设计,系统可以根据不同用户实际网络带宽情况自动选择不同码流播放。5)支持多种格式的多媒体数据,支持多级多种分类方式。6)强大的视音频文件操作功能,支持针对视音频节目的文件操作。可在直播同时加入打点标记,将一个直播节目按需要标记分段,更方便以后的回放。7)支持收看权限的管理,可以允许或限制指定客户端进行节目收看。8)支持开展多点直播、录播、远程分发等应用。9)自由的参数设置,可以灵活设置多种直播参数。10)强大的直播管理功能,可以进行系统管理、直播管理、用户管理、系统状态监控、视音频节目管理、网络管理等。11)支持直播监控功能,可在一台计算机上远程监控所有直播频道的视音频直播情况。12)扩展性强。系统采用内容分发/负载均衡等技术,支持多节点无限扩展应用,支持无限级联,全面实现跨广域网的直播支持。13)支持视音频流的自动采集压缩及网络直播,完全实现无人值守。
网络流媒体直播系统设计应遵从并考虑以下原则:
1)安全性。数据在网络上传输的安全性非常重要,系统应具备严格的管理员分级制度,控制授权用户的访问权限和控制权限,防止非法操作。并能有效统计和控制用户的连接,具备系统报警功能。
2)稳定性。为了避免因大量用户访问本地视频服务器而出现问题,宽带流媒体系统应采用内容分发系统(CDN)进行流媒体内容分发。用户直接访问最近的流媒体服务器子节点观看直播节目,减轻了中心站点的负载压力,提高了用户观看效果。宽带流媒体视频直播系统要具有很高的稳定性,可以达到全天候长时间运行。
3)扩充性。软件在规划时必须要考虑具有良好的可扩充性。系统还要支持多服务器组同时工作,并达到负载均衡。随着用户访问量的增加,系统可增加视频服务器,或者采用内容分发系统来支持更多的用户连接。
4)可移植性。系统体系结构应采用先进的三层结构系统,具有良好的跨平台性,可在各种操作系统、Web Server平台、硬件平台上进行方便的移植。并应采用SQL对数据层中的数据库进行管理,使系统可采用多种数据库系统。
5)易用性。系统应采用Web方式管理控制界面,具备良好的操作性,提供详细的信息或错误提示。终端用户只须装载非常普遍的Media Player播放器即可。
网络流媒体直播系统的直播就是将现场节目通过视音频采集卡输入到工作站,工作站根据预设进行采集、编码、压缩,然后以流的方式送到相应服务器,只要能连入本网络的授权用户通过Web方式,均可以实时看到直播节目。
系统在工作过程中涉及的输入包括模拟视音频信号、直播时间表、节目素材;输出包括视音频流、节目文件及信息。系统可以根据具体的应用环境,做到全系统的负载均衡与冗余备份,还可以进行远程数据分发CDN等功能,并在直播过程中,按需要存储节目片段,作为以后录播、点播的视频节目源。
本系统直播的实现流程如图1所示。
本系统的运行环境是Web服务器,采用tomcat服务器的形式。开发的语言采用跨平台的JSP语言。直播系统视音频服务器采用操作系统Windows 2003。数据库采用SQL Server 2000数据库。
系统网络平台系统主要包括数据库系统、网络系统、服务器系统、数据存储系统和网络安全系统等。本系统平台的建设要求如下:
1)充分考虑系统安全。为确保站点的安全可靠,在服务器前端架设相应防火墙,进行包过滤和入侵检测,阻止或发现黑客的攻击。可以考虑追加一个流量记录服务器,进行被动式的记录,不发散信息,对外不可见,不容易被攻击,从而能真实可靠地记录站点运行状况。
2)提高网站承载能力。为了提高网络性能及可靠性,对有可能成为网站瓶颈的防火墙、Web Server和Application Server等,采用负载均衡技术,构成多机群集、负载均衡环境。通过Web Cache设备降低网络带宽占用。
3)备份数据库服务器。对于前期访问人数较少的情况下,可以只使用单数据库服务器,待网络访问人数较多时,再采用双热备份数据库服务器,并实现数据库服务的并行处理。
4)较完善的功能管理。站点要提供适合视音频网上播放的管理、控制手段。系统具有高性能、安全可靠、可扩展及易于管理的特性。重要数据安全尤为重要。
在流媒体系统应用中要充分考虑到负载均衡与内容分发技术的应用,以保证整个系统运行的高效率,最大化地缓解视频数据对主干线路的压力。采用层状结构的内容分发系统(CDN)[2],要能消除用户终端与中心服务器之间的网络带宽瓶颈,自动找到用户点播和网络负载的平衡点,提高中央服务器的整体服务能力,保证用户享有良好的访问质量。
根据视音频工作流程和要实现的功能,系统涉及到的硬件设备有直播管理服务器、资料库、素材库、视音频流服务器、Web服务器、数据库服务器、采集工作站等。
流媒体服务必须能提供稳定的不间断应用服务,并且需要提供对大量并发流的支持。视音频主服务器需要同时支持多用户同时访问一路视频节目,需要具备高质量的视音频采集、存储和输出功能,支持Media的流媒体技术,同时支持至少300户的并发流,并提供多种带宽的播放服务。不同流格式的视音频系统至少分别支持300 Gbyte以上数据的硬盘存储;硬盘数据存储要求具有Raid 5安全标准以上的数据存储容错功能。相关计算公式为
根据上述公式可以得出,系统只要2台以上的具有千兆网卡服务器即可达到所需带宽。在考虑满足磁盘空间等多种因素,决定采用2块以上的146 Gbyte硬盘。最终,采用Dell 2850服务器作为系统的媒体服务器硬件平台,安装Windows 2003服务器操作系统,内置Media Server系统提供媒体服务,具备双网卡,一块网卡用于与用户端的通信,另一块负责与中心存储设备进行数据传递,并配置冗余电源及风扇。视音频采集制作工作站采用美国Viewcast公司的Osprey 210 DV捕捉板卡作为视频采集卡,该采集卡支持SDI和DV(IEEE 1394)。
根据具体应用环境,本系统可以做到系统的负载均衡与冗余备份,还可以进行远程数据分发等功能。还可以进行全天候直播,并在直播的时候,按照时间段将需要存储的节目片段存储下来。
已经录制好的节目,一是可以作为点播播放,另外一种操作就是类似直播的方式,到一定的日期和时间,将文件播出去。在播出以前,用户无法看到节目,而播出的时候,也类似于直播,还未播出的部分,用户无法看到。视频采集过程中可以设置不同码流的采集压缩策略,对于不同用户的实际网络带宽情况,系统可以自动选择不同的码流播放。
内容管理包括内容管理和存储管理,文件和目录的创建、存储、修改、删除,文件和目录权限设置,节目归档及发布,节目发布流程管理,节目供应商信息管理,频道和多级栏目属性定制等。
可以对频道、节目等进行统一管理。频道管理包括频道定义(影视类,新闻类,歌曲类,综合类,直播类,DRM下载类)、频道风格设计(在同一系统平台下开展网络电视、节目点播、多媒体新闻等);节目管理包括影片信息的维护管理、节目归档及发布、节目发布流程管理节目供应商信息管理、频道和多级栏目的属性定制等。
网络管理系统的结构如图2所示。
系统按照两级用户管理机制进行设置用户管理权限,包括管理员和普通用户。第一级是用户组,然后将各个用户归到一定的组里面。只要是用户属于这个组,就有这个权限。权限分为两类,一类是系统权限,一类是对象权限。系统权限是指本系统的权限,主要是针对管理员的,如网络管理的权限。对象权限分为访问权限和编辑权限。
用户可以对视音频节目进行多级的分类,也可以将一个视音频的节目归到多个类别中。用户采集视音频进行直播时,可以使用系统配置文件,也可以建立自定义的配置文件。建立的配置文件信息,同时也允许用户修改自定义配置文件的某些信息或者删除自定义的配置文件。系统进行日志保存。
流媒体运营系统根据用户需求开发出多码流自适应功能,对于同一视音频节目源(实时直播节目源、点播节目源),系统管理员可以设置不同的码流,用户在收看直播节目或者点播视频节目时,系统会根据不同用户的实际网络带宽情况自动选择适合用户带宽的码流视频节目播放。视频直播系统独有的多码流自适应功能可以使不同接入环境的用户在直播、点播视音频节目时获得最佳的收看效果。
系统采用层状结构,以多媒体数据中心为主节点,通过网络,将内容分发到各地的负载分节点,各地用户通过CDN分节点就近实现对网站的访问,以获得最低的网络延时、达到最佳的浏览效果。对于直播节目,系统会根据事先设置的策略,自动将直播节目源分发到各个分节点,用户访问时系统会根据各个负载子节点的状态自动分配到负载较低的服务器上,有效缓解高并发访问带来的网络带宽瓶颈、流媒体服务器负载压力等问题。
系统是基于服务器CPU监测、内存监测与Web任务动态监测的动态任务分配,可以准确地将用户访问、点播请求均衡到集群服务器中的服务器端,使负载真正能够均衡,让服务器集群中的每台服务器都能发挥最大的效率,提高整体网络性能,提高自愈性,并确保网站关键性应用的可用性。完全基于Web的后台管理及远程监控软件,让客户随时随地监测与控制的服务器集群状态,随时根据网络流量、负载压力、突发事件灵活调整服务器集群中各个服务器的负载。
系统应具有完善的用户分类和认证机制;系统实现多级别的用户管理,不同级别的用户收看相应或更低级别的节目;外部用户的认证,可以通过后台管理系统来实现;内部用户认证,可以直接由内部网络系统,然后到流媒体服务器上实现视频节目服务。外部和内部用户的区分,可以通过IP地址来实现判断。系统支持二次认证。
系统中视频服务器为域集群组,当一组视频服务器无法满足直播并发数时,可方便添加视频服务器,在后台管理软件进行简单的设置,即可实现域集群组的扩容。系统采用分布式结构体系,系统管理进行统一管理,可大大减轻骨干网的网络流量和视频服务器的负载。
[1]袁晓梅.视频网络直播与流媒体的融合[J].电视技术,2003,27(12):82-84.
[2]宋家友,桑红涛.CDN技术的发展及应用[J].电视技术,2005,29(6):75-77.