OMCS 網絡語音視頻框架是集成了語音通話、視頻通話、遠程桌面觀看與協助、電子白板編輯與觀看等多種媒體於一身的跨平台(.NET、Android、iOS)網絡多媒體框架,實現了多媒體設備【麥克風、攝像頭、桌面、電子白板】的采集、編碼、網絡傳送、解碼、播放(或顯示)等相關的一整套流程,且可智能地根據網絡狀況實時調整幀頻、清晰度、並優先保證語音通話效果。您只要連接到OMCS服務器,就可以隨時訪問任何一個在線用戶的多媒體設備。基於OMCS語音視頻聊天框架,您可以快速地開發視頻聊天系統、視頻會議系統、智慧醫療系統(遠程診療)、網絡教學系統、遠程教育系統、網絡監控系統等等基於網絡多媒體的應用系統。(可跳過概要介紹,直接進入開發手冊目錄 或 Demo下載)
一.OMCS語音視頻聊天框架功能簡介
1.Owner與Guest
任何一個OMCS的Client都有兩種身份:Owner和Guest。
當一個Client作為Owner時,它提供本地的攝像頭、話筒、桌面、電子白板等多媒體設備供其它的Client訪問。
而當一個Client訪問其它Client提供的多媒體設備時,則該Client就是以Guest的身份出現。
2.單向連接,1對1,1對N,N對1,N對N的關系
一個Client可以同時訪問多個在線Client的多媒體設備;而一個Client提供的某個多媒體設備,也可以同時被多個其它的Client同時訪問。其基礎是單向連接(比如當A訪問B的攝像頭時,B不用訪問A的攝像頭),由單向連接就可以組合成1對1,1對N,N對1,N對N的關系, 這樣就非常靈活。
像監控一個攝像頭這樣的系統直接使用單向連接就可以;兩個人視頻聊天就是1對1的關系;在線教育系統中,老師講學生聽,就是1對N的關系;同時監控多個攝像頭就是N對1的關系;而視頻會議則是“N對N的關系”。
3.P2P通道
當兩個Client之間相互通信時,OMCS底層會自動嘗試P2P連接,如果P2P通道能創建成功,該兩個客戶端之間的后續通信都經過P2P通道進行。即使P2P通道是基於UDP的,OMCS也會保證P2P通信的可靠性。
4.信道分離
在某些具體的應用中,我們可能需要把信道依據數據的類型進行分離。比如,在視頻會議系統中,希望能將傳送語音的信道獨立出來,以避免其它類型數據傳送時可能產生的擁擠而影響到語音的流暢性。這種情況下,我們就可以將語音數據分離到一條專用的信道進行傳送。
5.超簡單的編程模型
當基於OMCS語音視頻聊天框架進行開發時,如果要訪問其它客戶端提供的多媒體設備,我們只需要從工具箱中拖拽對應的連接器控件/組件到UI上,然后調用其Connect方法連接到目標設備即可。Connect方法會返回連接的結果,如果連接成功,則該連接器控件/組件將會正常工作(比如,CameraConnector控件將會顯示目標攝像頭捕捉到的視頻)。
另外,我們已經提供了完整的OMCS服務端程序,即OMCS.Server.exe,在使用時,只要部署該程序並啟動它即可。
6.與應用集成
OMCS解決的僅僅是多媒體設備的管理、連接、顯示/播放、控制等問題,並沒有摻雜具體的業務邏輯。所以,當與具體的應用集成時,通常OMCS的服務端是獨立的,而OMCS的客戶端dll將被嵌入到具體應用的客戶端程序中,就像下面一樣:
(如果您只需要采集本地語音視頻數據,敬請了解 MCapture。如果您需要錄制語音視頻,敬請了解 MFile。)
二.OMCS語音視頻聊天框架技術特點
1.視頻通話
(1)支持160*120、320*240、480*360、640*480、720p、1080p等多種采集分辨率。可在運行時,動態修改該分辨率。
(2)支持高、中、低三種視頻編碼質量。
(3)支持幀頻1~25fps。
(4)當網絡擁塞時,主動棄幀。
(5)根據網絡狀態,自動調整視頻的編碼質量。
(6)可以以位圖格式獲取當前視頻幀。
(7)支持多種視頻設備:普通攝像頭、usb攝像頭、虛擬攝像頭、視頻卡等。
2.音頻通話
(1)支持高、中、低三種音頻編碼質量。
(2)支持回音消除(AEC)、靜音檢測(VAD)、噪音抑制(DENOISE)、自動增益(AGC)等網絡語音技術。
(3)最多可支持16路混音。
(4)自適應的JitterBuffer,根據網絡狀態,動態調整緩沖深度。
(5)如果同時開啟音頻和視頻會話,則自動同步視頻畫面與聲音。
(6)在網速慢時,自動調整視頻的質量,優先保證音頻的清晰和連貫。
(7)根據網絡狀態,自動切換語音數據到質量更高的網絡通道,保證語音通話效果。
3.遠程桌面
(1)支持高、中、低三種視頻編碼質量。
(2)根據機器性能和網速自動選擇幀頻。
(3)可動態調整屏幕分辨率。
(4)提供觀看模式和控制模式兩種選擇。
(5)當網絡擁塞時,主動棄幀。
(6)根據網絡狀態,自動調整遠程桌面的清晰度。
4.電子白板
(1)支持常用的視圖元素:直線、曲線、箭頭、矩形、三角形、橢圓、文字等;支持視圖元素的上下對齊,左右對齊。
(2)可修改邊框顏色、填充顏色、線條粗細、線條虛實、顯示比例。
(3)可插入圖片、截屏,可將整個白板保存為位圖。
(4)支持課件:上傳課件、打開課件、刪除課件,課件翻頁等。且這些操作會自動同步到連接到了同一白板的各個客戶端。
(5)提供觀看模式和操作模式兩種選擇。
(6)激光筆:OMCS會將老師/主講人的激光筆位置自動同步到各個客戶端。
(7)多個Guest可以同時觀看或操作同一個Owner的白板。
三.OMCS Demo運行截圖
視頻/音頻連接器 截圖:

電子白板連接器 截圖 -- 不使用課件:
電子白板連接器 截圖 -- 使用課件:
遠程桌面連接器 截圖:

關於OMCS語音視頻聊天框架更詳細的介紹,請參見 這里。
版權聲明:本文為博主原創文章,未經博主允許不得隨意轉載。