この記事の目次
AWSに流れてくる動画データを使った双方向のアプリケーションを構築するWebRTCとは?
AWS(Amazon Web Service)は、アマゾンの代表的クラウドサービスです。
AWSクラウドでは、膨大なテキストファイル、システムログファイルや動画データなどが飛び交い、ユーザーそれぞれのリクエストによって、必要なデータをピックアップし、分析することによってアウトプットが得られています。
ユーザーの拠点から離れた場所で繰り広げられている日々の事象について、リアルタイムにデータ分析して対応する必要がある場合に、ユーザーの強い味方となってくれるのがWebRTC(Web Real-Time Communication)です。
これから、AWSに流れてくるデータを取り込む仕組みと、こうしたデータを使った低レイテンシーで双方向のリアルタイムアプリケーションを構築する、WebRTCについてご紹介します。
AWSの膨大なデータを取得するAmazon Kinesis Video Streamsとは?
AWSにはさまざまなデータが流れ込み、ユーザーのリクエストも多岐に亘ります。
Amazon Kinesis Video Streamsは、AWSと接続されたデバイスから、さまざまなデータのうち、動画を簡単かつ安全にストリーミングし、再生、分析および機械学習などの処理プロセスにつなぎます。
これから、画像のストリーミングがなぜ必要なのか、Kinesis Video Streamsを起点として深層学習機能を使った分析をするAmazon Rekognitionを例にお話ししたあと、Amazon Kinesis Video Streamsについてご紹介します。
Amazon Rekognition:画像のストリーミングがなぜ必要なのか?
Amazon Rekognitionは、膨大な動画データを蓄積し、ユーザーのリクエストに応じて、抽出した情報を元に深層学習機能を使った分析をするものです。
Amazon Rekognitionでは、AWS S3やAmazon Kinesis Video Streamsから動画データが得られたという情報をAmazon Lambdaにトリガーすることで、決められたアクションにつなげることができます。
こうしたアクションの目的と、それぞれの目的を果たすための対象を設定することにより、例えば、機械の動作状況から作動不良を検出したり、農産物の生育状態から日々の水やりや施肥の条件を変えたり、不適切なコンテンツを含む動画を検出することが可能になります。
動画データの量が多いだけ、種類が増えるだけ、設定される目的も広がりを見せ、改善指示もスケールアップされてくるでしょう。
Amazon Kinesis Video Streamsの仕組みは?
Amazon Kinesis Video Streamsは、AWSと接続されたカメラデバイスからストリーミングした画像を、リアルタイムに機械学習などの処理プロセスにつなぎます。
ここから、Amazon Kinesis Video Streamsの仕組みについてお話ししていきます。
Amazon Kinesis Video Streamsへの入力はどのように行われるのか?
AWSと接続されたカメラデバイスから得られた動画は、Amazon Kinesis Video Streams SDK(Software Development Kits)を使って、AWSにストリーミングされます。
これは、Amazon Kinesis Video Streamsを介して、ユーザーリクエストに応じた出力のために必要なプロセスです。
Amazon Kinesis Video Streamsの役割は?
Amazon Kinesis Video Streamsの重要な役割は、動画を取り込み、安全に保存して、暗号化したり、効率的に処理するためのインデックスを作成することです。
こうしたデータは、Kinesis Video StreamsのAPI(Application Programming Interface)を経て、リアルタイムに再生・分析するプロセスや、機械学習のプロセスに送られます。
Amazon Kinesis Video Streamsのメリットは?
Amazon Kinesis Video Streamsの大きなメリットは、動画取り込みのための多彩なデバイスに対するスケーリングの柔軟性と、高度なセキュリティです。
動画取り込みのためのデバイスは、スマートフォン、セキュリティカメラ、ドローン、衛星、車載カメラなど規模が多彩ですが、ストリーミングデータを取り込むために必要なインフラストラクチャを、自動的にプロビジョンして、伸縮自在にスケーリングします。
高度なセキュリティは、ストリーミングへのアクセスをIAM(Identity and Access Management)、データの保護をKMS(Key Management System)および転送データの暗号化をTLS(Transport Layer Security)プロトコルが担います。
また、インフラストラクチャ管理の自動化により、アプリケーション構築環境が提供されます。
Kinesis Video Streams がサポートするWebRTCとは?
Kinesis Video Streamsがサポートするオープンソースプロジェクトの WebRTCは、データ取得デバイスとユーザーのアプリケーション同士を仲介し、レイテンシーがほとんどない使用感でリアルタイムの双方向通信を実現します。
すなわち、WebRTCによって、リアルタイムかつ双方向に低レイテンシーの通信アプリケーションを構築できるのです。
これから、WebRTCの仕組みとメリットをお話しし、具体的なユースケースについてご紹介します。
WebRTCの仕組みは?
WebRTCが、双方向のリアルタイムメディアストリーミングを実現させるということは、INPUTとしてのデバイスSDKとOUTPUTとしてのアプリケーションSDKが両極にあり、両者を仲介するシグナリングチャネルと双方向メディアストリーミングがグルグルと回っているイメージです。
すなわち、デバイスSDKとシグナリングチャネルとのやり取りの情報を、双方向メディアストリーミングを経由して、アプリケーションSDKとのやり取りに反映させるサイクルを回すということです。
WebRTCのメリットは?
WebRTCのメリットとして、シンプルなAPIの元で運用されること、超低レイテンシーのピアツーピア接続によりデータが共有できること、アプリケーションとデバイス間の双方向通信が実現できるアプリケーションを構築できることを挙げておきます。
特に、WebRTCでのAPIは、すべての通信が標準化された暗号プロトコルによって安全に暗号化されるという、シンプルなものとなっています。
また、WebRTCは完全マネージド型のため、ユーザーはWebRTCに関わるクラウドインフラストラクチャの構築・運用・拡張の操作をする必要はありません。
WebRTCの具体的なユースケース
WebRTCは、ユーザーの拠点から離れた場所で繰り広げられている日々の事象について、リアルタイムにデータ分析して対応しなければならない場面で、その威力を発揮します。
例えば、インテリジェント家電からの情報、インターフォンに写る訪問者、ペットカメラからの情報などをモニタリングした結果によって、機械学習などで導かれる適切な改善指示を、遠隔操作で実現するイメージです。
WebRTCはAWSに流れてくる動画データを使って双方向アプリケーションを構築します!
AWSクラウドには、日々さまざまな情報が流れ込んできます。
それらの情報のひとつである動画を取り込むために、インターフォンや防犯カメラ、ペットカメラなどの監視カメラ、インテリジェント家電、ドローンなどのデバイスが開発されています。
デバイスから流れてくる動画は、Amazon Kinesis Video Streamsで目的に沿ったインデックスが付けられ、WebRTCを介して機械学習によって適切に指示された改善指示を実現するアプリケーションが構築されます。
IoTと人工知能の融合が現実となってきている時代に、膨大な動画から双方向のアプリケーションを構築できるWebRTCの価値は、ますます高まってくるでしょう。
この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞
最新の投稿
- 2023年12月6日キャリア・転職システムエンジニアへのキャリアチェンジで必要な資格は?
- 2023年12月6日キャリア・転職キャリアチェンジでエージェントを活用するメリット
- 2023年12月6日キャリア・転職プログラマーへのキャリアチェンジに必要な資格は?
- 2023年12月6日キャリア・転職サーバーエンジニアへのキャリアチェンジで必要な資格は?