Amazon Kinesis Video Streams Producer SDK for C++
目次
関連パッケージをインストール
$ sudo apt-get install git cmake libtool libtool-bin automake g++ curl pkg-config flex bison openjdk-8-jdk
環境変数を設定
$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
AWSの証明書を格納
$ wget https://www.amazontrust.com/repository/SFSRootCAG2.pem $ ls /etc/ssl certs openssl.cnf private $ sudo cp -p SFSRootCAG2.pem /etc/ssl/cert.pem
SDKをインストール
$ git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp $ cd amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build $ chmod +x install-script $ ./install-script $ rm -rf CMakeCache.txt CMakeFiles $ ./install-script
テストプログラムを実行
$ ./start
opensslのエラー
$ ./start ./start: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
opensslが古いので最新版をインストール
$ sudo apt-get install openssl パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 openssl はすでに最新バージョン (1.0.2g-1ubuntu13.3) です。 アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
aptでアップデート出来ないので仕方なく手動でインストールします。GitHubのガイド に沿って実行。
$ wget https://www.openssl.org/source/openssl-1.1.0g.tar.gz $ tar xzvf openssl-1.1.0g.tar.gz $ cd openssl-1.1.0g $ ./config $ make $ make test $ sudo make install $ openssl version openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
ところがエラー。
libssl.so.1.1 は /usr/local/lib に出来上がっていますが、ここにパスが通っていないので通します。
$ ls -l /usr/local/lib 合計 9156 drwxr-xr-x 2 root root 4096 3月 10 11:52 engines-1.1 -rw-r--r-- 1 root root 5073780 3月 10 11:52 libcrypto.a lrwxrwxrwx 1 root root 16 3月 10 11:52 libcrypto.so -> libcrypto.so.1.1 -rwxr-xr-x 1 root root 2967904 3月 10 11:52 libcrypto.so.1.1 -rw-r--r-- 1 root root 781454 3月 10 11:52 libssl.a lrwxrwxrwx 1 root root 13 3月 10 11:52 libssl.so -> libssl.so.1.1 -rwxr-xr-x 1 root root 528936 3月 10 11:52 libssl.so.1.1 drwxr-xr-x 2 root root 4096 3月 10 11:52 pkgconfig drwxrwsr-x 4 root staff 4096 3月 10 11:33 python2.7 drwxrwsr-x 3 root staff 4096 1月 6 05:35 python3.6 $ env | grep PATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin $ export LD_LIBRARY_PATH=/usr/local/lib $ openssl version OpenSSL 1.1.0g 2 Nov 2017
これでopensslの最新版がちゃんとインストールされたと思われます。
$ rm downloads/local/lib/libcurl* $ rm downloads/local/bin/curl* $ cd downloads/curl-7.57.0/ $ export DOWNLOADS=/home/ubu/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads $ make clean $ ./configure --prefix=$DOWNLOADS/local/ --enable-dynamic --disable-rtsp --disable-ldap --without-zlib --with-ssl=$DOWNLOADS/local/ --with-ca-bundle=/etc/ssl/cert.pem $ make $ make install
テストプログラムを再度実行します。
$ ./start
今度は libssl.so.1.1 を開けないというエラーは解消されました。
今回のUbuntu環境はWindows用VMware Workstation 14 Playerの上のゲストOSで、カメラも付けていないため、./startを実行しても何やらAWSに映像をアップロードしようとするログが標準出力に出続けるところまでしか確認できませんが、おそらくこれで環境は一通り整ったのだと思います。