GetMedia - Amazon Kinesis Video Streams

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

GetMedia

이 API를 사용하여 Kinesis 비디오 스트림에서 미디어 콘텐츠를 검색할 수 있습니다. 요청에서 스트림 이름 또는 스트림 Amazon 리소스 이름 (ARN) 과 시작 청크를 식별합니다. 그러면 Kinesis Video Streams는 청크 스트림을 프래그먼트 번호에 따라 순서대로 반환합니다.

참고

먼저 GetDataEndpoint API를 호출하여 엔드포인트를 가져와야 합니다. 그런 다음 GetMedia --endpoint-url 파라미터를 사용하여 이 엔드포인트로 요청을 전송합니다.

미디어 데이터 (프래그먼트) 를 스트림에 저장하면 Kinesis Video Streams는 들어오는 각 프래그먼트와 관련 메타데이터를 “청크”라고 하는 위치에 저장합니다. 자세한 내용은 을 참조하십시오. PutMedia GetMediaAPI는 요청에서 지정한 청크부터 시작하여 이러한 청크의 스트림을 반환합니다.

API 사용 시 다음과 같은 제한이 적용됩니다. GetMedia

  • 클라이언트는 스트림당 초당 GetMedia 최대 5회까지 호출할 수 있습니다.

  • Kinesis Video Streams는 세션 중에 초당 최대 25메가바이트 (또는 초당 200메가비트) 의 속도로 미디어 데이터를 전송합니다. GetMedia

참고

GetMediaHTTP 응답 상태 코드는 즉시 반환되지만 재생에 사용할 수 있는 인제스트된 프래그먼트가 없는 경우 3초 후에 HTTP 응답 페이로드 읽기 시간이 초과됩니다.

참고

Kinesis Video Streams 미디어 API를 호출한 후 오류가 발생하는 경우 HTTP 상태 코드 및 응답 본문 외에도 다음과 같은 정보가 포함됩니다.

  • x-amz-ErrorTypeHTTP 헤더 - HTTP 상태 코드가 제공하는 내용 외에도 보다 구체적인 오류 유형을 포함합니다.

  • x-amz-RequestIdHTTP 헤더 — 문제를 신고하려는 경우 지원 팀에서 요청 ID를 제공하면 문제를 더 잘 진단할 수 있습니다. AWS

HTTP 상태 코드와 ErrorType 헤더를 모두 사용하여 오류를 재시도할 수 있는지 여부와 조건에 대해 프로그래밍 방식으로 결정할 수 있으며, 클라이언트 프로그래머가 성공적으로 다시 시도하기 위해 취해야 할 조치에 대한 정보도 제공할 수 있습니다.

자세한 내용은 이 항목 하단의 오류 섹션 및 일반적인 오류를 참조하십시오.

Request Syntax

POST /getMedia HTTP/1.1 Content-type: application/json { "StartSelector": { "AfterFragmentNumber": "string", "ContinuationToken": "string", "StartSelectorType": "string", "StartTimestamp": number }, "StreamARN": "string", "StreamName": "string" }

URI 요청 파라미터

요청은 URI 파라미터를 사용하지 않습니다.

요청 본문

요청은 JSON 형식으로 다음 데이터를 받습니다.

StartSelector

지정된 스트림에서 가져올 시작 청크를 식별합니다.

유형: StartSelector객체

필수 여부: 예

StreamARN

미디어 콘텐츠를 가져오려는 스트림의 ARN입니다. 를 지정하지 않는 경우 를 지정해야 합니다. streamARN streamName

유형: 문자열

길이 제약: 최소 길이 1. 최대 길이는 1024입니다.

패턴: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+

Required: No

StreamName

미디어 콘텐츠를 가져오려는 Kinesis 비디오 스트림 이름입니다. 를 지정하지 않는 경우 를 지정해야 합니다. streamName streamARN

유형: 문자열

길이 제약 조건: 최소 길이는 1입니다. 최대 길이는 256입니다.

패턴: [a-zA-Z0-9_.-]+

필수 여부: 아니요

응답 구문

HTTP/1.1 200 Content-Type: ContentType Payload

응답 요소

작업이 성공하면 서비스가 HTTP 200 응답을 반송합니다.

응답에 다음 HTTP 헤더가 반환됩니다.

ContentType

요청된 미디어의 콘텐츠 유형.

길이 제약: 최소 길이 1. 최대 길이 128.

패턴: ^[a-zA-Z0-9_\.\-]+$

응답은 다음 내용을 HTTP 본문으로 반환합니다.

Payload

Kinesis Video Streams가 반환하는 페이로드는 지정된 스트림의 청크 시퀀스입니다. 청크에 대한 자세한 내용은 을 참조하십시오. PutMedia Kinesis Video Streams가 호출에서 GetMedia 반환하는 청크에는 다음과 같은 추가 마트로스카 (MKV) 태그도 포함됩니다.

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 문자열) - GetMedia 통화가 종료되는 경우 다음 요청에서 이 연속 토큰을 사용하여 마지막 요청이 종료된 다음 청크를 가져올 수 있습니다.

  • AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 문자열) - 클라이언트 애플리케이션은 이 태그 값을 사용하여 응답에 반환된 청크가 스트림의 최신 청크보다 얼마나 뒤쳐져 있는지 확인할 수 있습니다.

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - 청크에 반환된 프래그먼트 번호입니다.

  • AWS_KINESISVIDEO_서버_타임스탬프 - 프래그먼트의 서버 타임스탬프.

  • AWS_KINESISVIDEO_프로듀서_타임스탬프 - 프래그먼트의 프로듀서 타임스탬프.

오류가 발생할 경우 다음 태그가 표시됩니다.

  • AWS_KINESISVIDEO_ERROR_CODE - 중지를 일으킨 오류에 대한 문자열 설명입니다. GetMedia

  • AWS_KINESISVIDEO_ERROR_ID: 오류의 정수 코드입니다.

오류 코드는 다음과 같습니다.

  • 3002 - 스트림에 쓰는 중 오류 발생

  • 4000 - 요청된 프래그먼트를 찾을 수 없음

  • 4500 - 스트림의 KMS 키에 대한 액세스가 거부되었습니다.

  • 4501 - 스트림의 KMS 키가 비활성화되었습니다.

  • 4502 - 스트림의 KMS 키에 대한 유효성 검사 오류

  • 4503 - 스트림에 지정된 KMS 키를 사용할 수 없습니다.

  • 4504 - 스트림에 지정된 KMS 키가 잘못 사용되었습니다.

  • 4505 - 스트림에 지정된 KMS 키의 상태가 잘못되었습니다.

  • 4506 - 스트림에 지정된 KMS 키를 찾을 수 없습니다.

  • 5000 - 내부 오류

Errors

모든 작업에서 발생하는 일반적인 오류에 대한 자세한 내용은 일반적인 오류 섹션을 참조하세요.

ClientLimitExceededException

허용된 클라이언트 호출 한도를 초과했기 때문에 Kinesis Video Streams가 요청 병목 현상을 일으켰습니다. 나중에 전화를 걸어 보세요.

HTTP 상태 코드: 400

ConnectionLimitExceededException

허용된 클라이언트 연결 제한을 초과했기 때문에 Kinesis Video Streams가 요청 병목 현상을 일으켰습니다.

HTTP 상태 코드: 400

InvalidArgumentException

이 입력 파라미터의 값이 유효하지 않습니다.

HTTP 상태 코드: 400

InvalidEndpointException

호출자가 잘못된 엔드포인트를 사용하여 스트림에 데이터를 썼습니다. 이러한 예외를 수신한 사용자는 APIName set GetDataEndpoint to로 PUT_MEDIA 호출하고 응답의 엔드포인트를 사용하여 다음 PutMedia 호출을 호출해야 합니다.

HTTP 상태 코드: 400

NotAuthorizedException

호출자가 지정된 스트림에서 작업을 수행할 권한이 없거나 토큰이 만료되었습니다.

HTTP 상태 코드: 401

ResourceNotFoundException

상태 코드: 404, 지정된 이름의 스트림이 존재하지 않습니다.

HTTP 상태 코드: 404

참고

언어별 AWS SDK 중 하나에서 이 API를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.