Kinesis Video StreamsのWebRTCでブラウザ間ビデオ通話を試す
WebRTCはシグナリングサーバー建てたりの環境構築と理解のハードルがきついのが個人的にネックだったので、そこをマネージドサービスでクライアントだけを考えればいいのは助かります。
クライアント用のライブラリも公式で用意されています。
シグナリングチャネルの作成
マネコンから作るだけです。クライアントから接続してみる
JavaScriptのSDKをローカルにcloneします。/examples/index.htmlの188行目を変更します。
<!-- <script src="../kvs-webrtc.js"></script> -->
<script src="https://unpkg.com/amazon-kinesis-video-streams-webrtc/dist/kvs-webrtc.min.js"></script>
リージョン、Kinesis Video Streamsの権限を与えたIAMのクレデンシャル、シグナリングチャネル名を入力し、マスターとビューアーそれぞれを開始すれば通信ができます。
Webサイトにホストしてスマホなどでアクセスしてもビデオ、音声通信が試せます。
このページはGithub Pagesにもホストされてるので取り急ぎローカルに落とさなくても試すことができます。
https://awslabs.github.io/amazon-kinesis-video-streams-webrtc-sdk-js/examples/index.html
実際にサービスに組み込もうと思った時の認証情報の扱いですが、最低限のインラインポリシーを与えたIAMユーザーの一時クレデンシャルをSTSを使って発行するようなやり方にすれば、比較的安全なのかなと思いました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "kvsViewerPolicy",
"Action": [
"kinesisvideo:ConnectAsViewer",
"kinesisvideo:ConnectAsMaster",
"kinesisvideo:DescribeSignalingChannel",
"kinesisvideo:GetIceServerConfig",
"kinesisvideo:GetSignalingChannelEndpoint"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
ディスカッション
コメント一覧
まだ、コメントがありません