Amazon Linux 2 で Amazon Kinesis Video Stream(KVS) のC++用プロデューサーSDKをGStreamer プラグインとして使ってみる

Tapo C200というネットワークWi-Fiカメラを使用しています。このカメラは4,000円以下で購入できますが、なかなかよくできています。
また、マニュアル等には記載がなかったのですが、公式サイトで「仕様外機能としてRTSPプロトコルを開放しています」とありました。
せっかくなので、Amazon Kinesis Video Stream(以下KVS) プロデューサーを使って、このカメラの動画をKVSにアップロードして、閲覧や蓄積できるようにしてみます。
Kinesis Video Streams プロデューサーライブラリには何種類かありますが、今回は Amazon Linux 2 で「C++ プロデューサーライブラリ」を使って、GStreamer プラグインとして使ってみます。

AWSのマネジメントコンソールから、IAMでKVS用のユーザーを作成します。認証タイプは「アクセスキー – プログラムによるアクセス」とし、ポリシー「AmazonKinesisVideoStreamsFullAccess」を付与します。ここでAccess key IDとSecret access keyは大事にメモっておきます。

Amazon Linux 2 で ec2-user として作業します。まずは必要そうなパッケージを入れます。

あと、C++のビルドするために、Development Toolsも入れておきます。

適当なディレクトリ(今回はwork)を作成し、gitでC++用プロデューサーSDK を clone して、ビルド用ディレクトリ作って cmake3 する。
GStreamerのプラグインを作成するためのオプションを指定します。

うまくビルドできたら、動作確認してみる。
GStreamerのプラグインのパスと、さっきビルドしたライブラリのパスを指定しておく。

以下のコマンドでGStreamerのプラグインとして、kvssink が認識されているか確認してみる。

次のように表示されたら成功。

KVSにストリームするために、Access key IDとSecret access keyが必要です。アクセスキーIDとシークレットアクセスキー、デフォルトリージョンを東京に設定。

GStreamer 起動コマンドの例を参考に、Tapo C200の動画をKVSにストリーミングしてみます。

KVS側で先にストリーム名を作成していなくても、ここで指定したリージョンでストリームが作成されました。

うまくいっていれば、マネジメントコンソールで、対象のリージョンでKinesis Video Streamsを開き、ビデオストリームから、対象のストリーム名を選択、メディア再生で動画が確認できます。

思いのほか簡単にできました。
ここに防犯カメラの動画を蓄積して、SageMakerなんかでオブジェクト認識したりしたら楽しそうです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP