C++ 생산자 라이브러리 사용하기 - Amazon Kinesis Video Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

C++ 생산자 라이브러리 사용하기

Amazon Kinesis Video Streams에서 제공하는 C++ 프로듀서 라이브러리를 사용하여 디바이스에서 Kinesis 비디오 스트림으로 미디어 데이터를 전송하는 애플리케이션 코드를 작성할 수 있습니다.

객체 모델

C++ 라이브러리는 Kinesis 비디오 스트림으로의 데이터 전송을 관리하기 위해 다음과 같은 객체를 제공합니다.

  • KinesisVideoProducer: 미디어 소스 및 AWS 자격 증명에 대한 정보를 포함하고 Kinesis Video Streams 이벤트를 보고하기 위한 콜백을 유지 관리합니다.

  • KinesisVideoStream: Kinesis 비디오 스트림을 나타냅니다. 이름, 데이터 보존 기간, 미디어 콘텐츠 유형과 같은 비디오 스트림의 매개 변수에 대한 정보를 포함합니다.

스트림에 미디어 넣기

C++ 라이브러리에서 제공하는 메서드 (예:PutFrame) 를 사용하여 KinesisVideoStream 객체에 데이터를 넣을 수 있습니다. 그런 다음 라이브러리는 내부 데이터 상태를 관리하는데, 다음과 같은 작업을 포함할 수 있습니다.

  • 인증 수행.

  • 네트워크 지연 시간 감시. 지연 시간이 너무 길면 라이브러리가 프레임 드롭을 선택할 수 있습니다.

  • 진행 중인 스트리밍의 상태 추적.

콜백 인터페이스

이 계층은 일단의 콜백 인터페이스를 노출시키는데, 애플리케이션 계층에 알리는 데 사용됩니다. 이들 콜백 인터페이스에는 다음이 포함됩니다.

  • 서비스 콜백 인터페이스 (CallbackProvider): 라이브러리는 스트림을 생성하고, 스트림 설명을 가져오고, 스트림을 삭제할 때 이 인터페이스를 통해 얻은 이벤트를 호출합니다.

  • 클라이언트 준비 상태 또는 스토리지 부족 이벤트 인터페이스(ClientCallbackProvider): 라이브러리는 클라이언트가 준비 상태에 있거나 가용한 스토리지 혹은 메모리가 부족할 수 있음을 감지하면 이 인터페이스에서 이벤트를 호출합니다.

  • 스트림 이벤트 콜백 인터페이스(StreamCallbackProvider): 라이브러리는 스트림이 준비 상태에 돌입하거나, 프레임이 끊기거나 스트림 오류가 발생하는 이벤트가 발생할 때 이 인터페이스에 이벤트를 호출합니다.

Kinesis Video Streams는 이러한 인터페이스의 기본 구현을 제공합니다. 사용자 지정 네트워킹 로직이 필요하거나 사용자 인터페이스에 스토리지 부족 조건을 노출하려는 경우 등과 같이 사용자 지정 구현을 제공할 수도 있습니다.

생산자 라이브러리의 콜백에 대한 자세한 내용은 프로듀서 SDK 콜백 단원을 참조하십시오.

절차: C++ 생산자 SDK 사용

이 절차는 C++ 애플리케이션의 Kinesis Video Streams 클라이언트와 미디어 소스를 사용하여 Kinesis 비디오 스트림으로 데이터를 보내는 방법을 보여줍니다.

이 절차에는 다음 단계가 포함됩니다.

필수 조건

  • 자격 증명: 샘플 코드에서는 자격 증명 프로필 파일에 설정한 프로필을 지정하여 자격 증명을 제공합니다. AWS 아직 설정하지 않았다면 먼저 자격 증명 프로필을 설정합니다.

    자세한 내용은 개발용 AWS 자격 증명 및 지역 설정을 참조하십시오.

  • 인증서 저장소 통합: Kinesis Video Streams 프로듀서 라이브러리는 호출하는 서비스와 신뢰를 구축해야 합니다. 이는 공용 인증서 저장소의 인증 기관 (CA) 의 유효성을 검사하여 수행됩니다. Linux 기반 모델은 이 스토어가 /etc/ssl/ 디렉터리에 위치합니다.

    다음 위치에서 인증 스토어로 인증서를 다운로드합니다.

    https://www.amazontrust.com/repository/SFSRootCAG2.pem

  • 다음의 macOS용 빌드 종속성을 설치합니다.

  • Ubuntu용 다음 빌드 종속 항목을 설치하세요.

    • Git: sudo apt install git

    • CMake: sudo apt install cmake

    • G++: sudo apt install g++

    • 패키지 구성: sudo apt install pkg-config

    • OpenJDK: sudo apt install openjdk-8-jdk

      참고

      이는 자바 네이티브 인터페이스 (JNI) 를 빌드하는 경우에만 필요합니다.

    • JAVA_HOME 환경 변수 설정: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

다음 단계

1 단계: C++ 생산자 라이브러리 코드 다운로드 및 구성