webRTC

一、webrtc的支持范圍:

1.對(duì)官方給出的范圍進(jìn)行了測(cè)試:(不排除demo代碼有問(wèn)題)

Chrome 34+ √
Chrome for Android ×
Firefox √
Native java Object-C 無(wú)條件,未測(cè)試

對(duì)于pc的版本window or mac 和 linux 都進(jìn)行了以上測(cè)試,andriod機(jī)測(cè)試了小米和華為p8,拉流無(wú)聲音,黑屏

2.瀏覽器的支持:

  • 1.audio和video標(biāo)簽,并且數(shù)據(jù)流是可傳輸?shù)?/li>
1.png
  • 2.js的api支持,底層接口需要有RTCPeerConnection,RTCDataChannel,MediaStream(aka getUserMedia)
2.png

下面是兩個(gè)例子:

二、webrtc現(xiàn)在可以做什么?

1.視頻的采集

視頻采集.png

2.視頻錄制(采集端流錄制)

https://simpl.info/mediarecorder/

3.照相

https://webcamtoy.com/zh/

照相.png

4.加濾鏡

https://picshare.jooink.com/

濾鏡.png

5.實(shí)現(xiàn)00熱愛(ài)的自拍,人臉識(shí)別

https://www.auduno.com/clmtrackr/examples/facedeform.html

人臉識(shí)別.png

6.類(lèi)似qq截圖的桌面截圖

這個(gè)只有代碼,需要接入,尚未嘗試
https://github.com/niklasenbom/RecordingApp

7.音頻混合,類(lèi)似dj什么的,英文是audio room 網(wǎng)上例子很多,但是我玩不轉(zhuǎn),需要人給普及一下音樂(lè)知識(shí)

8.錄音

錄音.png

9.聊天

例子太多了,不一一列舉了

10.png

10.游戲

https://www.cubeslam.com/podjhc

11.類(lèi)似百度云的文件分享

分享一個(gè)文件給好友,這個(gè)場(chǎng)景可以和云盤(pán)結(jié)合起來(lái),擴(kuò)大信息傳播范圍

三、集成了webrtc的第三方庫(kù),可以提供哪些服務(wù)?

基礎(chǔ)的視頻服務(wù)

1對(duì)1視頻:
https://123.56.176.151:3001/ 兩個(gè)人都加入一個(gè)房間id中即可

1對(duì)多視頻:
https://123.56.176.151:3001/broadcast 主播,只能一個(gè)
https://123.56.176.151:3001/audience 觀眾,可以多個(gè)

視頻支持:15fps和30fps兩種

清晰度支持:

‘120p_1’ : 160x120, 15fps, 80kbps
‘240p_1’ : 320x240, 15fps, 200kbps
‘480p_1’ : 640x480, 15fps, 500kbps (default)
‘480p_2’ : 640x480, 30fps, 1Mbps
‘720p_1’ : 1280x720, 15fps, 1Mbps
‘720p_2’ : 1280x720, 30fps, 2Mbps
‘1080p_1’ : 1920x1080, 15fps, 1.5Mbps
‘1080p_2’ : 1920x1080, 30fps, 3Mbps

現(xiàn)有限制:

  • 1.只有1v1和廣播兩種,不存在1vN多人會(huì)話(huà)模式;
  • 2.瀏覽器可用范圍依賴(lài)于webrtc基本條件;
  • 3.能與全平臺(tái)的Agora Native SDK(1.8版或更高版本)進(jìn)行互通,目前僅支持直播場(chǎng)景;
  • 4.僅支持到1080p;
  • 5.功能不如Agora Native SDK充分,質(zhì)量提示、測(cè)試服務(wù)、通話(huà)服務(wù)評(píng)分、錄音和日志記錄;

Electron中集成測(cè)試:通過(guò)

混合開(kāi)發(fā).png

備注:沒(méi)用我們自己的例子,是因?yàn)閑lectron中的https需要正式的簽名證書(shū)

總結(jié):

  • 1、webrtc的demo非常多,應(yīng)用處于增長(zhǎng)期;
  • 2、基于webrtc的第三方庫(kù)可以選擇的不多;
  • 3、接入成本低,基于瀏覽器的代碼要更規(guī)范且可控;(eg.瀏覽器很少會(huì)崩潰)
  • 4、webrtc在移動(dòng)端的還是需要native支持;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容