我們的 App 是聊天軟體,一開始只有文字對話,那時用 socket.io 就夠了。後來要加上一對一語音的功能。因為 socket.io 不能互傳 raw data ,不適合用來做語音傳輸,我們用了 WebRTC,目前網路電話應該大部分也都是用 WebRTC。
WebRTC 全名 Web Real-Time Communication,特別的地方在於,不用任何plugin ,就可以讓兩個瀏覽器進行實時影像、聲音等資料交換的技術。應該大部分的網路電話都是用這個。目前是 Google 在維護的 Open Source,所以誰都可以免費用。
我們的 App 裡有三個地方實際用到 WebRTC
WebRTC 實際上是建立ㄧ對一連結的,所以五人通話,實質上是 5x4/2=10 個連結。一對二十人直播,就是二十個連結。
WebRTC 是幫忙建立 P2P連結 的工具,要開始用之前,要自己準備 STUN Server 跟 TURN Server。具體要做的事簡單說明如下:
上一段的步驟裡,如果在第二步成功的話,我們幾乎沒什麼成本。但如果要用到 TURN Server ,就是實際主要會發生費用的地方,用越多花越多。
但是總不能因為這樣就不給這種用戶用,人家只會覺得我們有bug而已。所以如果要用的人,可能要自己評估能不能回本。
最新文章會分享在臉書:https://www.facebook.com/gigi.wuwu/
歡迎留言討論