본문 바로가기

푸른지성의 작업실/IT이야기

Python으로 Amazon Kinesis Video Streams에 동영상 전송하기

Kinesis Video Streams 관리자 페이지

 

한국에는 아직 사용하는 곳이 많이는 없어보인다만, 나중에 도전하는 사람들을 위해 기록해둔다.

Amazon Kinesis Video Streams(이하 KVS)는 말 그대로 비디오 스트리밍 서비스이다.

1. 프로듀서쪽이 영상을 전송하고, 클라이언트가 영상을 청취한다. (일반 스트리밍 서비스)

2. 프로듀서가 영상을 전송하며 클라이언트의 화면도 함께 본다. 클라이언트도 프로듀서와 영상을 함께 공유한다.(ZOOM같은 서비스)

3. 프로듀서가 영상을 등록해놓으면, 클라이언트들이 지정된 시간에 볼수 있다. (유튜브 라이브류)

 

말 그대로 스트리밍으로 뭐든 할 수 있는 것이다.

추가로, KVS는 영상을 스트리밍함과 동시에 Analytics와 같은 모든 것을 한방에 수집하고 전달한다.

그리고 초대용량의 동영상 및 스트리밍 데이타를 잘개 쪼개어 S3에 저장을 하거나, AI를 기반으로 프레임 단위로 영상을 분석하여 판단하여 처리하는 것도 가능하다.(KVS+Lambda)

영상을 편집, 분석, 처리하는 모든것이 아마존 KVS가 담당하는 것이다. 

 

금번에 맡은 프로젝트는 휴대폰에서 촬영한 동영상을 KVS에 등록하고,

해당 영상안에 지정한 화면이 있는지를 판단(Python AI)하여,

S3스토리지에 해당 영상과 지정한 화면의 썸네일 파일을 저장하고,

관리자에게 메세지를 날리고(Amazon Message),

관리자는 API Gateway를 통하여 S3의 영상을 확인 및 관리할 수 있는 시스템이다.

 

본 프로젝트의 특이점은, 웹서버가 존재하지 않는다는 부분이다.

웹서버 없이 관리자 페이지를 제작하고, S3에 저장된 동영상을 리스트화 하여 보여주고, 동영상 열람, 썸네일 확인, 삭제 등의 기능을 Amazon API Gateway와 Amazon Lambda만으로 제작하는 것이다.

 

다음편에 계속.

반응형