Ubuntu に Kinesis Video Streams の Producer を入れる時 kvssink を読み込めない時の備忘録

AWS

Ubuntu に AWS Kinesis Video Streams の Producer を入れようとしたら、色々と大変だったので備忘録を書いておく。

環境

インストール方法

Linux向けの公式ガイド を参考にしていくと、ここで詰まる。
どうやら kvssink が見つからないらしい。

bash

gst-launch-1.0 -v v4l2src device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! x264enc  bframes=0 key-int-max=45 bitrate=500 tune=zerolatency ! video/x-h264,stream-format=avc,alignment=au ! kvssink stream-name=test_video storage-size=128 access-key=$AWS_ACCESS_KEY_ID secret-key=$AWS_SECRET_ACCESS_KEY

# > WARNING: erroneous pipeline: no element "kvssink"

kvssink は GStreamer のプラグイン。
そもそもこの kvssink をビルドできていないのでする必要があった。
まず、ソースを git clone する。

bash

git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp.git

make 時に No package 'gstreamer-video-1.0' found エラーが出るので、libgstreamer-plugins-base1.0-dev もインストールしておく。

bash

sudo apt-get libgstreamer-plugins-base1.0-dev

clone した amazon-kinesis-video-streams-producer-sdk-cpp に移動する。
その後、build ディレクトリを作成し、cmake する。
最後に、Makefile などが生成されるので make する。

bash

cd amazon-kinesis-video-streams-producer-sdk-cpp
mkdir build; cd $_
cmake .. -DBUILD_GSTREAMER_PLUGIN=ON -DBUILD_JNI=TRUE
make

build ディレクトリに libgstkvssink.so が作成されていれば OK。
あとは LD_LIBRARY_PATHGST_PLUGIN_PATH にそれぞれパスを通す(LD_LIBRARY_PATH は open-source/local/lib を指定する)。

bash

export LD_LIBRARY_PATH=/home/ユーザー名/amazon-kinesis-video-streams-producer-sdk-cpp/open-source/local/lib
export GST_PLUGIN_PATH=/home/ユーザー名/amazon-kinesis-video-streams-producer-sdk-cpp/build

これで kvssink が入る。

bash

gst-inspect-1.0 kvssink