[Kinesis Video Streams] WebRTC 準拠のブラウザからの取り込みと保存が出来るようになりました(プレビュー版)
1 はじめに
CX 事業本部のデリバリー部の平内(SIN)です。
Amazon Kinesis Video Streams(メディア形式で収集)では、ビデオ・オーディオの保存、リアルタイム及びオンデマンドの再生、また、分析処理を行うことが可能ですが、これまで、メディアの取り込みのためには、Amazon Kinesis Video Streams Producer SDK 等による専用のプロデューサーを準備する必要がありました。
しかし、今回、同じく Amazon Kinesis Video Streams で提供されている WebRTC で作成したチェンネルのストリーミングを、そのまま、取り込めるようになりました。
という事で早速、入門ガイドの手順を試してみました。
なお、現在、プレビュー版という事で、以下の制約があるとのことです。
- リージョン: オレゴン(us-west-2)のみ
- セッション時間: 最長 5 分
- シグナリングチャネル: ストレージ構成が有効なアカウントごとに最大 10 個まで
- ブラウザで取り込み: Chrome のみ
2 シグナリングチャンネル作成
最初に、WebRTC のシグナリングチャンネルを作成します。 チャンネル名は、test-2022-01-21としました。
これだけの操作で、WebRTC のシグナリングチャンネルの準備は完了です。ブラウザ用の WebRTC クライアント(KVS WebRTC Test Page)を使用して接続することができます。
3 ビデオストリームの作成
続いて、ビデオストリーム(メディア形式で収集)を作成します。ストリームの名前は、test-streams-2022-01-21としました。デフォルトで保存期間 1 日で作成されます。
4 メディア取り込みとストレージ構成
作成した、WebRTC のチャンネルと、ビデオストリームを関連付ける作業です。
こちらの作業は、現在、AWS CLI でしかできないようです。
% aws kinesisvideo update-media-storage-configuration \ --channel-arn <your-arn> \ --media-storage-configuration \ StreamARN="<your-stream-arn>",Status="ENABLED" \ --region us-west-2
注:AWS CLI のバージョンが古いと、対応していないかも知れません。今回使用したものは、2.9.17 となっていました。
% aws --version aws-cli/2.9.17 Python/3.9.11 Darwin/21.6.0 exe/x86_64 prompt/off
コマンドでは、チャンネルとビデオストリームの ARN を指定する必要がありますが、それぞれコンソールで確認可能です。
5 動作確認
WebRTC クライアント(Chrome)で、Master を起動している様子です。
そして、こちらは、Kinesis Video Streams のメディア再生で、取り込まれはストリームを再生している状況です。ここで確認できているものは、Kinesis Video Streams に保存されているものです。 ライブ表示では、-20.2 秒となってました。
6 削除
WebRTC のチャンネルと、ビデオストリームが関連付けれている状態では、チャンネルもビデオストリームも削除ができません。
関連づけを削除するには、下記のコマンドを使用します。
aws kinesisvideo update-media-storage-configuration \ --channel-arn <your-arn> \ --media-storage-configuration \ StreamARN="<your-stream-arn>",Status="DISABLED" \ --region us-west-2
7 最後に
今回、新しく追加された機能である、WebRTC からの取り込みを試してみました。
Kinesis Video Streams(メディア形式で収集)は、非常に強力なオンデマンドサービスですが、データの取り込みがやや難しくて、少し制約を感じていたところでしたが、今回の拡張で、一気に超手軽になったと感じています。