※このサンプルアプリケーションはActcastOS 3 に対応しています
Raspberry Piに接続されたカメラの映像をKinesis Video Streamに配信するサンプルアプリです。
- 対象機種: Actcast がサポートする Raspberry Pi
- Raspberry Piに接続可能なカメラ
- actdk
- Docker
- AWS Kinesis Video Stream
gstreamer 経由で kinesis video stream を使うためには app/*
に以下の shared object が必要です
- libKinesisVideoProducer.so
- libgstkvssink.so
- libcproducer.so
これらは ソースコード からビルドする必要があります 依存ライブラリのバージョンを揃えるために ssh で actsim にログインして docker コンテナの中でビルドします
actsim にDockerfile を転送します
<REMOTE>
actsim がインストールされた Raspberry Pi の IP アドレスです
ユーザ名とパスワードは actsim のセットアップ時に決めたもの です
rsync -e=ssh pi@<REMOTE> Dockerfile /home/pi/Dockerfile
ssh でログインして し docker build します
ssh pi@<REMOTE>
cd ~/
mkdir workspace
chmod 777 workspace
cd workspace
mv ~/Dockerfile ./
sudo docker build --output=. .
docker image のビルドが終わったら Dockerfile 隣に .so がコピーされていることを確認します
$ ls /home/pi/workspace
drwxr-xr-x 2 pi pi 4096 Nov 18 06:45 .
drwxr-xr-x 3 root root 4096 Jan 28 2022 ..
-rw-r--r-- 1 pi pi 1448 Nov 18 06:45 Dockerfile
-rwxr-xr-x 1 root root 471872 Nov 15 09:29 libKinesisVideoProducer.so
-rwxr-xr-x 1 root root 601760 Nov 15 09:29 libcproducer.so
-rwxr-xr-x 1 root root 528340 Nov 15 09:30 libgstkvssink.so
コピーを確認したら actsim からログアウトし、
actsim にできたこの 3 つの shared object を rsync
等でホストマシンの app/*
へコピーします
rsync -e=ssh pi@<REMOTE>:/home/pi/workspace/\*.so ./app/
以下のファイルが必要です
.actdk/setting.json
app/libKinesisVideoProducer.so
app/libgstkvssink.so
app/libcproducer.so
act_settings.json
actdk に確認用 Raspberry Pi を登録します。
actdk remote add <IDENTIFIER_YOU_LIKE>@<REMOTE>
- AmazonKinesisVideoStreamsFullAccess を持つ IAM User を作ります
- アクセスキーを生成します
- Kinesis Video Stream を作成します
- 2, 3 で作った アクセスキーとストリーム名を入れた
act_settings.json
を作ります
actdk run
により Actsim 上でアプリケーションの動作確認をすることができます。停止させるには Ctrl + C
を押します。
actdk run -a <IDENTIFIER_YOU_LIKE>
AWS の Kinesis Video Stream のコンソールを確認してください
アプリを作成して Actcast Agent で動作確認を行います。
まずActcast に新規アプリケーションを作成します。
.actdk/setting.json
の app_server_id
を、先程作成したアプリケーションの ID に変更します。