Proxy 接続設定を行うことで、外部ネットワークへの通信に Proxy 経由が必須である環境においても、 ライブストリーミング関連の通信全体(WebSocket 接続及び、WebRTC トランスポートプロトコル)を Proxy 経由にすることができ、Live Streaming API が利用できます。
Web SDK を使用する場合は、Web ブラウザの機能で Proxy 経由の接続を行うことができるため、そちらをご利用ください。 その他の SDK を使用する場合は、 後述する Proxy 接続設定 API を使用することで、 Proxy 経由の接続を行うことができます。
※ Proxy 接続設定 API は現在 Android SDK および Windows SDK のみ対応
Proxy 接続設定は connect()
メソッドの Option
指定で行います。
option.proxy
として ProxyOption
を設定することで Proxy 設定を行うことができます。
url は以下の形式の文字列です
http://<username>:<password>@<proxyhost>:<proxyport>/
option.proxy
の設定は、Android SDK では Option.Builder
の proxy()
メソッドで行えます。
また、Proxy 接続は iceServers に使用する TURN Protocol が TCP/TLS の際に適用されるため、option.iceServersProtocol
の設定により UDP 通信が発生しないようにすることで、proxy 経由を必須とすることができます。
val option = Option.Builder()
.sending(SendingOption(true))
.receiving(ReceivingOption(true))
.iceServersProtocol(IceServersProtocol.TLS)
.proxy("http://user:pass@proxyhost:3128/")
.build()
client.connect(clientID, accessToken, option)
THETA で Proxy を利用する場合、「Proxy 接続設定 (Android)」の設定に加えて、THETA 本体への設定が必要となります。
設定は THETA Web API v2.1 を用いて行います。
無線 LAN を使用する場合と 有線 LAN を使用する場合とで設定コマンドが異なります。
camera._setAccessPoint コマンドで_proxy を設定する
camera.setOptions コマンドで_proxy を設定する
プラグインで THETA Web API v2.1 を使用すれば、Live Streaming API の Proxy 設定に使用する値を THETA 本体から取得することができます。
※ ただしセキュリティ保護の観点から password は Web API では取得できないため、別途プラグインに受け渡しておく必要があります。