쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

예:를 사용하여 Kinesis Video Streams로 데이터 전송 PutMedia API

포커스 모드
예:를 사용하여 Kinesis Video Streams로 데이터 전송 PutMedia API - Amazon Kinesis Video Streams

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

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

이 예제에서는 PutMedia를 사용하는 방법을 보여줍니다API. 컨테이너 형식()에 이미 있는 데이터를 보내는 방법을 보여줍니다MKV. 전송하기 전에 데이터를 컨테이너 형식으로 조합해야 하는 경우(예: 카메라 비디오 데이터를 프레임으로 조합하는 경우) 섹션을 참조하세요Kinesis Video Streams에 업로드.

참고

PutMedia 작업은 C++ 및 Java 에서만 사용할 수 있습니다SDKs. 이는 연결, 데이터 흐름 및 승인의 전이중 관리 때문입니다. 다른 언어에서는 지원되지 않습니다.

코드 다운로드 및 구성

단계에 따라 Java 예제 코드를 다운로드하고, 프로젝트를 Java 로 가져오고IDE, 라이브러리 위치를 구성하고, 자격 증명을 사용하도록 AWS 코드를 구성합니다.

  1. 디렉터리를 생성하고 리포지토리에서 예제 소스 코드를 복제합니다 GitHub. PutMedia 예제는 Java의 일부입니다.

    git clone https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-java
  2. 사용 IDE 중인 Java(예: Eclipse 또는 IntelliJ IDEA)를 열고 다운로드한 Apache Maven 프로젝트를 가져옵니다.

    • Eclipse에서 파일, 가져오기, Maven, Existing Maven Projects(기존 Maven 프로젝트)를 차례로 선택한 후 다운로드한 패키지의 루트로 이동합니다. pom.xml 파일을 선택합니다.

    • IntelliJ Idea에서 [Import]를 선택합니다. 다운로드한 패키지의 루트에 있는 pom.xml 파일을 찾습니다.

    자세한 내용은 관련 IDE 설명서를 참조하세요.

  3. 가 가져온 라이브러리를 찾을 IDE 수 있도록 프로젝트를 업데이트합니다.

    • IntelliJ의 경우 다음을 IDEA수행합니다.

      1. 프로젝트의 [lib] 디렉터리의 컨텍스트 메뉴를 열고(오른쪽 버튼 클릭) [Add as library]를 선택합니다.

      2. 파일을 선택한 다음 프로젝트 구조를 선택합니다.

      3. [Project Settings]에서 [Modules]를 선택합니다.

      4. 소스 탭에서 Language Level(언어 레벨)7 이상으로 설정합니다.

    • Eclipse의 경우 다음을 수행합니다.

      1. 프로젝트의 컨텍스트 메뉴를 열고(오른쪽 버튼 클릭) [Properties], [Java Build Path], [Source]를 차례로 선택합니다. 뒤이어 다음과 같이 하세요.

        1. [Source] 탭에서 [Native library location]을 두 번 클릭합니다.

        2. [Native Library Folder Configuration] 마법사에서, [Workspace]를 선택합니다.

        3. [Native Library Folder] 선택에서 프로젝트에 있는 [lib] 디렉터리를 선택합니다.

      2. 프로젝트에 대한 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) [Properties]를 선택합니다. 뒤이어 다음과 같이 하세요.

        1. [Libraries] 탭에서 [Add Jars]를 선택합니다.

        2. JAR 선택 마법사에서 프로젝트 lib 디렉터리의 모든 .jars를 선택합니다.

코드 작성 및 검사

PutMedia API 예제(PutMediaDemo)는 다음 코딩 패턴을 보여줍니다.

이 단원의 코드 예제는 PutMediaDemo 클래스가 출처입니다.

생성 PutMediaClient

PutMediaClient 객체를 생성하려면 다음 파라미터가 필요합니다.

  • PutMedia 엔드포인트의 URI 입니다.

  • 스트리밍할 MKV 파일을 InputStream 가리키는 입니다.

  • 스트림 이름입니다. 이 예제에서는 Java 프로듀서 라이브러리 사용에서 생성된 스트림을 사용합니다(my-stream). 다른 스트림을 사용하려면 다음 파라미터를 변경합니다.

    private static final String STREAM_NAME="my-stream";
    참고

    PutMedia API 예제에서는 스트림을 생성하지 않습니다. Java 프로듀서 라이브러리 사용, Kinesis Video Streams 콘솔 또는에 대한 테스트 애플리케이션을 사용하여 스트림을 생성해야 합니다 AWS CLI.

  • 현재 타임스탬프.

  • 타임 코드 유형. 예제에서는 RELATIVE를 사용하는데, 타임스탬프가 컨테이너 시작 기준이라는 것을 가리킵니다.

  • 수신된 패킷이 인가된 발신자에 의해 전송되었음을 확인하는 AWSKinesisVideoV4Signer 객체.

  • 최대 업스트림 대역폭(단위: Kbps)

  • 패킷을 받았다는 인정을 수신하는 AckConsumer 객체.

다음 코드는 PutMediaClient 객체를 생성합니다.

/* actually URI to send PutMedia request */ final URI uri = URI.create(KINESIS_VIDEO_DATA_ENDPOINT + PUT_MEDIA_API); /* input stream for sample MKV file */ final InputStream inputStream = new FileInputStream(MKV_FILE_PATH); /* use a latch for main thread to wait for response to complete */ final CountDownLatch latch = new CountDownLatch(1); /* a consumer for PutMedia ACK events */ final AckConsumer ackConsumer = new AckConsumer(latch); /* client configuration used for AWS SigV4 signer */ final ClientConfiguration configuration = getClientConfiguration(uri); /* PutMedia client */ final PutMediaClient client = PutMediaClient.builder() .putMediaDestinationUri(uri) .mkvStream(inputStream) .streamName(STREAM_NAME) .timestamp(System.currentTimeMillis()) .fragmentTimeCodeType("RELATIVE") .signWith(getKinesisVideoSigner(configuration)) .upstreamKbps(MAX_BANDWIDTH_KBPS) .receiveAcks(ackConsumer) .build();

미디어 스트리밍 및 스레드 일시 중지

클라이언트가 생성된 후에는 샘플이 putMediaInBackground로 비동기식 스트리밍을 시작합니다. 그러면 메인 스레드가 AckConsumer가 반환될 때 까지, 즉 클라이언트가 닫히는 시점까지 latch.await에 의해 일시 중지됩니다.

/* start streaming video in a background thread */ client.putMediaInBackground(); /* wait for request/response to complete */ latch.await(); /* close the client */ client.close();

코드 실행 및 확인

PutMedia API 예제를 실행하려면 다음을 수행합니다.

  1. Kinesis Video Streams 콘솔my-stream에서 또는를 사용하여 라는 스트림을 생성합니다 AWS CLI.

  2. 작업 디렉터리를 Java 생산자 SDK 디렉터리로 변경합니다.

    cd /<YOUR_FOLDER_PATH_WHERE_SDK_IS_DOWNLOADED>/amazon-kinesis-video-streams-producer-sdk-java/
  3. Java SDK 및 데모 애플리케이션을 컴파일합니다.

    mvn package
  4. /tmp 디렉터리에 임시 파일 이름을 생성합니다.

    jar_files=$(mktemp)
  5. 로컬 리포지토리에서 파일로 종속성의 classpath 문자열을 생성합니다.

    mvn -Dmdep.outputFile=$jar_files dependency:build-classpath
  6. 다음과 같이 LD_LIBRARY_PATH환경 변수의 값을 설정합니다.

    export LD_LIBRARY_PATH=/<YOUR_FOLDER_PATH_WHERE_SDK_IS_DOWNLOADED>/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$LD_LIBRARY_PATH $ classpath_values=$(cat $jar_files)
  7. 다음과 같이 명령줄에서 데모를 실행하고 자격 증명을 제공합니다. AWS

    java -classpath target/kinesisvideo-java-demo-1.0-SNAPSHOT.jar:$classpath_values -Daws.accessKeyId=${ACCESS_KEY} -Daws.secretKey=${SECRET_KEY} -Djava.library.path=/opt/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build com.amazonaws.kinesisvideo.demoapp.DemoAppMain
  8. Kinesis Video Streams 콘솔을 열고 스트림 관리 페이지에서 스트림을 선택합니다. 비디오가 [Video Preview] 창에서 재생됩니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.