{Kinesis}Kinesis Video Streams の開始方法


https://docs.aws.amazon.com/ja_jp/kinesisvideostreams/latest/dg/getting-started.html

https://qiita.com/yh1224/items/596fa5d14175746c73d8


前提
作業インスタンスOS = Amazon Linux 2
作業インスタンスタイプ = t3.micro

 

-- 1. コマンド等のインストール

-- 1.1 aws cli version 2 インストール

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version


-- 1.2 jqインストール
sudo yum -y install jq

-- 1.3 dockerインストール

sudo amazon-linux-extras install docker -y


sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
sudo usermod -a -G docker ec2-user

 


-- 2. ビデオストリームの作成

aws kinesisvideo create-stream \
--stream-name vs01 \
--data-retention-in-hours 12

★保持時間を0にすると再生時にエラーとなる


aws kinesisvideo list-streams

aws kinesisvideo describe-stream \
--stream-name vs01

-- 3. Kinesis ビデオストリームにデータを送信する

sample.mp4をカレントディレクトリへアップロード

aws ecr get-login-password --region us-west-2 | docker login --username AWS --password-stdin 546150905175.dkr.ecr.us-west-2.amazonaws.com

docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest

docker run -it -v $(pwd):/work --network="host" \
546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux \
/bin/bash

 


vim a.sh


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


export AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXX
export AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export AWS_DEFAULT_REGION=ap-northeast-1

 

STREAM_NAME=vs01
MOVIE_FILE=/work/sample.mp4

while [ 1 ]
do
    gst-launch-1.0 \
        filesrc location="${MOVIE_FILE}" \
        ! qtdemux \
        ! queue \
        ! h264parse \
        ! video/x-h264,stream-format=avc,alignment=au \
        ! kvssink stream-name="${STREAM_NAME}" storage-size=512
done

 

chmod +x a.sh
./a.sh

 


コンソールから動画を確認


★エラー発生
StartTimestamp must be before the current time for LIVE_REPLAY PlaybackMode.

→戻るボタン押すと動画が表示された

 

-- 4. クリーンアップ

-- ビデオストリームの削除

aws kinesisvideo list-streams

aws kinesisvideo delete-stream \
--stream-arn arn:aws:kinesisvideo:ap-northeast-1:999999999999:stream/vs01/1111111111111