このステップでは、Amazon Kinesis Video Streams Producer SDK C++ のサンプルアプリケーションを実行し、動画をアップロードします。
ビデオストリーム
をクリックした後、 ビデオストリームを作成
ボタンをクリックしますビデオストリームを作成
ボタンをクリックします
kvs-workshop-stream
デフォルト設定
を選択以上でストリームが作成されました。
このステップは、ハンズオンを実施している 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 から一時認証情報を取得して利用する方法を用いることで、 デバイス毎の認証や認可をセキュアに行うことができます。
Team 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
) が正しいかを確認してみて下さい。
なお、この後の手順でもこのストリームを利用しますので、このコマンドは実行したままにしておくか、次のステップの実行時に再度立ち上げてください。
ビデオストリーム
をクリック > ストリームの一覧から kvs-workshop-stream
をクリックしますメディア再生
の部分をクリックして展開すると、Raspberry Pi の USB カメラの映像が表示されていることを確認できます以上で Amazon Kinesis Video Streams Producer SDK C++ による動画のアップロードと確認は完了です。 続いて、1-4 へジャンプして、アップロードされた動画をMP4形式でダウンロードしてみましょう。