Amazon Web Services ブログ
Amazon Kinesis Video Streams WebRTC ハンズオンを公開 – カメラデバイスとの低遅延の双方向メディアストリーミングの方法を学べます
こんにちは、IoT スペシャリストソリューションアーキテクトの三平です。この記事では、Amazon Kinesis Video Streams WebRTC ハンズオンをご紹介します。
Amazon Kinesis Video Streams は、分析、機械学習 (ML)、再生、およびその他の処理のために、コネクテッドデバイスから AWS へ動画を簡単かつ安全にストリーミングできるマネージドサービスです。また、WebRTC を使用した超低レイテンシーの双方向メディアストリーミングもサポートしています。数百万のデバイスからの動画の取り込みや保存、WebRTC の通信を行うためのクラウドインフラストラクチャを、自動的にプロビジョンして、伸縮自在にスケールします。
このハンズオンでは Amazon Kinesis Video Streams で WebRTC を用いてカメラデバイスとブラウザ間でメディアストリーミングを行う方法や、AWS IoT の Credentials Provider を用いてデバイスの認証と Amazon Kinesis Video Streams WebRTC へのアクセスを行う方法を、実際に手を動かしながら1〜2時間で学ぶことができます。
ハンズオンの構成
このハンズオンで作成する構成は以下の図のようになっています。
AWS Cloud9 もしくは Raspberry Pi をカメラデバイスと見立て、Amazon Kinesis Video Streams WebRTC SDK C のサンプルアプリケーションをビルドします。そして、ブラウザからAWS のマネジメントコンソールや Amazon Kinesis Video Streams WebRTC SDK JavaScript を利用してカメラデバイスのサンプルアプリケーションに接続し、WebRTC のメディアセッションでカメラ映像もしくはサンプル映像をストリーミング再生したり、データチャネルを利用してカメラデバイスへメッセージを送信したりします。また、カメラデバイスの認証を AWS IoT Core で発行したクライアント証明書を用いて行い、AWS IoT の Credentials Provider を用いて Amazon Kinesis Video Streams へのアクセスを行う方法についても学びます。WebRTC による接続がうまくいかない場合などのトラブルシューティング方法も掲載しております。
ハンズオンから実ユースケースへの応用
このハンズオンで学んだ内容を応用することで、例えば以下のようなユースケースを実現することができます。
- ペットカメラの映像をブラウザからリアルタイムに視聴する
- インターホンの映像をスマートフォンアプリから視聴しながら声で応答する
- 監視カメラの映像をウェブアプリで確認しながらカメラの画角制御を行う
- ロボットやドローンのカメラ映像をリアルタイムに確認しながら遠隔制御する
また、以前より提供している Amazon Kinesis Video Streams ハンズオンでは、カメラデバイスからクラウドへ映像を収集・保存する方法や、機械学習サービスを利用して映像を分析する方法について紹介しています。ユースケースに応じてこちらのハンズオンもあわせてご利用ください。
さいごに
この記事では、Amazon Kinesis Video Streams WebRTC ハンズオンの構成や応用例についてご紹介しました。是非ハンズオンで Amazon Kinesis Video Streams WebRTC の機能や SDK の利用方法について理解を深めていただければと思います。また、ハンズオン内容に関するフィードバックや修正依頼がある場合は GitHub リポジトリへ Issue としてご報告いただけますと幸いです。
本ハンズオンでは扱っていませんが、Amazon Kinesis Video Streams WebRTC では C 言語や JavaScript の SDK の他に、Android や iOS 向けの SDK も提供しております。モバイルアプリをご検討されている方はこちらの Developer Guide もご参照ください。
著者について
三平 悠磨
ソフトウェアエンジニアとして会話AIやロボット開発を経験しました。AWS では IoT スペシャリストソリューションアーキテクトとして、お客様の IoT 関連案件を支援しています。