• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于WebRTC的音視頻實(shí)時(shí)教學(xué)系統(tǒng)建設(shè)探究

      2020-08-31 07:03:24趙永明
      數(shù)字通信世界 2020年8期
      關(guān)鍵詞:教學(xué)系統(tǒng)音視頻視頻會(huì)議

      趙永明

      (中國(guó)氣象局氣象干部培訓(xùn)學(xué)院,北京 100081)

      1 WebRTC技術(shù)

      1.1 WebRTC架構(gòu)

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

      圖1 webrtc架構(gòu)圖

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

      1.2 WebRTC優(yōu)缺點(diǎn)

      WebRTC視頻教學(xué)會(huì)議方案優(yōu)勢(shì)主要體現(xiàn)基于UDP,延時(shí)低,互動(dòng)效果好;支持跨平臺(tái),容易集成二次開發(fā),用h5網(wǎng)頁(yè)就能調(diào)用開發(fā),目前android,Ios,pc的web都能調(diào)用;采用視頻協(xié)議新標(biāo)準(zhǔn),WebRTC的兼容性越來(lái)越好。較傳統(tǒng)的基于H.323視頻會(huì)議系統(tǒng),WebRTC主要采用SIP的協(xié)議作為信令傳輸協(xié)議,具有擴(kuò)展性強(qiáng),穩(wěn)定可靠、帶寬利用率高等特點(diǎn),利用WebRTC技術(shù),用戶之間可以直接利用基于HTML5技術(shù)的瀏覽器進(jìn)行多媒體通信,大大提高了用戶之間通信的便捷性。

      WebRTC目前存在的問(wèn)題包括開發(fā)難度較高,特別是服務(wù)端沒(méi)有統(tǒng)一的方案;UDP穿透,部署NAT后端服務(wù)器,比較麻煩;WebRTC架構(gòu)方案較多,選型有一些難度。

      2 音視頻實(shí)時(shí)教學(xué)系統(tǒng)的設(shè)計(jì)

      2.1 架構(gòu)設(shè)計(jì)

      系統(tǒng)采用B/S架構(gòu)模型,后臺(tái)配置SIP服務(wù)器,WebSocket代理服務(wù)器、媒體服務(wù)器,WebRTC客戶端運(yùn)行在瀏覽器,采用JavaScript語(yǔ)言調(diào)用SIP協(xié)議棧用于發(fā)送接收解析SIP信令。SIP服務(wù)器主要進(jìn)行用戶認(rèn)證,會(huì)話控制。WebSocket代理服務(wù)器通過(guò)偵聽(tīng)負(fù)責(zé)連接WebRTC客戶端和SIP服務(wù)器。媒體服務(wù)器負(fù)責(zé)音視頻信號(hào)的混合,并通過(guò)SIP服務(wù)器提供的會(huì)議信息對(duì)音視頻信號(hào)進(jìn)行分發(fā)。

      圖2 音視頻實(shí)時(shí)教學(xué)系統(tǒng)結(jié)構(gòu)

      2.2 系統(tǒng)實(shí)現(xiàn)

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

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

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

      通過(guò)本文實(shí)踐,基本熟悉和掌握了基于WebRTC進(jìn)行音視頻教學(xué)系統(tǒng)開發(fā)的基本思路和技術(shù)路線,目前完成的系統(tǒng)實(shí)現(xiàn)了音視頻實(shí)時(shí)教學(xué)的基本功能。

      2.3 前端功能實(shí)現(xiàn)

      完成的客戶端前端主要包括用戶注冊(cè)登錄,主講人加入會(huì)議進(jìn)行音視頻推流,學(xué)員端用戶加入會(huì)議參會(huì),舉手申請(qǐng)連麥,以及文字聊天等直播系統(tǒng)的主要功能,基本實(shí)現(xiàn)了通過(guò)網(wǎng)絡(luò)進(jìn)行視頻直播教學(xué)活動(dòng),后期將進(jìn)一步考慮基于P2P的WebRTC架構(gòu)調(diào)整、使用P2P媒體流,音頻、視頻和數(shù)據(jù)的連接直接通過(guò)瀏覽器實(shí)現(xiàn)、采用STUN協(xié)議建立一個(gè)P2PRTC媒體等方式,改進(jìn)多人參加互動(dòng)連麥,進(jìn)一步改進(jìn)會(huì)議房間管理和用戶管理、添加簽到點(diǎn)名、課堂調(diào)查、抽獎(jiǎng)以及點(diǎn)贊等功能,同時(shí)提升系統(tǒng)的易用性。

      3 結(jié)束語(yǔ)

      本文分析了基于WebRTC開發(fā)視頻會(huì)議系統(tǒng)的基本設(shè)計(jì)思路和開發(fā)模式,主要部分基于開源軟件實(shí)現(xiàn),對(duì)現(xiàn)有業(yè)務(wù)使用的視頻會(huì)議產(chǎn)品提出優(yōu)化改造需求和設(shè)計(jì)開發(fā)思路提供了參考,后期將在此基礎(chǔ)上擴(kuò)展音視頻教學(xué)系統(tǒng)功能、優(yōu)化系統(tǒng)性能、增加學(xué)員在線學(xué)習(xí)體驗(yàn)和提升同步課堂教學(xué)效果,為利用同步音視頻教學(xué)在氣象遠(yuǎn)程培訓(xùn)業(yè)務(wù)應(yīng)用提供更好的支持。

      猜你喜歡
      教學(xué)系統(tǒng)音視頻視頻會(huì)議
      省農(nóng)辦主任暨三農(nóng)重點(diǎn)工作推進(jìn)視頻會(huì)議
      基于Unity的計(jì)算機(jī)硬件組裝仿真教學(xué)系統(tǒng)設(shè)計(jì)
      3KB深圳市一禾音視頻科技有限公司
      民政部召開民政領(lǐng)域社會(huì)工作推進(jìn)視頻會(huì)議
      多地遠(yuǎn)程互動(dòng)同步教學(xué)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      WIFI音視頻信號(hào)傳輸?shù)年P(guān)鍵問(wèn)題探究
      電子制作(2018年12期)2018-08-01 00:48:06
      高速公路整合移動(dòng)音視頻系統(tǒng)應(yīng)用
      基于交互式雙板教學(xué)系統(tǒng)的高中地理教學(xué)研究
      淺談遠(yuǎn)程視頻會(huì)議系統(tǒng)的構(gòu)建
      汽車配件營(yíng)銷實(shí)踐教學(xué)系統(tǒng)開發(fā)
      安远县| 屏东县| 霍山县| 叶城县| 渭南市| 乐亭县| 房山区| 枣庄市| 辽宁省| 十堰市| 潼关县| 双江| 顺平县| 绥化市| 永修县| 武穴市| 东源县| 渭南市| 江永县| 洞口县| 洪雅县| 腾冲县| 黔江区| 武城县| 峡江县| 长宁区| 隆化县| 图木舒克市| 威信县| 阿图什市| 霍州市| 视频| 岫岩| 宾阳县| 江都市| 锡林浩特市| 西乌| 桐柏县| 邢台市| 澄迈县| 安平县|