APP下载

基于WebRTC的视频会议系统的设计与实现

2013-09-17刘六程

电视技术 2013年1期
关键词:与会者信令音视频

胡 敏,刘六程,刘 鹏

(重庆邮电大学软件技术中心,重庆 400065)

随着人类经济、政治及文化活动的不断发展,人与人之间的信息交流愈来愈频繁,人们渴望得到直观、真实的交流效果。视频会议系统可以让人们远距离进行实时信息交流,开展协同工作,提供直观、真实的音视频等多种交流方式。此外利用多媒体技术的支持,视频会议系统可以帮助用户对各种信息进行处理、加工、反馈,有利于问题的解决[1-2]。视频会议能提高人们的工作效率,降低远距离会议的费用。

简单灵活的SIP协议不仅可以实现H.323协议的相关功能,而且扩展性强,可以由纯软件来实现会议功能,在普通的因特网(网络环境不稳定,带宽有限)上就可以实现视频会议的应用。Google于2011年将WebRTC实时音视频技术开源,为更多研究和开发视频会议系统的人员降低了成本,节约了开发时间。

计算机与通信技术的高速发展,以及网络宽带的不断改善,视频会议将向着更廉价、更优质、更便捷的方向发展,以满足广大用户的需求,硬件视频会议系统将逐步被软件视频会议系统所取代。因此,研究WebRTC和SIP协议等技术,对研究和开发基于IP网络的纯软件视频会议系统具有重要的价值和意义。

1 WebRTC分析

1.1 WebRTC的背景

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

1.2 WebRTC的结构及分析

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

1)WebRTC的音频模块

图1 WebRTC结构

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

2)WebRTC的视频模块

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

2.背向示范法。即体育老师示范时背向学生,和学生同方向站立,让学生跟随自己进行同步练习,由于是背向,不利于学生观察到老师的体前细节动作,因此背向示范法常用于左右方向动作的演示,如武术的套路教学等。

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 Protocol)的第一个版本RFC2543[7];2000年前后,3GPP 把 SIP 作为第三代移动通信系统多媒体的控制协议;2002年IETF公布了SIP的第二版 RFC3261[8];2006 年 2 月推出 RFC4353[9],随后 IETF发布了多个关于SIP的RFC文档。

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

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

2.2 SIP会议系统模型

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

图2 信令集中、媒体流分布模式

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

2.3 会议系统框架设计

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

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

图3 视频会议系统框架

3 会议系统的实现

3.1 会议控制中心的实现

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

3.2 客户端的实现

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

图6 客户端结构

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

4 结束语

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

[1]仲元昌,林永,蔡增增,等.视频会议系统关键技术及应用研究[J].电视技术,2010,34(6):93-96.

[2]杨高波,韩龙.视频会议系统综述[J].电视技术,2004,28(9):60-63.

[3]潘晓东.声学回声消除技术(AEC)在会议扩声系统的应用[J].电声技术,2012,36(2):2-14.

[4]IETF.RFC3550,RTP:a transport protocol for real-time applications[S].2003.

[5]IETF.RFC3611,RTP control protocol extended reports(RTCP XR)[S].2010.

[6]RFC3605,Real time control protocol(RTCP)attribute in session description protocol(SDP)[S].2010.

[7]RFC2543,SIP:Session initiation protocol[S].1999.

[8]RFC3261,SIP:Session initiation protocol[S].2002.

[9]张智江,张云勇,刘韵洁.SIP协议及其应用[M].北京:电子工业出版社,2005.

[10]侯移门.TAIDEN无纸化多媒体会议系统[J].电声技术,2011,35(10):8-11.

[11]RFC4353,A framework for conference with the session initiation protocol(SIP)[S].2006.

[12]王森.SIP多方视频会议应用服务器设计与实现[D].沈阳:沈阳计算技术研究所,2008.

[13]苏云涛.基于SIP的视频会议系统的设计与实现[D].北京:北京邮电大学,2008.

[14]RFC 3265,Session initiation protocol(SIP)-specific event notification[S].2002.

猜你喜欢

与会者信令音视频
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
SLS字段在七号信令中的运用
3KB深圳市一禾音视频科技有限公司
移动信令在交通大数据分析中的应用探索
WIFI音视频信号传输的关键问题探究
基于信令分析的TD-LTE无线网络应用研究
高速公路整合移动音视频系统应用
LTE网络信令采集数据的分析及探讨