江思源
【摘要】 計算機網絡技術的快速發展與普及打破了時間與地域限制,伴隨產生的網絡視頻會議系統則極大的方便了企業內部溝通與交流。本文在傳統視頻會議系統的基礎上,引入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