티스토리 뷰

내가 실험한 환경은 Macbook Mojave 버전이다.

아래의 명령어를 수행하니 정상적으로 KVS로 영상이 전송되는 것을 확인했다.

당연히 Kinesis Video Producer Library (kvssink)는 사전에 설치해야 함.

$ gst-launch-1.0 autovideosrc ! videoconvert \
! video/x-raw,format=I420,width=640,height=480 \
! vtenc_h264_hw allow-frame-reordering=FALSE realtime=TRUE max-keyframe-interval=45 bitrate=512 \
! h264parse \
! video/x-h264,stream-format=avc,alignment=au,profile=baseline \
! kvssink stream-name=test2 storage-size=512 access-key="YOURACCESSKEY" secret-key="YOURSECRETKEY" aws-region="us-west-2"

얘가 ~/.aws/credentials 를 참고하는 것 같아 보이진 않는다. 왜냐면 gst-launch-1.0 자체는 그냥 OpenSource 니까..

주의 : gst-launch-1.0 을 종료할 때 Ctrl + C 로 종료해야 한다.

Ctrl + Z 로 종료하면 gst-launch-1.0 process가 죽지 않고 살아 있는 경우가 종종 있다.

다른 블로그에 있는 글도 참조해보자.

https://aws.amazon.com/ko/blogs/korea/amazon-kinesis-video-streams-adds-support-for-hls-output-streams/ 를 참고하면 아래와 같은 명령어를 알려주는데

$ gst-launch-1.0 autovideosrc ! videoconvert \
! video/x-raw,format=I420,width=640,height=480,framerate=30/1 \
! vtenc_h264_hw allow-frame-reordering=FALSE realtime=TRUE max-keyframe-interval=45 bitrate=500 \
! h264parse \
! video/x-h264,stream-format=avc,alignment=au,width=640,height=480,framerate=30/1 \
! kvssink stream-name="BlogStream" storage-size=1024 aws-region=us-west-2 log-config=kvslog

그냥 실행하면 아래와 같은 에러 메세지를 뱉는다.

Failed to init kvs producer. Error: Unable to create Rotating Credential provider

이는 뒤에 access-key와 secret-key를 넣어주면 해결 된다.

또 실행하면 아래와 같은 에러 메세지를 뱉는다.

ERROR: from element /GstPipeline:pipeline0/GstAutoVideoSrc:autovideosrc0/GstAVFVideoSrc:autovideosrc0-actual-src-avfvide: Internal data stream error.

이유는 모르겠는데, video/x-raw 부분(videoconvert pipeline 다음 부분.. 이건 이름이 뭐지?)의 끝에 있는 framerate=30/1 을 지워주면 정상적으로 동작 한다.

'Cloud > AWS General' 카테고리의 다른 글

Macbook Cam을 AWS Kinesis Video Stream로 전송하기  (0) 2019.11.07
댓글
댓글쓰기 폼