99久久亚洲综合精品成人_永久黄网站色视频免费_9I制作厂免费_久久久WWW成人免费毛片_亚洲国产精品一区二区久久_少妇又紧又深又湿又爽视频_成人乱码一区二区三区av_亚洲香蕉视频天天爽_欧美z0z0人禽交_免费人妻无码不卡中文字幕系

中國(guó)集群通信網(wǎng)

搭建WebRtc環(huán)境

時(shí)間:2018-11-05 00:49 點(diǎn)擊:

搭建WebRtc環(huán)境0.前言

這次的需求,準(zhǔn)備做的是一個(gè)類似與QQ視頻一樣的點(diǎn)對(duì)點(diǎn)視頻聊天。這幾天了解了一些知識(shí)后,決定使用HTML5新支持的WebRtc來作為視頻通訊。客戶端使用支持HTML5瀏覽器即可。服務(wù)器段需要提供兩個(gè)主要的服務(wù)功能,一個(gè)是信令服務(wù)器(Signaling Server),一個(gè)是NAT穿透服務(wù)器(ICE Server)。簡(jiǎn)單的框架圖如下:


1.安裝e2esoft vcam 虛擬攝像頭

由于我本地是臺(tái)式電腦,沒有攝像頭,另一方面,為了調(diào)試的方便,安裝這個(gè)虛擬攝像頭。我是在這里下載的http://www.loveliao.com/downfiles/VCam_v4.5.exe

2.安裝信令服務(wù)器

網(wǎng)上信令服務(wù)器大多是以nodejs寫的。這里以skyrtc為例,進(jìn)行演示。

1 apt-get install nodejs npm2 git clone https://github.com/LingyuCoder/SkyRTC-demo3 cd SkyRTC-demo4 npm install5 nodejs server.js這樣瀏覽器訪問本地http://localhost:3000就可以訪問了。(主要chrome好像46以上版本,除了本地localhost和127.0.0.1本地調(diào)試外,其他的訪問方式,必須要https。否則不能運(yùn)行。PC端和移動(dòng)端好像都是這樣) Chrome報(bào)錯(cuò)如下:


這里準(zhǔn)備用Firefox進(jìn)行演示。移動(dòng)端也是用Firefox進(jìn)行演示。


手機(jī)端,用Firefox瀏覽器查看的效果。


3.安裝coturn(開源的iceserver)

這個(gè)跟谷歌開源的rfc5766-turn-server 是類似的,這里我使用coturn

1 git clone https://github.com/coturn/coturn2 cd coturn3 ./configure4 make5 make install安裝后在coturn/examples/etc 目錄下使用該命令執(zhí)行

turnserver -o -a -f -v --mobility -m 10 --max-bps=100000 --min-port=32355 --max-port=65535 --user=ling:ling1234 --user=ling2:ling1234 -r demo


這樣就啟動(dòng)好了,默認(rèn)的監(jiān)聽端口是3478

4.修改WebRtc 客戶端配置

修改Skyrtc-demo/publi/SkyRTC-client.js


免費(fèi)公開的stun+turn 服務(wù)器 : https://gist.github.com/yetithefoot/7592580

5.運(yùn)行,查看效果

root@debian-srv:~/workspace/SkyRTC-demo# nodejs server.js瀏覽器打開兩個(gè)頁面


一個(gè)PC端 一個(gè)移動(dòng)端


親測(cè),移動(dòng)4G可以跟我當(dāng)前的網(wǎng)絡(luò)穿透成功,但是移動(dòng)3G不行。其他的網(wǎng)絡(luò)網(wǎng)絡(luò)運(yùn)營(yíng)商沒有測(cè)試。單靠這些,做著玩玩還可以,距離產(chǎn)品還差十萬八千里呢。當(dāng)下的網(wǎng)絡(luò)還是比較復(fù)雜的,IPv4告急,有些ISP分配的IP的還有可能是內(nèi)網(wǎng)的,有些大機(jī)構(gòu)的網(wǎng)絡(luò)還是對(duì)稱性NAT。而對(duì)于對(duì)稱型NAT是基本不能穿透的。要經(jīng)過轉(zhuǎn)發(fā), 而轉(zhuǎn)發(fā)視頻對(duì)帶寬的消耗是很大的。真的是希望IPv6早點(diǎn)普及。

參考資料:

  webrtc資料:  

  https://segmentfault.com/a/1190000000439103  https://bitbucket.org/webrtc/codelab/overview  https://github.com/LingyuCoder/SkyRTC-demo  http://xiaol.me/2014/08/24/webrtc-stun-turn-signaling/  http://www.mamicode.com/info-detail-513556.html   https://simplewebrtc.com/   https://gist.github.com/yetithefoot/7592580

  ICEServer資料

  https://github.com/coturn/coturn  http://www.cnblogs.com/lingdhox/p/4209659.html


(責(zé)任編輯:李俊勇)

相關(guān)文章