기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GetMedia
이 API를 사용하여 Kinesis 비디오 스트림에서 미디어 콘텐츠를 검색할 수 있습니다. 요청에서 스트림 이름 또는 스트림 Amazon 리소스 이름 (ARN) 과 시작 청크를 식별합니다. 그러면 Kinesis Video Streams는 청크 스트림을 프래그먼트 번호에 따라 순서대로 반환합니다.
참고
먼저 GetDataEndpoint
API를 호출하여 엔드포인트를 가져와야 합니다. 그런 다음 GetMedia
--endpoint-url 파라미터를 사용하여 이 엔드포인트로 요청을 전송합니다.
미디어 데이터 (프래그먼트) 를 스트림에 저장하면 Kinesis Video Streams는 들어오는 각 프래그먼트와 관련 메타데이터를 “청크”라고 하는 위치에 저장합니다. 자세한 내용은 을 참조하십시오. PutMedia GetMedia
API는 요청에서 지정한 청크부터 시작하여 이러한 청크의 스트림을 반환합니다.
API 사용 시 다음과 같은 제한이 적용됩니다. GetMedia
-
클라이언트는 스트림당 초당
GetMedia
최대 5회까지 호출할 수 있습니다. -
Kinesis Video Streams는 세션 중에 초당 최대 25메가바이트 (또는 초당 200메가비트) 의 속도로 미디어 데이터를 전송합니다.
GetMedia
참고
GetMedia
HTTP 응답 상태 코드는 즉시 반환되지만 재생에 사용할 수 있는 인제스트된 프래그먼트가 없는 경우 3초 후에 HTTP 응답 페이로드 읽기 시간이 초과됩니다.
참고
Kinesis Video Streams 미디어 API를 호출한 후 오류가 발생하는 경우 HTTP 상태 코드 및 응답 본문 외에도 다음과 같은 정보가 포함됩니다.
-
x-amz-ErrorType
HTTP 헤더 - HTTP 상태 코드가 제공하는 내용 외에도 보다 구체적인 오류 유형을 포함합니다. -
x-amz-RequestId
HTTP 헤더 — 문제를 신고하려는 경우 지원 팀에서 요청 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
setGetDataEndpoint
to로PUT_MEDIA
호출하고 응답의 엔드포인트를 사용하여 다음PutMedia
호출을 호출해야 합니다.HTTP 상태 코드: 400
- NotAuthorizedException
-
호출자가 지정된 스트림에서 작업을 수행할 권한이 없거나 토큰이 만료되었습니다.
HTTP 상태 코드: 401
- ResourceNotFoundException
-
상태 코드: 404, 지정된 이름의 스트림이 존재하지 않습니다.
HTTP 상태 코드: 404
참고
언어별 AWS SDK 중 하나에서 이 API를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.