latest update 2019/8/6
方針
windowsのWSLを有効にてubuntu16.04を動かす.
ubuntu上でdockerを走らせて, AWSからイメージをpullしてサクッと実行する
事前準備
AWSでaccess keyとSecret Keyは作っておいてください
rtspサーバアプリ(?)をスマホにインストールしてください。 今回はlive-reporterをインストールします
手順
1 : windows10のWSLを有効にする
- タスクバーのスタートを右クリック
- 一番上の"アプリと機能"をクリック
- 出てきたウィンドウの右側にある"プログラムと機能"をクリック
- またウィンドウが出るので, 左側の"Windowsの機能の有効化または無効化"をクリック
- またまたウィンドウが出るので, "Windows Subsystem for Linux"にチェックを付けてOKを押す
- 促されるまま再起動
2 : ubuntu16.04のインストール
- Mycrosoft Storeを開く
- ubuntu16.04で検索する
- ubuntu16.04 LTSをインストールする(バージョンは16.04!!!)
3 : dockerインストール
3-1 : windowsのバージョンを確認する
- コマンドプロンプトを立ち上げる
-
$winver
コマンドを叩く
自分のwindows10のバージョンが1803か1809か確認して覚えておいておく
1803の手順
$curl -O https://download.docker.com/linux/debian/dists/stretch/pool/stable/amd64/docker-ce_17.09.0~ce-0~debian_amd64.deb
$sudo dpkg -i docker-ce_17.09.0\~ce-0\~debian_amd64.deb
$sudo usermod -aG docker $USER
$sudo cgroupfs-mount
$sudo service docker start
$sudo service docker status
* Docker is running
が表示された人は正しくdockerがインストールされています。
1809の手順
$sudo apt install docker.io
$sudo cgroupfs-mount
$sudo usermod -aG docker $USER
$sudo service docker start
$sudo service docker status
* Docker is running
が表示された人は正しくdockerがインストールされています。
4 : 必要なものをインストールしよう
4-1 : pipのインストール
$sudo apt install pip
$sudo pip install pip --upgrade
$python -m pip --version (pipコマンドが使えなくなるんだよなぁ)
4-2 : awscliのインストール
$sudo python -m pip install awscli (aptでawscli入れると古いのしか使えない)
$python -m pip show awscli
$export PATH=$PATH:site-packageまでのパス (例: )
4-3 : awsの認証をいい感じにする
$aws configure
AWS Access Key ID []:アクセスキーコピペ
AWS Secret Access Key []:シークレットキーコピペ
Default region name []:ap-northeast-1
Default output format []:json
5 : dockerにログイン
$aws ecr get-login --no-include-email --region us-west-2 --registry-ids 546150905175
docker login -u AWS -p xxxxxxxx https://546150905175.dkr.ecr.us-west-2.amazonaws.com
$docker login -u AWS -p xxxxxxxx https://546150905175.dkr.ecr.us-west-2.amazonaws.com
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Login Succeeded
xxxxxxxxxはめっちゃ長いので注意
6 : イメージのダウンロード
$ sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
latest: Pulling from kinesis-video-producer-sdk-cpp-amazon-linux
Digest: sha256:611a6ccb5f60dfdd60473db591eba9738b42b9e864acd3df570b7124d597f4d0
Status: Image is up to date for 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
$ docker image //確認
REPOSITORY TAG IMAGE ID CREATED SIZE
546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux latest 36a8d19a8ca5 10 days ago 2.82GB
7 : イメージの実行
$ sudo docker run -it --network="host" 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
bash-4.2#
8 : 配信
8-1 : 設定
$ export LD_LIBRARY_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$LD_LIBRARY_PATH
$ export PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/bin:$PATH
$ export GST_PLUGIN_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$GST_PLUGIN_PATH
8-2 : live-reporterアプリの実行
スマホにインストールしたlive-reporterを起動します
8-3 : 配信プログラム実行
$ AWS_ACCESS_KEY_ID=xxx AWS_SECRET_ACCESS_KEY=xxx AWS_DEFAULT_REGION=ap-northeast-1 ./kinesis_video_gstreamer_sample_app ストリーム名 rtsp://live-reporterのURL/
あとがき
最近IT系のニュースを見ていたらWSL2に対応したdockerが今後リリースされるみたいなので, docker導入がもっと楽になるといいですね。
もっといい方法や指摘等あればご報告ください。
リファレンス
ubuntu導入まで: https://qiita.com/Aruneko/items/c79810b0b015bebf30bb
docker導入まで: http://www.nuits.jp/entry/docker-on-wsl
dockerログインから配信まで: https://dev.classmethod.jp/cloud/amazon-kinesis-vidseo-stream-docket-mac/
環境に適したdockerを入れる: https://www.usagi1975.com/201902220052/
pipで入れたコマンドが使えない: https://tech.innovator.jp.net/entry/2019/01/15/130014
live-reporter: https://dotapps.jp/product_contents/RMYIkwZv9jje45KB