サンプルアプリケーションの実行

このステップでは、Amazon Kinesis Video Streams Producer SDK C++ のサンプルアプリケーションを実行し、動画をアップロードします。

ストリームの作成

  • Amazon Kinesis Video Streamsのコンソールを開きます
  • コンソールの右上から、Amazon Kinesis Video Streams と Amazon Rekognition Video が利用できるリージョンを選択します
    • サービスが利用可能なリージョンは リージョン表 から調べることが可能です
    • 例えば ap-northeast-1 (東京) や us-west-2 (オレゴン) などのリージョンが利用可能です
  • 左側のメニューの ビデオストリーム をクリックした後、 ビデオストリームを作成 ボタンをクリックします
  • 以下の内容をフォームに入力し、 ビデオストリームを作成 ボタンをクリックします
    • ビデオストリーム名: kvs-workshop-stream
    • デフォルト設定 を選択

以上でストリームが作成されました。

AWS 認証情報の取得

このステップは、ハンズオンを実施している AWS 環境によって手順が異なります。

自分の AWS アカウントを利用している場合

AWS CLIを利用して、動画をアップロードするための一時認証情報を取得します。

なお、AWS CLI のセットアップが済んでいない場合は以下の手順を実行する前に、操作用 PC で AWS CLI のインストールAWS CLI の設定 を実行してください。

操作用 PC のターミナルで以下のコマンドを実行します。

aws sts get-session-token

以下のような結果が得られるので、この値をRaspberry Piの環境変数に設定していきます。

{
    "Credentials": {
        "AccessKeyId": "...",
        "SecretAccessKey": "...",
        "SessionToken": "...",
        "Expiration": "2020-01-01T00:00:01Z"
    }
}

続いて、 Raspberry Pi のターミナル を開いて、以下のコマンドを実行します。

export AWS_DEFAULT_REGION=今回利用するリージョン (ap-northeast-1, us-west-2 など)
export AWS_ACCESS_KEY_ID=上記の結果の AccessKeyId の値
export AWS_SECRET_ACCESS_KEY=上記の結果の SecretAccessKey の値
export AWS_SESSION_TOKEN=上記の結果の SessionToken の値

※ 本ハンズオンでは、手順を簡単にするため AWS CLI を利用して IAM ユーザに紐づく一時認証情報を取得しましたが、 実際のカメラデバイスでは毎回このような手順を行うことは現実的ではありません。 実ユースケースでは AWS IoT で管理されたクライアント証明書にポリシーを紐づけ、 AWS IoT の Credential Provider から一時認証情報を取得して利用する方法を用いることで、 デバイス毎の認証や認可をセキュアに行うことができます。

AWS Event Engine で払い出されたアカウントを利用している場合

  • Event EngineTeam Dashboard > AWS Console から以下のような AWS の認証情報をコピーし、 Raspberry Pi のターミナル にペーストします
export AWS_DEFAULT_REGION=...
export AWS_ACCESS_KEY_ID=...
export AWS_SECRET_ACCESS_KEY=...
export AWS_SESSION_TOKEN=...

ビデオのストリームへのアップロード

Raspberry Pi に USB カメラを接続します。

続いて、Raspberry Pi のターミナルから、以下のコマンドを実行します。

cd ~/amazon-kinesis-video-streams-producer-sdk-cpp/build
./kvs_gstreamer_sample kvs-workshop-stream

エラーが表示される場合は、先ほど環境変数に設定した AWS の認証情報や、ストリーム名 (kvs-workshop-stream) が正しいかを確認してみて下さい。

なお、この後の手順でもこのストリームを利用しますので、このコマンドは実行したままにしておくか、次のステップの実行時に再度立ち上げてください。

ビデオストリームの確認

  • Amazon Kinesis Video Streamsのコンソールを開きます
  • 左側のメニューの ビデオストリーム をクリック > ストリームの一覧から kvs-workshop-stream をクリックします
  • メディア再生 の部分をクリックして展開すると、Raspberry Pi の USB カメラの映像が表示されていることを確認できます

メディア再生

以上で Amazon Kinesis Video Streams Producer SDK C++ による動画のアップロードと確認は完了です。 続いて、アップロードされた動画をMP4形式でダウンロードしてみましょう。