999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于WebRTC的音視頻實時教學系統建設探究

2020-08-31 07:03:24趙永明
數字通信世界 2020年8期

趙永明

(中國氣象局氣象干部培訓學院,北京 100081)

1 WebRTC技術

1.1 WebRTC架構

WebRTC主要包括音頻引擎、視頻引擎和網絡傳輸協議3個主要部分。音頻模塊包括iSAC/iLBC采集編解碼、聲音處理、語音控制、同步及輸出,采用降噪和回音處理技術提供高質量的語音。視頻引擎模塊包含視頻采集、編解碼、加密、圖像處理顯示、網絡傳輸與流媒體控制等技術,視頻采用VP8編解碼技術具有低延時的特點,視頻抖動緩沖以及圖像增強可以減小網絡不穩定時的視頻噪音,增強視頻質量。網絡傳輸包含了穩定的SRTP,包含STUN、ICE等技術,支持透防火墻等功能,各部分可根據實際需求進行擴展,可滿足網絡條件較差的用戶進行實時的音視頻交流。

圖1 webrtc架構圖

WebRTC采用SIP-over-WebSocket(SIPoWS)作為信令棧。HTTP協議用于瀏覽器下載HTML5/JavaScript程序內容;NAT棧解決P2P連接問題;媒體棧用于發送和接收RTC的音頻和視頻。

1.2 WebRTC優缺點

WebRTC視頻教學會議方案優勢主要體現基于UDP,延時低,互動效果好;支持跨平臺,容易集成二次開發,用h5網頁就能調用開發,目前android,Ios,pc的web都能調用;采用視頻協議新標準,WebRTC的兼容性越來越好。較傳統的基于H.323視頻會議系統,WebRTC主要采用SIP的協議作為信令傳輸協議,具有擴展性強,穩定可靠、帶寬利用率高等特點,利用WebRTC技術,用戶之間可以直接利用基于HTML5技術的瀏覽器進行多媒體通信,大大提高了用戶之間通信的便捷性。

WebRTC目前存在的問題包括開發難度較高,特別是服務端沒有統一的方案;UDP穿透,部署NAT后端服務器,比較麻煩;WebRTC架構方案較多,選型有一些難度。

2 音視頻實時教學系統的設計

2.1 架構設計

系統采用B/S架構模型,后臺配置SIP服務器,WebSocket代理服務器、媒體服務器,WebRTC客戶端運行在瀏覽器,采用JavaScript語言調用SIP協議棧用于發送接收解析SIP信令。SIP服務器主要進行用戶認證,會話控制。WebSocket代理服務器通過偵聽負責連接WebRTC客戶端和SIP服務器。媒體服務器負責音視頻信號的混合,并通過SIP服務器提供的會議信息對音視頻信號進行分發。

圖2 音視頻實時教學系統結構

2.2 系統實現

SIP服務器主要控制會議的建立,學員和老師的加入和退出,為了避免冗余,以及做到與現有技術的最大兼容,信令方法和協議都不由WebRTC標準來指定,協調通信的過程。WebRTC應用要發起一個對話交換媒體元數據、網絡數據密鑰數據等,本文采用了在Asterisk開源軟件的基礎上進行修改實現。另外還考慮Freeswitch作為服務端,包含了sip服務器,stun服務器、視頻轉發服務器。p2p的通信過程采用SPD的會話描述協議以及通過STUN技術穿越NAT實現p2p的直接通信或者使用STUN服務器實現突破NAT的P2P通信,在連接建立前或者建立后調用peerConnection.addStream方法將本地視頻/音頻數據流加入到connection當中,當對方接受到視頻流時會觸發addStream事件,在其處理程序中我們可以接受數據流將其顯示,STUN服務器可以是自己搭建的,也可以是直接使用現成的。

媒體服務器主要完成音視頻的混合和分發,音頻部分采用Zaptel實現,視頻部分采用FFmpeg實現,可判斷客戶端是否在同一網段,還可以采用組播方式傳輸媒體流來節省帶寬。流媒體服務自主研發服務端技術,門檻較高,基于WebRTC開源MCU框架有licode、kurento、jistsi等,可選擇基于開源改造節省開發時間,本文采用Licode進行了學習和實踐。Licode主要由Erizo的一對多組件(MCU)、NodeJsapi、負責管理視頻會議session的控制器、負責管理會議房間、參加人員、憑證等服務器資源的管理單元4個模塊組成。在ubuntu環境下進行了搭建,安裝時需要依賴libNice、libavutil、libevent-core等庫。通過下載licode,編譯安裝后配置liconde_config.js及erizoController.js文件后即可實現多人視頻通信。

WebRTC客戶端通過瀏覽器Html5應用采用WebRTC的音頻引擎和視頻引擎及網絡傳輸部分的javascriptAPI實現音視頻采集和編解碼以及音視頻同步、傳輸以及圖像同步。傳統的視頻會議一般需要安裝第三方插件或者采用flash插件將語音和視頻遷入到網頁中,html5的video和audio標簽可不使用特殊插件播放音視頻,因此采用web瀏覽器接入視頻教學系統成為了新的選擇。本文采用JsSIP兼容WebRTC的js庫,可快速實現客戶端,通過WebRTC,從用戶攝像頭獲取圖像并傳給服務器。由于WebRTC只在Chrome、Opera、Firefox上支持,所以客戶端不能運行于IE瀏覽器。JsSIP是一個javascript庫,通過websocket傳輸SIP,具有豐富的API,適用于Asterisk,可提供全功能的sip斷點,JsSIP封裝了SIP和WebRTC,如果不需要自己調用getUserMedia來獲取音視頻,JsSIP會通過JsSIP.UA.call方法的參數來實現調用,通過配置對象初始化JsSIP用戶代理,調用相應的api可以很容易實現網站間通過音視頻實時通信。

通過本文實踐,基本熟悉和掌握了基于WebRTC進行音視頻教學系統開發的基本思路和技術路線,目前完成的系統實現了音視頻實時教學的基本功能。

2.3 前端功能實現

完成的客戶端前端主要包括用戶注冊登錄,主講人加入會議進行音視頻推流,學員端用戶加入會議參會,舉手申請連麥,以及文字聊天等直播系統的主要功能,基本實現了通過網絡進行視頻直播教學活動,后期將進一步考慮基于P2P的WebRTC架構調整、使用P2P媒體流,音頻、視頻和數據的連接直接通過瀏覽器實現、采用STUN協議建立一個P2PRTC媒體等方式,改進多人參加互動連麥,進一步改進會議房間管理和用戶管理、添加簽到點名、課堂調查、抽獎以及點贊等功能,同時提升系統的易用性。

3 結束語

本文分析了基于WebRTC開發視頻會議系統的基本設計思路和開發模式,主要部分基于開源軟件實現,對現有業務使用的視頻會議產品提出優化改造需求和設計開發思路提供了參考,后期將在此基礎上擴展音視頻教學系統功能、優化系統性能、增加學員在線學習體驗和提升同步課堂教學效果,為利用同步音視頻教學在氣象遠程培訓業務應用提供更好的支持。

主站蜘蛛池模板: 国产亚洲精| 国产午夜精品一区二区三区软件| 久久精品免费看一| 亚洲第一精品福利| 综合网天天| 99在线观看国产| 亚洲视频四区| 麻豆精选在线| 视频一本大道香蕉久在线播放| 久久久久久久久18禁秘| 免费人成视网站在线不卡| 色综合天天操| 亚洲天堂日韩在线| 日本三级欧美三级| 国产肉感大码AV无码| 九九热视频精品在线| 天天综合网色中文字幕| 狠狠亚洲婷婷综合色香| 久久久久亚洲AV成人网站软件| 99热最新在线| 久操中文在线| 国产又粗又猛又爽| 亚洲爱婷婷色69堂| 亚洲中文字幕av无码区| 午夜丁香婷婷| 成人福利免费在线观看| 人妻丰满熟妇αv无码| 欧美国产日韩另类| 精品少妇三级亚洲| 国产成人综合亚洲欧美在| 国产精品视频白浆免费视频| 永久免费无码成人网站| 欧美三级自拍| 成人免费黄色小视频| 一级片免费网站| 精品国产网| 无码 在线 在线| 亚洲国产精品成人久久综合影院| 日韩欧美中文字幕在线精品| 一级毛片免费播放视频| 国产肉感大码AV无码| 国产成人资源| 四虎AV麻豆| 中文字幕永久在线看| 欧美日韩资源| 91精品国产福利| 国产精品网址你懂的| 日韩中文无码av超清| 又爽又大又光又色的午夜视频| 欧美久久网| 中文字幕资源站| 国产毛片不卡| 精品夜恋影院亚洲欧洲| 伊人久久影视| 噜噜噜久久| 狠狠色丁香婷婷| 五月婷婷综合网| 国产www网站| 伊人丁香五月天久久综合 | 又爽又大又黄a级毛片在线视频| 久热99这里只有精品视频6| 日本人妻一区二区三区不卡影院| 麻豆精品在线| 992tv国产人成在线观看| 国产成人成人一区二区| 亚洲精品不卡午夜精品| 亚洲 欧美 日韩综合一区| 91精品人妻一区二区| 久久婷婷人人澡人人爱91| 欧美精品xx| 72种姿势欧美久久久久大黄蕉| 亚洲国产成人麻豆精品| 999精品视频在线| 毛片一区二区在线看| 国产99欧美精品久久精品久久| 毛片一区二区在线看| 久久精品无码中文字幕| 国模私拍一区二区| 免费在线成人网| 99国产精品一区二区| 久久久久国色AV免费观看性色| 成人福利在线免费观看|