[Kinesis Video Streams] WebRTC 準拠のブラウザからの取り込みと保存が出来るようになりました(プレビュー版)

2023.01.21

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

1 はじめに

CX 事業本部のデリバリー部の平内(SIN)です。

Amazon Kinesis Video Streams(メディア形式で収集)では、ビデオ・オーディオの保存、リアルタイム及びオンデマンドの再生、また、分析処理を行うことが可能ですが、これまで、メディアの取り込みのためには、Amazon Kinesis Video Streams Producer SDK 等による専用のプロデューサーを準備する必要がありました。

しかし、今回、同じく Amazon Kinesis Video Streams で提供されている WebRTC で作成したチェンネルのストリーミングを、そのまま、取り込めるようになりました。

https://aws.amazon.com/jp/about-aws/whats-new/2022/12/amazon-kinesis-video-streams-ingestion-storage-webrtc-preview/

という事で早速、入門ガイドの手順を試してみました。

なお、現在、プレビュー版という事で、以下の制約があるとのことです。

  • リージョン: オレゴン(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(メディア形式で収集)は、非常に強力なオンデマンドサービスですが、データの取り込みがやや難しくて、少し制約を感じていたところでしたが、今回の拡張で、一気に超手軽になったと感じています。