ナカの人に聞いてみた ~

Amazon Kinesis Video Streams で監視カメラシステムを構築しよう!

2023-03-02
How to be a Developer

米倉 裕基, 三平 悠磨

builders.flash 読者の皆様こんにちは。テクニカルライターの米倉 裕基と申します。

ナカの人に聞いてみた」と題した本シリーズは、実際に AWS で働くソリューションアーキテクトの皆さんに、各種 AWS サービスの機能や利点を聞いてみようというインタビュー形式の記事になります。

第二回のゲストは、IoT スペシャリスト ソリューションアーキテクト として活躍されている三平 悠磨 (みひら ゆうま) さんです。
本記事では、AWS が提供する IoT やカメラデバイス向けのメディアストリーミングサービス「Amazon Kinesis Video Streams」の魅力や機能についてインタビュー形式で語っていただきます。

本シリーズのその他の記事はこちら

選択
  • 選択
  • AWS の位置情報サービスでリッチなマップを実装しよう !
  • Amazon Kinesis Video Streams で監視カメラシステムを構築しよう!
  • Amazon CodeCatalyst で開発環境の構築とチームコラボレーションを加速しよう!
  • エンタープライズ検索サービス Amazon Kendra で知りたい情報をすぐに検索 !
  • クラウドコンタクトセンターを簡単セットアップ !

米倉 裕基

こんにちは、三平さん。
この度は、第二回「ナカの人に聞いてみた」のゲストとしてインタビューをお引き受けいただきありがとうございます。

三平 悠磨

こんにちは、米倉さん。
本日はどうぞよろしくお願いいたします。

米倉 裕基

よろしくお願いいたします。
早速ですが、インタビューを始める前に、読者のみなさまに自己紹介をお願いできますでしょうか。

三平 悠磨

2019 年に IoT スペシャリストソリューションアーキテクトとして AWS に入社した三平 悠磨 (みひら ゆうま) です。

前職では、家庭用ロボットのスタートアップでソフトウェアエンジニアとして勤務していました。AWS では、これまでの経験を活かして、スマートプロダクトやロボティクス領域のお客様に技術支援を行っています。
自宅のスマート化やガジェットが大好きで、さまざまな IoT 機器を活用して生活をどんどん便利にしたいと思っています。ちょうどいい製品やサービスが見つからなかったら、自分で作ってしまうこともあります。
その他の趣味としては、音楽が好きで、コロナ禍になってからはあまりできていませんが、曲を作ったり、バンドでキーボードを弾いたりもしています。

読者のみなさん、本日はよろしくお願いいたします。

米倉 裕基

自己紹介ありがとうございます。

す、すごい...。
DIY 感覚で IoT サービスを 自作されてしまうわけですね!
IoT 技術に精通されている三平さんだからこそ実現できるご趣味ですね。

以前から IoT 領域で活躍していらっしゃる三平さんだからこそ気づく、AWS ならではの魅力などがあればお教えいただけますでしょうか?

三平 悠磨

そうですねえ。
AWS の魅力は、なによりも「人」だと思います。
チームや役職に関係なく、みんな前向きで協力的なので、新しいチャレンジや他チームを巻き込んだ活動も進めやすいです。

私はグローバルチームに所属しているので、他の地域や国にいる同じロールのメンバーと情報交換をしたり、協力し合ってお仕事をするのがとても楽しいです。

米倉 裕基

さまざまなバックグラウンドを持つメンバーと一緒になってお仕事できるのも、AWS のようなグローバル企業で働く大きな魅力の一つですよね。

個人的なことで恐縮ですが、実は私自身も AWS 入社前に三平さんが共同執筆された IoT 関連の技術書を拝読していたので、こうしてお話しする機会を得られて大変光栄に思っています。

ところで、三平さんは IoT スペシャリストとして幅広く技術支援を行っていらっしゃると思いますが、具体的に日々のタスクはどのようなものになりますでしょうか?

三平 悠磨

IoT スペシャリストとして、みなさまが AWS の IoT 向けサービスを、スピーディかつ簡単に使っていただけるようにするためのお手伝いをしています。
具体的には、お客様と一緒により良いアーキテクチャを考えたり、ブログ記事やハンズオンを作成したりって感じですね。

そうそう。ハンズオン記事といえば、これまで builders.flash に「Raspberry Pi を使って簡単に作れるカメラのハンズオン記事」を 3 本寄稿していますよ。
これらの記事は、私の趣味である「あったらいいな」というIoTサービスを自作していた延長で書いたものでもあります。

アプリを爆速で開発 ! AWS Amplify Studio で出来ること。

Raspberry Pi で簡単おうちセキュリティカメラを作ってみた

米倉 裕基

私も読ませていただきました!
IoT 技術の勉強って、私のようなビギナーにとって、何から手をつけていいのかわからないものですよね。

三平さんのハンズオン記事は、ラズパイと USB カメラさえあれば、顔検出機能付きのセキュリティカメラを簡単に作れるので、IoT 技術の入門編として最適だと思いました。


Amazon Kinesis Video Streams とは?

米倉 裕基

それでは、早速本題に入らせていただきます。
まずざっくりお聞きしたいのですが、本インタビューのテーマである「Amazon Kinesis Video Streams」とはどういったサービスなのでしょう?

詳細な機能や特徴をお聞きする前に、サービスの概要や何ができるものなのか教えていただけますでしょうか。

三平 悠磨

はい。
Amazon Kinesis Video Streams (KVS) は、カメラやマイクを搭載したデバイスから動画や音声データをクラウドに収集し、再生や分析に活用できるフルマネージドなサービスです。

アプリを爆速で開発 ! AWS Amplify Studio で出来ること。

Amazon Kinesis Video Streams の製品ページ

米倉 裕基

街中にある監視カメラなどを考えると、今はどこに行ってもカメラに囲まれていますね。
そうしたさまざまなデバイスから取得した動画を活用するサービスということですか?

三平 悠磨

はい。
代表的なユースケースとしては、KVS をベースに、監視カメラの映像をクラウド上に保存し、遠隔地から視聴できる VSaaS サービスを構築できます。

米倉 裕基

早々にご説明を遮って申し訳ないのですが、VSaaS とはどのようなサービスのことでしょうか?
初耳でしたのでお教えいただけますでしょうか。

三平 悠磨

VSaaS とは、Video Surveillance as a Service の略で、監視カメラシステムのことを指します。
KVS を活用すれば、クラウド上に VSaaS を簡単に構築できるだけでなく、セキュアに動画データを保存したり、ストリーミング処理の負荷をスケールしたり、AWS が提供するさまざまなメリットを享受できるわけです。

米倉 裕基

監視カメラシステム」という領域は、今や XaaS の 1 つにカテゴライズされるくらいメジャーなんですね。

今は街中の監視カメラから大量のデータを取得できるわけですから、そういう大量の動画データを効率的に処理したり、機密情報を含む動画データを安全に管理するのには高度な技術が必要になりますよね。
その点、KVS はフルマネージドサービスなので、監視カメラシステムを構築する上で不可欠なサーバー管理を AWS に任せられるわけですね。

三平 悠磨

そうですね。
ちなみにビルや街中の監視カメラだけでなく、家庭用の見守りカメラや家電製品に搭載されたカメラ映像を、スマホアプリから視聴するシステムも同様に作れますよ。

最近では、家電や自動車、ロボットなどのデバイスでもカメラを搭載したものが増えていますよね。
このようなカメラ付きデバイスから収集した動画を分析することで、店舗の来客分析や、交通量調査、ホームセキュリティ、高齢者の見守りなどに活用できるんです。

店舗の来客分析のイメージ
(クリックすると拡大します)

米倉 裕基

なるほど!
カメラデバイスから動画データを収集、保存して、遠隔で視聴する以外にも、収集した動画データを分析することでさまざまな用途が考えられるわけですね。

三平 悠磨

はい。
それに KVS は、低遅延で双方向ストリーミングを実現する WebRTC という通信技術をサポートしているので、自宅のインターホンに対してスマホアプリから遠隔で通話をしたり、ロボットやドローン、車両などの映像を遠隔から視聴し制御する遠隔操作の仕組みを構築できます。

米倉 裕基

一方向で動画データを収集・配信するだけでなく、WebRTC を使った双方向通信でさまざまなデバイスを遠隔操作することもできるんですね。


Amazon Kinesis Video Streams を利用するメリットは?

米倉 裕基

まずは KVS の概要をお伺いしたわけですが、三平さんから見て KVS を使う主要なメリットを挙げるとしたらどういったものになりますでしょうか?

三平 悠磨

そうですねえ、もちろん色々ありますが...。
一つは、KVS の提供する高度な拡張性や安全性が挙げられるかなと思います。
通常、動画データのような機密性の高い大容量データを扱うインフラを構築する場合、スケーラビリティやセキュリティが課題になることが多くありますよね。

米倉 裕基

ただでさえ重い動画データを大量に収集して、さらに多数の端末に同時配信なんてしたらとんでもないトラフィックスパイクが起きそうな気がします。

それに、考えてみたら監視カメラや車載カメラで撮影された動画って機密情報がいっぱいですよね。
素人ながら、たまたま映った通行人の肖像権やプライバシーの問題などもありそうに思いました。

三平 悠磨

その点、KVS はフルマネージドなサービスなので、カメラの台数が 10 台、100 台、数万台、さらには百万台規模まで増えていった場合にも、インフラ管理不要で自動的にスケールできます。
それに、動画データのストリーミング時や保存時の暗号化もサポートされているので、サービス事業者はスケーラビリティやセキュリティの問題にとらわれず開発に専念することができるわけです。

米倉 裕基

スケールの仕組みを AWS に一任できるのは、運用面で大きなアドバンテージになりそうですね。
それに、暗号化などの仕組みで動画データの機密性を保護してくれるのは、個人情報を扱う企業にとって必須な要件になりそうです。

三平 悠磨

それにもう一つ、開発・運用のしやすさや、他の AWS サービスとの連携のしやすさも KVS を利用するメリットに挙げられると思います。

たとえば、KVS はカメラデバイス向け SDK を提供しているので、複雑な実装をしなくてもすぐに動画データの収集やストリーミングを開始することができます。
また、KVSAmazon Rekognition VideoAmazon SageMaker などの AI・ML サービスと連携できるため、動画分析の仕組みを簡単に構築できます。

KVS を使った動画データ活用
(クリックすると拡大します)

米倉 裕基

AWS が提供する他の機械学習サービスと連携しているから、KVS を中心に動画データの収集・管理・分析・配信までワンストップでできてしまうわけですね。


Amazon Kinesis Video Streams の SDK

米倉 裕基

カメラデバイス向けの SDK のお話が出ましたのでもう少し詳しくお聞きしたいのですが、具体的にどのような SDK が提供されているのでしょうか?

三平 悠磨

KVS では、Producer SDKWebRTC SDK という 2 種類の SDK を提供しています。
通常、Producer SDK はクラウドに動画データを収集する際に利用し、WebRTC SDK は低遅延な双方向ストリーミングを行う際に利用します。
用途に応じてこれら 2 つの SDK を活用して、KVS を中心にした監視カメラシステムを構築できます。

米倉 裕基

ふむふむ。
異なる機能が備わった 2 種類の SDK が提供されていて、目的に応じて使い分けるということですね。

三平 悠磨

そうです。
カメラデバイス向けの SDK は、CC++Java などの複数のプログラム言語で提供されていて、ユースケースに合わせて柔軟に選択できます。

カメラ映像をストリーミングするためのサンプルアプリケーションが SDK に含まれているので、まずはサンプルを使って簡単に実装を試せますよ。

米倉 裕基

サンプルも同梱されているなら、あまり難しく考えず、まずはサンプルを試してみて SDK の使い方を手を動かしながら習得するなんてこともできそうですね。

三平 悠磨

はい。
さらにこれら SDK に加えて、2022 年 12 月には「Edge Runtime Agent」というエッジデバイス向けのソフトウェアがプレビューリリースされました。
Edge Runtime Agent を使うと、クラウドに動画データを収集するだけでなく、エッジデバイス側で動画データを保存することも簡単にできるようになりますよ。

米倉 裕基

すごいですね!
エッジデバイス上のコンピューティングリソースで動画データの保存・分析までできれば、インターネットを介さないという点でデータの機密性の問題も解決しますし、処理速度も高速化できそうですね。


動画データを保存場所は?

米倉 裕基

Producer SDK を使って動画データをエッジデバイスから収集できることは理解できたのですが、集めたデータは AWS のどこに格納されるのでしょう?

何か KVS 固有のストレージなどがあるのでしょうか?

三平 悠磨

KVS に収集された動画は、暗号化され、KVS 内部の Amazon S3 にセキュアに保存されます。
S3 を利用するので、保存されたデータに対しては高い耐久性が提供されます。

米倉 裕基

なるほど。
S3 が提供する 99.999999999% (イレブンナイン) の耐久性だったり、高いスケーラビリティ、セキュリティ性能などのさまざまな特長を活かして、機密性の高い大容量の動画データを安全に保存できるわけですね。

三平 悠磨

はい。
しかも、動画データはただのオブジェクトとして保存されるだけでなく、「時間ベースのインデックス」が自動的に生成されます。

この「時間ベースのインデックス」を検索することで、特定の時刻の映像を簡単に取り出して利用することができます。

動画データの保存
(クリックすると拡大します)

米倉 裕基

時間ベースのインデックス」ですか。

たとえば、「あるカメラの 3 月 1 日 12:30 〜 12:35 の映像をストリーミング再生する」なんて使い方ができるということですね。


収集した動画データの活用方法

米倉 裕基

KVS に保存された動画データは、どこで確認したり、再生したりできるんでしょう。
収集した動画データを活用するために、何か特別なコンソールやメディアプレイヤーなどが提供されているんでしょうか?

三平 悠磨

収集された動画データは、AWS のマネジメントコンソールで確認できますし、簡易的なビューアーで再生することもできます。

それに、API を使用して、特定の時刻の映像クリップや画像フレームをダウンロードすることもできますよ。

米倉 裕基

マネジメントコンソールから、動画データを再生しながら確認できるんですね。
API で特定の時刻を指定してダウンロードできるのは、先ほどご説明いただいた「時間ベースのインデックス」が動画データに付与されているからですね。

それでは、動画内のある一場面のキャプチャを取得する、なんて使い方もできるわけですね。

三平 悠磨

そうですね。
それに、収集した動画データの視聴に関しては、ライブ再生や過去にさかのぼってオンデマンド再生するための URL を発行することもできます。

Web ブラウザや、QuickTime などのプレイヤーアプリを使って URL にアクセスすると、HLSMPEG-DASH と呼ばれるプロトコルを介して動画データを再生できます。

米倉 裕基

特別なメディアプレイヤーは必要なく、一般的な Web ブラウザなどから URL にアクセスするだけで動画を視聴できるわけですね。

複数の人に動画を共有する際などにとても便利そうです。

三平 悠磨

動画データの活用という意味では、先ほどお伝えしたように Amazon Rekognition VideoAmazon SageMaker と連携して動画データを分析する仕組みが提供されています。

そのほかにも、独自のアプリケーションで分析対象の動画データを取得するための API やライブラリも提供しています。

米倉 裕基

なるほど。
KVS では、収集した動画データを活用するために、管理、ダウンロード、再生、分析するための仕組みが網羅されているんですね。


WebRTC による低遅延の双方向ストリーミング

米倉 裕基

先ほど、動画データをクラウドに収集するには Producer SDK を使って、低遅延な双方向ストリーミングを行うには WebRTC SDK を使うとお聞きしました。

WebRTC という技術についてあまり理解していないので、もう少し詳しくお聞かせいただけますでしょうか。

三平 悠磨

WebRTC はブラウザやアプリケーション間でリアルタイム通信をできるようにするための技術です。
一般的に、ビデオ会議システムなどでもよく使われていますね。

米倉 裕基

ビデオ会議システムなどは、デバイス間で映像と音声をリアルタイムで送受信するわけですから、当然双方向ストリーミングが前提になりますもんね。それに、あまり遅延が大きい通信方式では、テレビ会議システムなどに適さないことはわかります。

KVS では、WebRTC をサポートすることでどういった利用シーンを想定しているのでしょうか?

三平 悠磨

KVS では WebRTC を利用することで、カメラデバイスとアプリケーション間で低遅延で双方向のストリーミングを実現できます。具体的には、音声通話や遠隔操作など、1 秒以下の低遅延でメディアやデータをやり取りしたい場面で活用できますね。

また、基本的にデバイスとアプリケーションの間でピアツーピア通信を行うため、必ずしもクラウドを介さずにメディアのやり取りができることも WebRTC の特徴です。

米倉 裕基

クラウドを経由しないで高速にメディアの送受信ができるんですね。
メディアデータをクラウドに保存できないようなセキュリティ要件がある場合にも有用そうですね。

カメラデバイスから動画データをクラウドに収集する場合は Producer SDK を利用し、音声通話や遠隔操作など双方向のストリーミングが必要な場合は WebRTC SDK を利用することがよく理解できました。

三平 悠磨

そうですね。
ただ、2022 年 12 月には「WebRTC を利用してクラウドに動画を収集できる機能」がプレビューとしてリリースされました。

今後は、動画データの収集に関しても WebRTC SDK が利用できるようになりますよ。

米倉 裕基

WebRTC を使って、双方向ストリーミングだけでなく動画データの収集までできるようになるんですね!


Amazon Kinesis Video Streams の料金体系

米倉 裕基

お話を伺うと、KVS は監視カメラシステムを構築する上で必要な機能がすべて揃っているという気がしたんですが、KVS を利用する上で注意すべき点をあえて挙げるとすれば何かありますか?

三平 悠磨

注意点というとやはりコストですね。
KVS に限った話ではないのですが、動画のような大容量のデータを扱う場合、システムのコスト構造をきちんと把握することが重要です。

AWS のサービス費用だけでなく通信費なども含めて、システム全体でどういったコストがかかるのか、そのコストを支配するファクターは何なのかは入念に確認した方が良いと思います。

米倉 裕基

Amazon Kinesis Video Streams の料金」を見ると、KVS の利用料金はデータ量に応じた従量課金のみで、リソースの前払いなどは不要みたいですね。

とはいえ、動画データは扱うデータサイズが大きいので、気づいたら想定以上に課金されてしまった、なんて不幸を避けるためにも、事前にコスト構造やどこにボトルネックがあるかなどを把握しておくことが大事なんですね。

三平 悠磨

おっしゃるとおりです。
サービスを長く安定的に稼働させるためには、セキュリティや可用性といったシステムの信頼性に関わる要素だけでなく、コスト構造をしっかり把握し最適化することも非常に大事です。

ちなみに、KVS ではクラウドに動画を収集する方式と、WebRTC を使った方式で料金体系が異なっています。
想定コストを算出する際には、その点も考慮すると良いですね。

米倉 裕基

動画収集と WebRTC を使う場合で料金体系が異なるんですね。
なんだかコストの算出が難しそうですね。

三平 悠磨

確かにコストの算出方法は複雑ですが、AWS Pricing Calculator を使うと、カメラの台数やビットレートなどのパラメータを入力するだけで簡単に料金を計算することができるのでオススメですよ。

AWS Pricing Calculator
(クリックすると拡大します)

米倉 裕基

なるほど。
AWS Pricing Calculator を使えば、条件を入力するだけで想定コストが割り出せるわけですね。


Amazon Kinesis Video Streams の始め方

米倉 裕基

最後にお聞きしたいのですが、実際に KVS の利用を開始したいと思われている方におすすめできるビギナー向け資料などはありますでしょうか?

三平 悠磨

KVS の機能を試すなら、まずは「ハンズオン」から始めてみるのはいかがでしょう。
数時間で KVS の基本機能を学ぶことができる内容になっていますよ。

米倉 裕基

いいですね。
ステップバイステップで実装を進めるハンズオン形式なら、私のような初学者でもつまずくことなく進められそうです。

三平 悠磨

その他には、「KVS に収集した動画をブラウザから再生できるサンプルアプリ」が GitHub 上で公開されていますし、Raspberry Pi をお持ちの方であれば前述の builders.flash の記事KVS を使った監視カメラシステムを構築できます。

もっとサービス自体への理解を深めたい方であれば、BlackBelt のオンラインセミナーをご視聴いただければより詳しい機能を知ることができますよ。

KVS に収集した動画をブラウザから再生できるサンプルアプリ
(クリックすると拡大します)

米倉 裕基

ありがとうございます。
私も一通りハンズオンを終えたら、次に builders.flash 記事を読んで監視カメラシステムの構築に挑戦してみようと思います。

三平 悠磨

ちなみに、AWS re:Invent 2022 のあった 2022 年 12 月には KVS の新機能が 2 つ発表されました。
その模様は、2023 年 2 月 3 日 に実施された AWS re:Invent re:Cap で詳しく紹介しています。KVS の最新機能についてお知りになりたければそちらを視聴いただければと思います。


まとめ

米倉 裕基

これにて、第二回「ナカの人に聞いてみた」のインタビューは終了になります。
長時間のインタビューにお付き合いいただき、本当にありがとうございました。

初めは KVS のサービス内容について曖昧なイメージしか持っていなかったのですが、ご説明のおかげで、何ができるサービスなのか、どういった機能があるかとてもよく理解できました。

最後に、三平さんから読者のみなさんにお伝えしたいことがあればお聞かせいただけますでしょうか。

三平 悠磨

はい。
私は、「何事もまずは手を動かしてやってみること」をとても大事にしています。
IoT システムの構築というと大規模で複雑なイメージが先行して、興味はあってもなかなか最初の一歩を踏み出せないこともあると思いますが、幸い KVS はフルマネージド型のサービスですし、ハンズオンやサンプルアプリケーションも提供されているので、不慣れな方でも簡単に始められる環境が整っています。

読者のみなさんには、ハンズオンに加えて、製品ページデベロッパーガイドなどもご覧いただき、ぜひこの機会に Amazon Kinesis Video Streams を試していただきたいと思います。
読者のみなさん、米倉さん、本日はどうもありがとうございました。

米倉 裕基

ありがとうございます。
私も実際に手を動かして、教えていただいたハンズオンを実践してみることから KVSVSaaS に入門してみようと思います。

三平さん、改めまして本日はありがとうございました。

本シリーズのその他の記事はこちら

選択
  • 選択
  • AWS の位置情報サービスでリッチなマップを実装しよう !
  • Amazon Kinesis Video Streams で監視カメラシステムを構築しよう!
  • Amazon CodeCatalyst で開発環境の構築とチームコラボレーションを加速しよう!
  • エンタープライズ検索サービス Amazon Kendra で知りたい情報をすぐに検索 !
  • クラウドコンタクトセンターを簡単セットアップ !

builders.flash メールメンバーへ登録することで
AWS のベストプラクティスを毎月無料でお試しいただけます


参加者プロフィール

米倉 裕基
アマゾン ウェブ サービス ジャパン合同会社
テクニカルライター・イラストレーター

日英テクニカルライター・イラストレーター・ドキュメントエンジニアとして、各種エンジニア向け技術文書の制作を行ってきました。
趣味は娘に隠れてホラーゲームをプレイすることと、暗号通貨自動取引ボットの開発です。
現在、AWS や機械学習、ブロックチェーン関連の資格取得に向け勉強中です。

三平 悠磨 (みひら ゆうま)
アマゾン ウェブ サービス ジャパン合同会社
IoT スペシャリスト ソリューションアーキテクト

ソフトウェアエンジニアとして会話 AI やロボット開発を経験しました。AWS では IoT スペシャリストソリューションアーキテクトとして、お客様の IoT 関連案件を支援しています。趣味はバンドと作曲で、プログラミングやテクノロジーを駆使して音楽をもっと楽しくしたいと思っています。 

AWS を無料でお試しいただけます

AWS 無料利用枠の詳細はこちら ≫
5 ステップでアカウント作成できます
無料サインアップ ≫
ご不明な点がおありですか?
日本担当チームへ相談する