KVS WebRTC

#aws #kvs #webrtc

本篇文章的目標

這篇文章想要用精簡的方式描述如何成功使用 KVS WebRTC 建立 WebRTC 連線
方便自己日後複習,也讓想使用這服務的人在閱讀官方文件前先建立基本觀念

建議繼續看下去之前,先閱讀《NAT 穿透是如何工作的:技术原理及企业级实践》的 1 ~ 6 章,以及 7.8 章



KVS WebRTC 提供什麼、解決了什麼



事前設定



連線流程介紹

建立 Signaling Channel

Signaling Channel 有角色區別,分為 Master、Viewer
每個頻道只能有一個 Master,但能有十個 Viewer
比如我們有一個監視器,監視器適合當 Master,並讓最多 10 個 Viewer(客戶端)連進去交換連線資訊

因此有幾個監視器,就要建立幾個 Signaling channel

建立完成後,每個 Signaling channel 有名稱、ARN、Tag 等資訊供後續使用



連線到 Signaling Channel

Master、Viewer 要各自完成的步驟:

  1. 用各種方式取得臨時金鑰

  1. 用 SDK 執行 GetSignalingChannelEndpoint() 取得後續 API 要用的 Endpoint,會取得 HTTPS、WSS 兩種

  2. 用 SDK 執行 GetIceServerConfig() 取得 Ice server 資訊

  3. 用 SDK 連線到第二步取得的 WSS Endpoint



在兩個客戶端間建立連線

承上,Master、Viewer 各自對 WSS Endpoint 建立 WebSocket 連線,並大致按照下列順序交換連線資訊,並嘗試連線



參考