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