IoT分野で役立つAmazon Kinesis Video Streams
Amazon Kinesis Video Streamsとは
Amazon Kinesis Video Streamsは、デバイスからAWSクラウドへのビデオのライブストリーミングに使用したり、リアルタイムのビデオ処理やバッチ指向のビデオ分析のためのアプリケーションを構築できるフルマネージドのAWS のサービスです。このサービスは、スマートホーム、スマートシティ、産業でのオートメーション、セキュリティモニタリングに関わるアプリケーションの構築に活用することができます。
Amazon Kinesis Video Streamsの利点
数百万のデバイスから動画をストリーミング
Amazon Kinesis Video Streamsに用意されているSDK(JavaおよびC++)を使用すると、デバイスのメディアソースをAWSに安全にストリーミングして再生、保存、分析、機械学習、その他の処理を行うことができます。
Amazon Kinesis Video Streamsでは、次のデバイスやデータソースからデータを取り込むことができます。
エッジデバイス、スマートフォン、セキュリティカメラ、レーダー、LiDAR、ドローン、衛星、車載カメラ、深度センサー
SDKはGStreamerプラグインとしても利用可能で、カスタムメディアデータフローの構築ができます。
リアルタイムのビジョンやビデオを使用したアプリケーションを構築
こちらのアプリケーションを構築するためには、以下のものと統合します。
- Amazon Rekognition Video
- 一般的なオープンソースの機械学習フレームワークを使用したリアルタイムの動画分析機能
上記と統合することで、リアルタイムのコンピュータビジョン機能を備えたアプリケーションを容易に構築することができます。
例:ストリーミング動画の顔を自動的に検出して識別する
ライブおよび録画したビデオストリームを再生
Amazon Kinesis Video StreamsのHTTP Live Streaming(HLS)機能を使用すると、ライブ動画や録画したメディアを、Amazon Kinesis Video Streamsから使用しているブラウザやモバイルアプリケーションに簡単にストリーミングできます。
リアルタイムの双方向メディアストリーミングが可能なアプリケーションを構築
Amazon Kinesis Video Streamsでは、オープンソースプロジェクトWebRTCをサポートしています。これにより、
- リアルタイムの双方向メディアストリーミング
- ウェブブラウザ間のメディアストリーミング
- モバイルアプリケーション
- コネクテッドデバイス
を実現できます。
WebRTCのサポートによって、シンプルなAPIを使用して、以下のリッチなアプリケーションを構築することができます。
- ビデオチャット
- 低レイテンシのP2Pのデータ共有
- アプリケーションとコネクテッドデバイス間の双方向通信
Amazon Kinesis Video Streamsには、以下のものが含まれています。
TURNのマネージド型エンドポイント
アプリケーションがP2Pメディアをストリーミングできない場合に、クラウドを介したメディアリレーが可能です。
STUNのマネージド型エンドポイント
アプリケーションがNATやファイアウォールの背後にあるときには、パブリックIPアドレスの検出が可能です。
セキュア
Amazon Kinesis Video Streamsでは、AWS IAMを使用してストリームへのアクセスをコントロールできます。例えば、
特定のユーザーとグループのみが、動画ストリームへのデータ入力、動画ストリームからのデータ取得など、特定のアクションを実行できるようにポリシーを作成する
といったことが可能です。
またデータ保護のため、自動的に暗号化されます。
- 保管中のデータ:AWS KMSにより暗号化されます
- 転送中のデータ:TLSプロトコルにより暗号化されます
AWS KMSによる暗号化は、データがAmazon Kinesis Video Streamsストレージに書き込まれる前に行われ、ストレージから取得された後に復号されます。その結果、ストリーム内の保存中のデータは常に暗号化された状態となります。
検索可能で耐久性の高いストレージ
Amazon Kinesis Video Streamsのデータストアには、Amazon S3が使用され、保存されたデータの耐久性と信頼性が確保されます。ストリームごとに保存期間を設定および制御できるため、ストリーム内のデータを一定期間、または無期限に、コスト効率の高い方法で保存することができます。ストリームの保存期間は、いつでも変更できます。
Amazon Kinesis Video Streamsでは、動画ストリームに保存したデータが、デバイスによって生成されたタイムスタンプ、または、動画を受信した際にAmazon Kinesis Video Streamsによって生成されたタイムスタンプに基づいて、自動的にインデックス化されます。再生、分析などの処理のための特定の動画フラグメントを簡単に検索して取得できます。
インフラストラクチャの管理は不要
Amazon Kinesis Video Streamsが、すべてのインフラストラクチャを管理します。そのため、ストリーム数や利用アプリケーション数の増加に伴う、
インフラストラクチャ設定、ソフトウェア更新、障害、拡張
を心配する必要はありません。Amazon Kinesis Video Streamsでは、自動的にプロビジョニングが実行されて数百万のデバイスに伸縮自在にスケールされ、動画を転送していないときはスケールダウンされます。この際、サーバーフリートをプロビジョンする必要はありません。
ストリームの管理に必要なすべての管理やメンテナンスは、Amazon Kinesis Video Streamsによって処理されるため、ユーザーはアプリケーション構築に注力できます。
Amazon Kinesis Video Streamsの特徴
ここでは、前述の利点で挙げたもの以外について示します。
従量課金制
Amazon Kinesis Video Streamsでは、サービスを通して取り込み、保存、使用したデータ量に対してのみ料金が発生します。前払いや最低料金はなく、アイドル状態の動画ストリームに対して心配する必要がありません。
動画ストリームのパーサーライブラリ
Amazon Kinesis Video Streamsでは、アプリケーション内で使用できるストリームのパーサーライブラリが利用できます。そのため、
- フレームレベルのオブジェクトの簡単な切り出し
- フラグメントにアタッチされたメタデータの抽出および収集
- 連続したフラグメントの結合
などが可能です。これにより、Apache MxNet、TensorFloq、OpenCVなどの一般的な機械学習フレームワークを簡単に統合できます。
タイム・エンコードデータ
タイム・エンコードデータは、時系列で記録され、各記録が前後の記録と関連しているあらゆるデータです。例を以下に示します。
動画、オーディオ信号、レーダー信号、LiDAR信号など
Amazon Kinesis Video Streamsは、分析と機械学習のユースケースに向けて、あらゆるタイム・エンコードデータをコスト効率良く効率的に取り込み、ストレージできるように設計されています。
ユースケース
スマートホーム
Amazon Kinesis Video Streamsを使用すると、
ドアベル、ベビーモニター、ウェブカメラ、防犯システム
などのカメラを搭載した家庭用機器からのビデオやオーディオを、ライブでAWSへ簡単にストリーミングすることができます。その後、ストリームを使用すると、シンプルな動画再生だけでなく、次のようなスマートホームアプリケーションを構築することができます。
- インテリジェント照明
- 温度制御システム
- セキュリティモニタリング
また、WebRTC機能を使用すると、玄関口の訪問者との会話や電気掃除機の携帯電話による遠隔操作などのユースケースに利用できます。
スマートシティ
公共施設に設置されている多数のカメラによって24時間撮影される動画について、Amazon Kinesis Video Streamsを使用すると、撮影された膨大な量の動画データを取り込み、保存、分析を安全かつコスト効率に優れた方法で実行できます。これは、交通問題の解決、犯罪防止、緊急事態への対応人員派遣などさまざまな用途に活用することができます。
工業オートメーション
Amazon Kinesis Video Streamsを使用して、レーダーやLiDARの信号、温度プロファイル、工業用規格からの深度データなどのタイム・エンコードデータを収集します。その後、Apache MxNet、TensorFlow、OpenCVなど好みの機械学習フレームワークによってデータを分析し、予知保全などの工業オートメーション分野で活用することができます。
(活用例)
ガスケットやバルブの寿命を予測し、部品交換を事前にスケジュールして、製造ラインのダウンタイムや不具合を減少させる
まとめ
本記事では、Amazon Kinesis Video Streamsの利点や特徴、ユースケースについて解説しました。こちらのサービスは、IoT関連技術と組み合わせることで、ビジネスに有意義な規模と料金で強力なソリューションを得ることができます。