はじめに
WebRTCを実際にサービスで使おうとすると、シグナリングやNAT越え、さらにiOS対応や複数人での通話の負荷など、考えなければならないことが多々出てきます。それを解決するプラットフォームやサービスとして、例えば次のようなものがあります。
この中で最も利用事例が多い有償サービスであるopentokについて、今更ながら調べてみました。今回は基礎編として、公開情報から基本的な内容をまとめます。
対応しているクライアント環境
- Windows/Macの Chrome, Firefox
- WindowsのIEはプラグインを提供
- AndroidのChrome, Firefox
- iOSネイティブ向けSDK (iOS 6~)、iPhone4S~、iPad 2~
- Androidネイティブ向けSDK (Android 4.0~)、Galaxy/Nexusなど
MacのSafari用のプラグインは出していないようです。
ストリームの接続方法
出典:What is the difference between a Routed vs Relayed Session?
大きく分けると2つ、細かく分けると3つの接続方法があります。
-
- Relayed モード
- 1-1 直接(P2P)通信する (STUN利用含む)
- 1-2 TURNサーバー経由で通信する
-
- Routed モード
- OpenTok Media Servers (SFU)を利用。上りの通信を1本化できる。有償で録画できる
- 反面、Relayedモードよりは若干レイテンシイがある
SFUについては、こちらの資料の27ページをご覧ください。
スマートフォンでのWebRTC活用
通話時間と料金の考え方
出典:How do I estimate my OpenTok monthly usage?
料金の基本は、1通信経路(片道)で、約0.5セント / 分 になります。
- 1→1の片方向配信なら、30分話す(聞く)と、30分の通話時間... $0.15
- 1対1の双方向通話で 30分話すと、 両方向で 30×2 = 60分の通話時間とみなす... $0.3
- 4人の会議なら、4C2の組み合わせ×双方向で、 4×3/2 × 2 = 12倍。
- 30分の会議なら 360分の通話とみなす ... $1.8
- 1→4人の片方向配信なら、30分で 30×4 = 120分 ... $0.6
※実際には、たくさん使えばボリュームディスカウントがあります。最大20%割引きのようです。
通信条件
出典:OpenTok Network Connectivity Requirements
- 最低限、80/TCP, 443/TCPが通ること
- もし 3478/UDP が通ればベター (TURNポート)
- ベストは、 1025 - 65535/UDPが通ること (P2Pで直接通信できる)
- 通信帯域は、最低限 上り 350kbps, 下りも最低限 350kpbs が必要。
通信相手の数
出典:How many people can OpenTok on WebRTC video sessions support?
ネットワーク状況が許せば、次の規模で通信できるようです。
- 20人まで同じ部屋(セッション)に参加できる
- typically OpenTok 2.0 powered sessions can have up to 20 participants in a multiparty session.
- 映像配信型なら、3人の話者の会議を、150人が見ることができる
- If you are doing a live broadcast, then up to 150 participants can watch 3 publishers.
支払方法
出典:Can I pay by invoice instead of by credit card?
月100ドルを越える場合は、請求書発行してもらえるようです。ただし海外(日本)の場合は不明...
次回は
通信料金の考え方にについて、もう少し掘り下げてみる予定です。