loading 请求处理中...

如何对WebRTC的视频会议系统进行设计研究的探讨

2013-04-01 | 3249 次浏览 | 作者: hbl070213 | 来源: 未知

1 WebRTC分析

1.1 WebRTC的背景

在2010年,Google以大约6 820万美元收购了VolP软件开发商Global IP Solutions公司,并因此获得了该公司拥有的WebRTC(Web Real Time Communication)技术,并在2011年6月对WebRTC实时通信项目进行了开源。

1.2 WlebRTC的结构及分析

WebRTC是基于Web浏览器的实时音频和视频的通信技术。其结构如图1所示。该技术主要包括3部分:音频模块(Voice Engine)、视频模块(Video Engine)和传输模块(Transport)。

1)WebRTC的音频模块

音频部分包含采集、编解码(iLBC/iSAC)、加密、声音处理、声音输出、音量控制、音视频同步、网络传输与媒体流控制(RTWRTCP)等技术。iLBC编解码器是窄带编解码器,采用8 kHz的采样频率,支持比特率为15.20 kbit/s和13.33 kbit/s的音频流;iSAC编解码器是宽带编码器,采用16 kHz或32 kHz的采样频率,支持l2—52 kbit/s自适应和可变的音频流范围。NetEQ技术是动态的抖动缓存区和错误隐藏算法,降低网络抖动和包丢失对音频效果的影响,尽可能保持一个低延迟率语音效果。降噪和回音处理技术(AEC),能够提供高质量的语音效果。

2)WebRTC的视频模块

视频部分包含采集、编解码(VP8)、加密、媒体文件、图像处理与显示、网络传输与媒体流控制等技术。VP8视频编解码技术,可以满足实时视频通信的低延迟特性要求。视频抖动缓存器(Video Jitter Bufer)和图像增强技术,减小网络抖动和包丢失对视频效果的影响,降低视频噪声,增强视频质量。

3)传输模块

实时音视频的传输与控制,采用RTP_4与RTCP[5-6]技术,稳定、可靠。此外WebRTC还包含了STUN,ICE,TURN,RTP—over—TCP的关键NAT和防火墙穿越技术。WebRTC支持SIP,XMPP/Jingle等信令协议,还支持跨平台:Windows,Linux,Mac,Android等。功能的各部分可扩展,可根据实际环境进行改进。

WebRTC实时音视频通信技术能够满足带宽有限的普通网络环境下用户进行实时音视频交流的需求,对研究视频会议的音视频处理等方面具有重要意义。

2 视频会议系统框架设计

2.1 SIP协议

IETF工作组于1999年9月推出了基于IP网络的会话信令协议SIP(Session Initiation Protoco1)的第一个版本RFC2543;2000年前后,3GPP把SIP作为第三代移动通信系统多媒体的控制协议;2002年IETF公布了SIP的第二版RFC3261;2006年2月推出RFC4353,随后IETF发布了多个关于SIP的RFC文档。

SIP用于发起、修改和终止IP网络上的多媒体会话,文献中介绍了SIP协议主要有6类消息,并对其进行了说明,它们分别是INVITE,BYE,OtrI'IONS,ACK,REG.ISTER和CANCEL消息。SIP具有以下5个特点:1)SIP消息基于文本,词法和语法简单、可读性好;2)协议简单、扩展性好;3)定位用户、支持用户移动性;4)SIP网络采用IP网络常用的C/S(客户端/服务器结构);5)会话建立的时延较短。文献中对H.323和SIP作了详细的分析和比较。

随着网络技术的快速发展,传统固网、移动网、宽带互联网以及有线电视网等网络的融合,同时终端朝着智能化的方向发展。在这样的网络环境中,SIP已经被广泛地使用和支持。

2.2 S会议系统模型

SIP会议系统可分为紧耦合和松散耦合两种模型¨。紧耦合会议中使用一个中心节点来实现对信令的集中控制,而松散耦合会议中没有集中的SIP信令服务器。其中紧耦合模式包括集中混合模式、系统混合模式和信令集中、媒体流分布模式(如图2,A,B,C,D,E为终端,实线为SIP流,虚线为媒体流)。

在图2中,会议的控制由一个SIP信令控制器来完成,并维护所有终端间的信令连接,完成对终端用户的控制;媒体流则由各个与会终端分别进行处理,媒体流的分发可以采用组播或单播的方式。考虑了媒体流分发过程中会占用大量带宽资源以及实际网络环境中部分节点或路由支持组播等因素。对于支持组播的网络,采用组播的方式,最大可能地节省带宽,提高带宽的利用率,便于会议规模的扩大。该模型媒体流的传输过程中没有混合编码转换,处理方便、延迟小。

2.3会议系统框架设计

RFC4353l描述了一个集中式SIP会议系统原始框架。其中定义了一些逻辑实体和应用场景,介绍了如何使用SIP协议和SIP的扩展来实现一个视频会议系统。其基本功能包括会议控制和管理、音频/视频处理、通信服务(白板,文件共享)等功能模块。文献[12]对该框架做了分析和改进。

本系统采用集中控制式,其视频会议框架结构如图3所示。该模型主要包括Participant(与会者)、Focus(会议控制中心)、Mixer(媒体混合服务器)、CNS(Conference Notification Server,会议通知服务器)等功能模块。其中,Focus,CNS和Mixer构成会议服务器,完成视频会议的核心功能。文献中给出了该模型中部分模块的功能的介绍。

3 会议系统的实现

3.1会议控制中心的实现

Focus主要控制会议的建立或退出、与会者加入或退出等。Focus的功能是在开源软件Asterisk的基础上设计和修改的。Asterisk具有一个SIP协议栈和RTP协议栈,实现了一个具有基本功能的语音会议系统Meetme。修改后,如图5采用TCP传输SIP,增强会议控制的可靠性,增加RTCP协议实现对媒体流的实时控制,及时反馈带宽资源的使用情况,当出现拥塞时,视频发送端根据反馈参数调节视频的帧数,保证会议的连续性和稳定性。

3.2客户端的实现

与会者通过客户端完成注册后,可以使用音视频交流、白板、文件传输与共享等通信服务功能。对于音频和视频的采集、编解码、图像和声音同步、显示、传输等分别采用WebRTC中的Voice Engine,Video Engine,Transport技术来完成。

3.3媒体混合服务器的实现

针对音频的混合和分发,采用开源软件Zaptel来实现。Zaptel为音频混合提供了许多方便的接口,可以完成声音的混合和分发等功能。针对视频的混合和分发,采用开源软件FFmpeg来实现,并对其进行了改进,首先根据客户端IP判断客户端是否在同一个网段内,如客户端A(192.168.1.100),B(192.168.1.101),C(201.202.1.100)。A与B在同一网段内则采用组播方式传输媒体流,这样在一定程度上降低了服务器负载,提高了系统性能。

3.4 CNS服务器的实现

CNS主要通过定义通知机制来通知与会者相应的会议事件和会议状态¨。与会者通过发送SUBSCRIBE请求向CNS预定相关的会议事件和状态服务。在会议中,一旦预定的事件发生,CNS将通过NOTIFY方法向与会者通告预定的相关会议事件和当前会议状态。例如,与会者可以预定会议在席信息,当有与会者加人或退出会议时,CNS将向预定会议的在席信息的与会者发送会议成员实时变更情况。

4 结束语

本文通过对目前的SIP视频会议体系结构的分析和研究,利用WebRTC技术来处理视频会议的音频和视频,采用SIP作为视频会议的核心控制信令。并对Asterisk,Zaptel。FFmpeg等开源软件进行了研究和改进,设计并实现了一个普通网络环境下的视频会议系统,该系统具有价格低廉、使用方便、带宽利用率高等特点,为研究软件视频会议提供了一个参考。在下一步工作中,将对此系统进行优化,提高系统的安全性,兼容非SIP会话,丰富和完善会议的功能。


相关服务

  • 学术报告PPT设计与完善,学

    学术报告PPT设计与完善,学术

    ¥200.00元/项
  • 董老师(有71892部队医院培

    董老师自我评价:1.个性开朗乐

    ¥150.00元/千字
  • 职业生涯规划

    职业(Career)一词,不同于工作(Jo

    ¥200.00元/千字
  • 各种专业英文文献翻译

    本人工科研究生毕业,已翻译过

    ¥50.00元/千字
  • 英语演讲稿写作、修改及各

    胡老师自我评价:在本科期间获

    ¥200.00元/千字
免费开办
工作室指导