主頁(http://www.by236.com):搭建WebRtc環境 搭建WebRtc環境0.前言 這次的需求,準備做的是一個類似與QQ視頻一樣的點對點視頻聊天。這幾天了解了一些知識后,決定使用HTML5新支持的WebRtc來作為視頻通訊?蛻舳耸褂弥С諬TML5瀏覽器即可。服務器段需要提供兩個主要的服務功能,一個是信令服務器(Signaling Server),一個是NAT穿透服務器(ICE Server)。簡單的框架圖如下:
1.安裝e2esoft vcam 虛擬攝像頭 由于我本地是臺式電腦,沒有攝像頭,另一方面,為了調試的方便,安裝這個虛擬攝像頭。 2.安裝信令服務器 網上信令服務器大多是以nodejs寫的。這里以skyrtc為例,進行演示。 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本地調試外,其他的訪問方式,必須要https。否則不能運行。PC端和移動端好像都是這樣) Chrome報錯如下:
這里準備用Firefox進行演示。移動端也是用Firefox進行演示。
手機端,用Firefox瀏覽器查看的效果。
3.安裝coturn(開源的iceserver) 這個跟谷歌開源的rfc5766-turn-server 是類似的,這里我使用coturn 1 git clone https://github.com/coturn/coturn2 cd coturn3 ./configure4 make5 make install 安裝后在coturn/examples/etc 目錄下使用該命令執行 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
這樣就啟動好了,默認的監聽端口是3478 4.修改WebRtc 客戶端配置 修改Skyrtc-demo/publi/SkyRTC-client.js
免費公開的stun+turn 服務器 : https://gist.github.com/yetithefoot/7592580 5.運行,查看效果 root@debian-srv:~/workspace/SkyRTC-demo# nodejs server.js 瀏覽器打開兩個頁面
一個PC端 一個移動端
親測,移動4G可以跟我當前的網絡穿透成功,但是移動3G不行。其他的網絡網絡運營商沒有測試。單靠這些,做著玩玩還可以,距離產品還差十萬八千里呢。當下的網絡還是比較復雜的,IPv4告急,有些ISP分配的IP的還有可能是內網的,有些大機構的網絡還是對稱性NAT。而對于對稱型NAT是基本不能穿透的。要經過轉發, 而轉發視頻對帶寬的消耗是很大的。真的是希望IPv6早點普及。
參考資料: webrtc資料: https://segmentfault.com/a/1190000000439103 ICEServer資料 https://github.com/coturn/coturn
(中國集群通信網 | 責任編輯:李俊勇) |












