江思源
【摘要】 计算机网络技术的快速发展与普及打破了时间与地域限制,伴随产生的网络视频会议系统则极大的方便了企业内部沟通与交流。本文在传统视频会议系统的基础上,引入XMPP与Red5,为实现多人视频会议提供了有效解决方案。
【关键词】 视频会议 XMPP Red5 多人视频
通常来说,视频会议是由多人参加的,这就需要网络视频会议系统必须具备实现多人视频通信的功能,多人同时进行音视频交流。多人视频会议通常包括多人文字消息、交互式电子白板、多人音视频交流三种形式。
一、多人文字消息传输
多人文字消息是多人视频会议系统的一项功能,是以文字形式实现的多人交流,其类似于其他TM软件中的群功能。首先,用户A在多人视频会议室meeting的客户端A构造Message,并法制XMPP服务器,该Message包括消息内容与目的会议室的JID等。
二、交互式电子白板
交互式电子白板是多人视频会议系统的一项重要功能。基于XMPP的多人视频会议电子白板需实现多客户端实时更新功能:首先,客户A通过电脑虚拟画笔构造Message,比如图形颜色、坐标等,并发送至XMPP服务器;然后,XMPP服务器接收到客户端A发送的Message后,保留原Message不变动直接转发至视频会议室的所有其他参与者;最后,所有與会者接收到XMPP发送的Message后,在本地电子白板的相同位置绘制A绘制的图形。
三、多人视频会议控制流程
在XMPP与Red5的参与下,多人视频会议将能够高效、方便的建立与运行,关键在于通过XMPP消息去可控制多人视频会议中的多人音视频及各种请求。
3.1新建多人视频会议流程
多人视频会议需有某个用户建立视频会议室,假设客户端A创建meeting会议室,那么:首先客户A向XMPP服务器发送包括会议室名称、密码、会议优先等级、最大人数等内容的请求信息;然后XMPP服务器根据接收到的A请求检查当前剩余宽带是否满足该要求,如果满足则向客户端A返回创建成功的消息,否则返回创建失败;XMPP服务器返回创建成功消息后,即向所有在线客户端发送多人视频会议系统创建成功的消息;之后客户A通过RTMP传输协议链接到Red5服务器,并将本地音视频发布至服务器,当多人视频会议中的其他用户接收到该音视频后更新会议列表。至此用户A创建多人视频会议结束。
3.2加入多人视频会议流程
当用户A创建多人视频会议meeting成功后,用户B加入该视频会议,流程如下:1.用户B在接到多人视频会议创建成功的消息后向XMPP服务器发送加入请求;2.XMPP对用户B进行身份验证,验证通过后返回加入成功信息,并将所有参与会议者信息发送给用户B,同时也将用户B加入该多人视频会议的信息发送至其他用户;3.用户B的客户端收到加入成功及其他会议用户信息后,更新会议用户列表,并连接Red5服务器完成本地音视频发布与其他用户音视频获取;4.当用户B加入会议的信息发送至其他会议参与者后,其他用户端更新会议人员列表,并与用户B建立音视频连接;5.用户B加入多人视频会议室结束。
3.3退出多人视频会议流程
在多人视频会议进行中,某用户C不需要继续参与多人视频会议时,首先其需要向XMPP服务器发送退出请求消息,然后用户C的客户端C与Red5之间建立的音视频通信链接关闭,之后XMPP服务器在接收到用户C客户端发送过来的退出请求消息后,将该消息发送至多人视频会议中的其他会议参与者,在其他用户接受到该信息后启动关闭程序,即其他用户客户端Flash模块停止与用户C客户端之间的音视频连接,最后用户C请求退出多人视频会议室完毕。
3.4关闭多人视频会议流程
当多人视频会议结束后,用创建者A进行视频会议室关闭程序,即当用户A关闭会议室后,其他会议用户自动退出会议,具体流程如下:
1.用户A(多人视频会议室创建者)向XMPP服务器发送会议室关闭请求消息;
2.用户A的客户端Flash模块关闭与Red5之间的音视频连接;
3.XMPP服务器接收到会议创建者A发送过来的会议关闭请求消息后,启动关闭程序,通知其他所有在线的会议参与者该会议室已关闭;
4.其他在线用户接收到XMPP服务器发送来的会议关闭消息后,客户端Flash模块关闭与Red5之间的音视频连接,并更新会议室列表,推出会议;
5.所有会议参与者推出会议后,非参与者收到XMPP发送的会议室关闭消息,并在会议室列表中删除该会议,则该多人视频会议室关闭。
对多人网络视频会议的流程进行分析,能够从中发现问题并针对性的进行优化,对基于XMPP的多人视频会议系统发展具有积极的意义。
参 考 文 献
[1]樊军.基于XMPP的网络视频传输系统的研究[D].东华大学.2011.1
[2]杨帅.基于XMPP的多方通信系统的研究与实现[D].西安电子科技大学.2009.1