论文部分内容阅读
摘要:研究实现了一种可跨平台的视频会议系统。该系统采用了基于RIA的Flex技术,可在Windows和Linux操作系统平台下运行,其B/S结构适合在Internet上部署使用。在系统中,设计了一种基于轮播的交互策略,减小了带宽的占用,并利用服务器主动推送技术实现了即时消息和控制信息的发送。实际测试结果表明,本系统实现了系统的平台无关性,适用于在Internet上的视频会议。
关键词:视频会议;可跨平台;RIA;Flex技术;服务器推送技术
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2635-03
Research and Implementation of Cross-platform Video Conference System Based on RIA
GUO Xiong-hai1, SU Guo-ping2, WU Xiang-qian3, GUO Zheng3
(1.College of Information Science and Engineering, Xinjiang University, Urumqi 830046, China; 2.Office of Information Industry of Xinjiang Uighur Autonomous Region, Urumqi 830046, China; 3.Center of Modern Education and Technology, Xinjiang University, Urumqi 830046, China)
Abstract: Researches and implements a cross-platform Internet video conference system. In this system, Flex technology which is based on RIA is adopted. And this system can execute on different operating system such as Windows and Linux. The architecture of this system is based on B/S, which is suitable for deployment and use on the Internet. An interaction strategy based on play on turn is designed to reduce the bandwidth usage in this system. Meanwhile, sending instant message and control information with server push technology initiative is realized. The practical test shows that this system has realized the cross-platform and it is suitable for the video conference on the Internet.
Key words: video conference; cross-platform; RIA; Flex technology; server push
随着Internet的发展,视频会议作为视频通信的一种应用也开始广泛起来。目前的视频会议系统架构主要采用C/S架构,大部分是基于Windows操作系统平台的,部分是基于Linux操作系统平台的。这些系统大都是只能运行于同一个操作系统平台之上,不能跨平台使用,真正实现跨平台使用的视频会议系统并不多见。
本文采用基于RIA的Flex技术,设计并实现了一种可跨平台的视频会议系统,摈弃了传统的C/S架构,采用易于在Internet上部署和升级的B/S架构,并解决了Windows和Linux之间音视频通信的问题,具有比较好的跨平台性,实现了真正意义上的跨平台使用。该系统针对Internet的使用环境,采用一种基于轮播的方式解决了Internet上的带宽不足问题,从而使本系统具有公网实际运行使用的能力。
1 RIA简介
RIA(Rich Internet Applications)作为一个新兴技术,是要带给使用者与系统之间的互动及视觉化的感受,其仍基于B/S结构,应用客户端仍采用浏览器。RIA应用从传统的服务器响应整个界面的模型,转向了一种基于请求,部分更新界面的模型,强调了数据模块的丰富性和用户界面的丰富性,使开发人员能够创建更有用的应用程序界面。这种应用系统结构吸收了桌面应用程序响应快,交互性强的优点,改进了Web应用程序的用户交互,提供一种更为丰富、更具有交互性的用户体验,可以理解为运行于B/S结构上的C/S应用。
本系统即是基于RIA架构设计和实现的视频会议系统,其基于B/S结构,不需要事先部署客户端,使用和升级方便,并且用户界面丰富,实现了可跨平台使用。
2 系统的设计
本系统采用基于RIA的Flex技术,主要由客户端,服务器,编码器组成。具体架构如图1所示。
2.1 客户端
客户端为内嵌Flash Player插件的浏览器,通过Web服务器登陆。客户端主要负责实时音视频的编解码和播放,视频编码采用On VP6,音频编码采用NellyMoser’ ASAO,本地采集的音视频数据经过编码以后通过实时消息传送协议(Real Time Messaging Protocol, RTMP)发布到流媒体服务器上。播放流媒体服务器上已经发布的音视频流时,通过RTMP协议以流名的方式区分不同的流,下载到本地实时解码播放。
2.2 服务器
本系统的流媒体服务器采用基于开源的Red5服务器,Web服务器采用基于Windows的IIS服务器,也可以使用基于Linux的Apache服务器。Web服务器负责用户的注册、登录及浏览会议信息,管理员的用户管理和系统管理,及会议发起者发布会议信息,负载比较轻。Red5流媒体服务是用java语言开发的流媒体服务器程序,其具有很好的跨平台性,可以在Windows和Linux平台上运行。作为一个开源软件,它具有很好的可裁剪性,可以根据项目的需要对其进行裁剪优化,使之符合本项目的使用和性能要求。Red5服務器的主要工作是处理大量的音视频流的发布,这是一个很耗费资源的工作,负载相对于Web服务器要重的多,在用户不太多的情况下,一个流媒体服务器就可以满足视频会议的需求,当用户比较多时,将Red5流媒体服务器设计为一个分布式的流媒体服务群,采用负载均衡技术,一台流媒体服务器或几台流媒体服务器组成的集群为核心服务器,其它的为边缘服务器,将工作量尽量分散于各个服务器上,核心流媒体服务器或服务器集群协调各个边缘服务器。
2.3 编码器
本系统对普通客户端的音视频质量要求不高,做到基本的音视频交互即可,故音视频的采集工作由一般的摄像头和一般的麦克风完成,编码压缩也采用Flash Player的默认编码器。在主讲人部分,本系统对主讲人音视频要求比较高,并且需要推送到每一个客户端上,这就使得主讲人音视频采集需要专业的采集卡,编码器也要求工作稳定,压缩比比较高,这样做可以使得我们的音视频码流稳定,视频清晰,音质好。本系统中编码器使用一台专门的配置比较高的PC,视频的采集使用摄像机,音频采集使用专业的麦克风,这两路模拟信号都通过采集卡进行采集,使用Adobe公司的Flash Media Encoder进行压缩编码,视频编码采用H.264,音频编码采用MP3。这样处理的结果是音质清晰,视频分辨率高,码流比较低并且比较稳,基本在300kbps左右,适合在网络上传输。
3 关键技术
3.1 视频和语音广播交互系统
在本系统中,考虑到音视频流的数据量比较大,为了节省带宽,减小服务器负载,设计了一种基于需求的流发布策略,当普通客户端在轮播列表中才发布视频流,为发言人时才同时发布音视频流。音频在视频会议中对于与会者来说比较重要,而闲置麦克风开得太多,容易不断的采集噪声,影响音频质量,并产生啸叫。因而,为了保证音频质量,登录后默认是不发布音频流的,需要发言的人要举手向控制台申请,由控制台协调各个举手人,保证在每时每刻除了主讲人外,最多只有一路音频流打开,以减少噪声,防止出现啸叫等影响声音质量的情况发生,在出现啸叫时,控制台要及时关掉所有的音频流,消除啸叫。
3.2 即时消息与控制系统
即时消息与控制系统是通过服务器主动推送技术实现的。不同于传统聊天室的客户端定时刷新的消息机制,即时消息与控制系统采用服务器主动推送的方式,减小了服务器的工作压力和带宽压力,并使得消息的传送更为及时。Flex技术通过NetConnnection类对象保持与流媒体服务器的持续连接,利用NetConnnection类对象上的远程方法调用和服务器端远程方法调用实现客户端与服务器的交互。
3.3 带宽优化技术
在设计客户端时,考虑到带宽有限,音视频流的数据量比较大,不可能使每个客户端同时播放其他客户端的音视频流,因此我们设计了一种基于轮播的交互策略的客户端,实现了以主讲人为主,兼顾与其他与会者交互的功能,在占用带宽不用太高的情况下实现视频会议。主要设计思想为:限制客户端的下行音视频流个数,对发布的音视频流进行优化,客户端发布一路上行的音视频流,播放最多三路下行的音视频流。上行的音视频流是按需发布,以减小流媒体服务器的负载。三路下行音视频流中,一路固定用来播放主讲人发布的音视频流;一路只是在远程教学中用到,是用来推桌面的白板流;最后一路是冗余流,主要是在有举手发言人的时候用来实现举手发言人音视频的广播,在没有举手发言人时,用来分时播放轮播表中的各个普通客户端的视频,实现使用一路音视频流实现观察多个分会场的情况,还节省了网络带宽。
3.4 音频和视频优化
在进行视频会议时,音视频流数据量是很大的,为了减小客户端带宽需求,在发布音视频流之前,要根据实际的视频会议需求进行优化。
3.4.1 视频优化
视频会议对参与者的视频影像的要求不高,且视频的运动量不大,摄像头所采集视频数据的分辨率只需160×120,幀频为24fps即可。Flash Player实时视频流编码采用On VP6,其压缩质量与H.264相当,在视频会议环境下,视频运动量不大,其压缩比比较大。将关键帧间隔设置为等于帧频率,这样可以兼顾视频的实时性和流畅性。实际测试表明,带宽占用基本在200bps以下,则在带宽限制在256kbps时,有比较好的视频效果。
3.4.2 音频优化
在进行视频会议时,一般来说,音频要远重要于视频,在网络传传输上要尽可能的保证音频的质量,消除噪声和啸声等。我们已经在音频流发布控制上进行了优化,使之减少噪声的输入,在视频带宽上作了限制,以保障音频的传输。
Flash Player实时音频流编码采用NellyMoser’s ASAO,平均压缩比为1:8。为了保证音质的清晰和跨平台的需要,采样率置为44.1kbps,压缩后码率大约为88.2kbps。
3.4.3 跨平台优化
可跨平台性是本系统的基本需求,因此,Windows与Linux操作系统之间跨平台的音视频交互通信测试是必要的。测试过程中,视频的跨平台性比较好,两个平台的视频可以互相播放;音频有比较大的问题,声音严重失真,而且杂音特别大,很容易啸叫。经过大量分析实验,发现是声音采样率不同造成的,程序中没有显式设置麦克风的采样率,使用系统默认采样率,而实际测试表明两种操作系统的默认采样率显然不同,经过显式设置麦克风的采样率为44.1kHz,将问题比较好的解决了,音质效果清晰,没有停顿和失真。
4 测试结果
本系统在校园网内做了初步的测试,Web服务器和Red5服务器在测试环境下为一台曙光服务器,编码器为一台高配置联想PC机,调音台和摄像机的音视频信号通过采集卡送到编码器上,所用的客户端有Windows XP,Windows 2003,红旗Linux 6.0等操作系统。在测试过程中,进行了实际带宽的监测,结果表明,系统运行时,所需要的网络带宽基本在2M以下,在视频画面运动量比较大的情况,极其偶尔出现比较大的数据流,但只是瞬间的,对视频会议影响不大。在电信网上的测试也基本完成,在实际使用环境下进行测试使用表明,本系统已基本实现支持600人同时在的视频会议。
5 结束语
本系统实现了在Internet环境下的远程视频会议的功能,并且便于部署和升级。随着目前Internet的迅猛发展,这种在线多媒体系统的应用会越来越广泛,像各种远程会议,在线公开课程,在线报告厅,在线聊天,甚至在线制造和在线监控等情况下,都可以应用这种基于RIA的可跨平臺系统。
参考文献:
[1] 林庆华,石志强,程伟明.基于SIP的网络视频监控系统的设计与实现[J].计算机工程,2007,33(2):261.
[2] Michael D, Toporski N, Dorris M. Developing a Synchronous Web Seminar Application for Online Learning[C].the 33rd annual ACM SIGUCCS conference on User services, USA:California, 2005:36-39.
[3] 叶尚玉,朱宏,李旭伟,等.基于FLASH的在线多媒体教室系统的设计与实现[J].成都信息工程学院学报,2005,20(3):297-301.
[4] 杜建铭,吴序堂.基于B/S模式的网络制造关键技术的研究[J].机床与液压,2004(11):58-60.
关键词:视频会议;可跨平台;RIA;Flex技术;服务器推送技术
中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2635-03
Research and Implementation of Cross-platform Video Conference System Based on RIA
GUO Xiong-hai1, SU Guo-ping2, WU Xiang-qian3, GUO Zheng3
(1.College of Information Science and Engineering, Xinjiang University, Urumqi 830046, China; 2.Office of Information Industry of Xinjiang Uighur Autonomous Region, Urumqi 830046, China; 3.Center of Modern Education and Technology, Xinjiang University, Urumqi 830046, China)
Abstract: Researches and implements a cross-platform Internet video conference system. In this system, Flex technology which is based on RIA is adopted. And this system can execute on different operating system such as Windows and Linux. The architecture of this system is based on B/S, which is suitable for deployment and use on the Internet. An interaction strategy based on play on turn is designed to reduce the bandwidth usage in this system. Meanwhile, sending instant message and control information with server push technology initiative is realized. The practical test shows that this system has realized the cross-platform and it is suitable for the video conference on the Internet.
Key words: video conference; cross-platform; RIA; Flex technology; server push
随着Internet的发展,视频会议作为视频通信的一种应用也开始广泛起来。目前的视频会议系统架构主要采用C/S架构,大部分是基于Windows操作系统平台的,部分是基于Linux操作系统平台的。这些系统大都是只能运行于同一个操作系统平台之上,不能跨平台使用,真正实现跨平台使用的视频会议系统并不多见。
本文采用基于RIA的Flex技术,设计并实现了一种可跨平台的视频会议系统,摈弃了传统的C/S架构,采用易于在Internet上部署和升级的B/S架构,并解决了Windows和Linux之间音视频通信的问题,具有比较好的跨平台性,实现了真正意义上的跨平台使用。该系统针对Internet的使用环境,采用一种基于轮播的方式解决了Internet上的带宽不足问题,从而使本系统具有公网实际运行使用的能力。

1 RIA简介
RIA(Rich Internet Applications)作为一个新兴技术,是要带给使用者与系统之间的互动及视觉化的感受,其仍基于B/S结构,应用客户端仍采用浏览器。RIA应用从传统的服务器响应整个界面的模型,转向了一种基于请求,部分更新界面的模型,强调了数据模块的丰富性和用户界面的丰富性,使开发人员能够创建更有用的应用程序界面。这种应用系统结构吸收了桌面应用程序响应快,交互性强的优点,改进了Web应用程序的用户交互,提供一种更为丰富、更具有交互性的用户体验,可以理解为运行于B/S结构上的C/S应用。
本系统即是基于RIA架构设计和实现的视频会议系统,其基于B/S结构,不需要事先部署客户端,使用和升级方便,并且用户界面丰富,实现了可跨平台使用。
2 系统的设计
本系统采用基于RIA的Flex技术,主要由客户端,服务器,编码器组成。具体架构如图1所示。
2.1 客户端
客户端为内嵌Flash Player插件的浏览器,通过Web服务器登陆。客户端主要负责实时音视频的编解码和播放,视频编码采用On VP6,音频编码采用NellyMoser’ ASAO,本地采集的音视频数据经过编码以后通过实时消息传送协议(Real Time Messaging Protocol, RTMP)发布到流媒体服务器上。播放流媒体服务器上已经发布的音视频流时,通过RTMP协议以流名的方式区分不同的流,下载到本地实时解码播放。
2.2 服务器
本系统的流媒体服务器采用基于开源的Red5服务器,Web服务器采用基于Windows的IIS服务器,也可以使用基于Linux的Apache服务器。Web服务器负责用户的注册、登录及浏览会议信息,管理员的用户管理和系统管理,及会议发起者发布会议信息,负载比较轻。Red5流媒体服务是用java语言开发的流媒体服务器程序,其具有很好的跨平台性,可以在Windows和Linux平台上运行。作为一个开源软件,它具有很好的可裁剪性,可以根据项目的需要对其进行裁剪优化,使之符合本项目的使用和性能要求。Red5服務器的主要工作是处理大量的音视频流的发布,这是一个很耗费资源的工作,负载相对于Web服务器要重的多,在用户不太多的情况下,一个流媒体服务器就可以满足视频会议的需求,当用户比较多时,将Red5流媒体服务器设计为一个分布式的流媒体服务群,采用负载均衡技术,一台流媒体服务器或几台流媒体服务器组成的集群为核心服务器,其它的为边缘服务器,将工作量尽量分散于各个服务器上,核心流媒体服务器或服务器集群协调各个边缘服务器。
2.3 编码器
本系统对普通客户端的音视频质量要求不高,做到基本的音视频交互即可,故音视频的采集工作由一般的摄像头和一般的麦克风完成,编码压缩也采用Flash Player的默认编码器。在主讲人部分,本系统对主讲人音视频要求比较高,并且需要推送到每一个客户端上,这就使得主讲人音视频采集需要专业的采集卡,编码器也要求工作稳定,压缩比比较高,这样做可以使得我们的音视频码流稳定,视频清晰,音质好。本系统中编码器使用一台专门的配置比较高的PC,视频的采集使用摄像机,音频采集使用专业的麦克风,这两路模拟信号都通过采集卡进行采集,使用Adobe公司的Flash Media Encoder进行压缩编码,视频编码采用H.264,音频编码采用MP3。这样处理的结果是音质清晰,视频分辨率高,码流比较低并且比较稳,基本在300kbps左右,适合在网络上传输。
3 关键技术
3.1 视频和语音广播交互系统
在本系统中,考虑到音视频流的数据量比较大,为了节省带宽,减小服务器负载,设计了一种基于需求的流发布策略,当普通客户端在轮播列表中才发布视频流,为发言人时才同时发布音视频流。音频在视频会议中对于与会者来说比较重要,而闲置麦克风开得太多,容易不断的采集噪声,影响音频质量,并产生啸叫。因而,为了保证音频质量,登录后默认是不发布音频流的,需要发言的人要举手向控制台申请,由控制台协调各个举手人,保证在每时每刻除了主讲人外,最多只有一路音频流打开,以减少噪声,防止出现啸叫等影响声音质量的情况发生,在出现啸叫时,控制台要及时关掉所有的音频流,消除啸叫。
3.2 即时消息与控制系统
即时消息与控制系统是通过服务器主动推送技术实现的。不同于传统聊天室的客户端定时刷新的消息机制,即时消息与控制系统采用服务器主动推送的方式,减小了服务器的工作压力和带宽压力,并使得消息的传送更为及时。Flex技术通过NetConnnection类对象保持与流媒体服务器的持续连接,利用NetConnnection类对象上的远程方法调用和服务器端远程方法调用实现客户端与服务器的交互。
3.3 带宽优化技术
在设计客户端时,考虑到带宽有限,音视频流的数据量比较大,不可能使每个客户端同时播放其他客户端的音视频流,因此我们设计了一种基于轮播的交互策略的客户端,实现了以主讲人为主,兼顾与其他与会者交互的功能,在占用带宽不用太高的情况下实现视频会议。主要设计思想为:限制客户端的下行音视频流个数,对发布的音视频流进行优化,客户端发布一路上行的音视频流,播放最多三路下行的音视频流。上行的音视频流是按需发布,以减小流媒体服务器的负载。三路下行音视频流中,一路固定用来播放主讲人发布的音视频流;一路只是在远程教学中用到,是用来推桌面的白板流;最后一路是冗余流,主要是在有举手发言人的时候用来实现举手发言人音视频的广播,在没有举手发言人时,用来分时播放轮播表中的各个普通客户端的视频,实现使用一路音视频流实现观察多个分会场的情况,还节省了网络带宽。
3.4 音频和视频优化
在进行视频会议时,音视频流数据量是很大的,为了减小客户端带宽需求,在发布音视频流之前,要根据实际的视频会议需求进行优化。
3.4.1 视频优化
视频会议对参与者的视频影像的要求不高,且视频的运动量不大,摄像头所采集视频数据的分辨率只需160×120,幀频为24fps即可。Flash Player实时视频流编码采用On VP6,其压缩质量与H.264相当,在视频会议环境下,视频运动量不大,其压缩比比较大。将关键帧间隔设置为等于帧频率,这样可以兼顾视频的实时性和流畅性。实际测试表明,带宽占用基本在200bps以下,则在带宽限制在256kbps时,有比较好的视频效果。
3.4.2 音频优化
在进行视频会议时,一般来说,音频要远重要于视频,在网络传传输上要尽可能的保证音频的质量,消除噪声和啸声等。我们已经在音频流发布控制上进行了优化,使之减少噪声的输入,在视频带宽上作了限制,以保障音频的传输。
Flash Player实时音频流编码采用NellyMoser’s ASAO,平均压缩比为1:8。为了保证音质的清晰和跨平台的需要,采样率置为44.1kbps,压缩后码率大约为88.2kbps。
3.4.3 跨平台优化
可跨平台性是本系统的基本需求,因此,Windows与Linux操作系统之间跨平台的音视频交互通信测试是必要的。测试过程中,视频的跨平台性比较好,两个平台的视频可以互相播放;音频有比较大的问题,声音严重失真,而且杂音特别大,很容易啸叫。经过大量分析实验,发现是声音采样率不同造成的,程序中没有显式设置麦克风的采样率,使用系统默认采样率,而实际测试表明两种操作系统的默认采样率显然不同,经过显式设置麦克风的采样率为44.1kHz,将问题比较好的解决了,音质效果清晰,没有停顿和失真。
4 测试结果
本系统在校园网内做了初步的测试,Web服务器和Red5服务器在测试环境下为一台曙光服务器,编码器为一台高配置联想PC机,调音台和摄像机的音视频信号通过采集卡送到编码器上,所用的客户端有Windows XP,Windows 2003,红旗Linux 6.0等操作系统。在测试过程中,进行了实际带宽的监测,结果表明,系统运行时,所需要的网络带宽基本在2M以下,在视频画面运动量比较大的情况,极其偶尔出现比较大的数据流,但只是瞬间的,对视频会议影响不大。在电信网上的测试也基本完成,在实际使用环境下进行测试使用表明,本系统已基本实现支持600人同时在的视频会议。
5 结束语
本系统实现了在Internet环境下的远程视频会议的功能,并且便于部署和升级。随着目前Internet的迅猛发展,这种在线多媒体系统的应用会越来越广泛,像各种远程会议,在线公开课程,在线报告厅,在线聊天,甚至在线制造和在线监控等情况下,都可以应用这种基于RIA的可跨平臺系统。
参考文献:
[1] 林庆华,石志强,程伟明.基于SIP的网络视频监控系统的设计与实现[J].计算机工程,2007,33(2):261.
[2] Michael D, Toporski N, Dorris M. Developing a Synchronous Web Seminar Application for Online Learning[C].the 33rd annual ACM SIGUCCS conference on User services, USA:California, 2005:36-39.
[3] 叶尚玉,朱宏,李旭伟,等.基于FLASH的在线多媒体教室系统的设计与实现[J].成都信息工程学院学报,2005,20(3):297-301.
[4] 杜建铭,吴序堂.基于B/S模式的网络制造关键技术的研究[J].机床与液压,2004(11):58-60.