기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
GetMedia
이를 사용하여 Kinesis 비디오 스트림에서 미디어 콘텐츠를 API 검색합니다. 요청에서 스트림 이름 또는 스트림 Amazon 리소스 이름(ARN)과 시작 청크를 식별합니다. 그런 다음 Kinesis Video Streams는 조각 번호별로 청크 스트림을 순서대로 반환합니다.
참고
엔드포인트를 가져오GetDataEndpoint
API려면 먼저를 호출해야 합니다. 그런 다음 --endpoint-url 파라미터를 사용하여이 엔드포인트로 GetMedia
요청을 보냅니다.
스트림에 미디어 데이터(분할)를 배치하면 Kinesis Video Streams는 들어오는 각 조각과 관련 메타데이터를 '청크'라고 하는에 저장합니다. 자세한 내용은 PutMedia 단원을 참조하십시오. 는 요청에서 지정한 청크부터 시작하여 이러한 청크의 스트림을 GetMedia
API 반환합니다.
GetMedia
API는 장기 실행 연결을 API 통한 스트리밍으로 작동하도록 설계되었습니다. 각 조각에 대해 새 HTTP 연결이 설정되고 닫히는 기존 RESTful 방식으로는 사용할 수 없습니다. 를 사용하는 경우 HTTP 청크 전송 인코딩을 GetMedia
API사용하여 영구 연결을 통해 조각을 지속적으로 전송합니다.
를 사용할 때 다음 제한이 적용됩니다GetMedia
API.
-
클라이언트는 스트림당 초당
GetMedia
최대 5회까지 호출할 수 있습니다. -
Kinesis Video Streams는
GetMedia
세션 중에 초당 최대 25메가바이트(또는 초당 200메가비트)의 속도로 미디어 데이터를 전송합니다.
참고
GetMedia
HTTP 응답 상태 코드는 즉시 반환되지만 재생에 사용할 수 있는 수집된 조각이 없는 경우 HTTP 응답 페이로드의 읽기가 3초 후에 제한 시간이 초과됩니다.
참고
Kinesis Video Streams 미디어를 호출한 후 오류가 발생하면 HTTP 상태 코드 및 응답 본문 API외에도 다음과 같은 정보가 포함됩니다.
-
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입니다.
Pattern:
[a-zA-Z0-9_.-]+
필수 여부: 아니요
응답 구문
HTTP/1.1 200
Content-Type: ContentType
Payload
Response Elements
작업이 성공하면 서비스가 HTTP 200개의 응답을 다시 보냅니다.
응답은 다음 HTTP 헤더를 반환합니다.
- ContentType
-
요청된 미디어의 콘텐츠 유형입니다.
길이 제약: 최소 길이 1. 최대 길이 128.
Pattern:
^[a-zA-Z0-9_\.\-]+$
응답은 다음을 HTTP 본문으로 반환합니다.
- Payload
-
페이로드 Kinesis Video Streams 반환은 지정된 스트림의 청크 시퀀스입니다. 청크에 대한 자세한 내용은 섹션을 참조하세요PutMedia. Kinesis Video Streams가
GetMedia
호출에서 반환하는 청크에는 다음과 같은 추가 Matroska(MKV) 태그도 포함됩니다.-
AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 문자열) -
GetMedia
통화가 종료되는 경우 다음 요청에서이 연속 토큰을 사용하여 마지막 요청이 종료된 다음 청크를 가져올 수 있습니다. -
AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 문자열) - 클라이언트 애플리케이션은이 태그 값을 사용하여 응답에 반환된 청크가 스트림의 최신 청크에서 얼마나 멀리 떨어져 있는지 확인할 수 있습니다.
-
AWS_KINESISVIDEO_FRAGMENT_NUMBER - 청크에 반환된 조각 번호입니다.
-
AWS_KINESISVIDEO_SERVER_TIMESTAMP - 조각의 서버 타임스탬프입니다.
-
AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - 조각의 생산자 타임스탬프입니다.
오류가 발생하면 다음 태그가 표시됩니다.
-
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 - 내부 오류
-
오류
모든 작업에 공통되는 오류에 대한 내용은 일반적인 오류 섹션을 참조하세요.
- ClientLimitExceededException
-
Kinesis Video Streams는 허용된 클라이언트 호출 한도를 초과했기 때문에 요청을 제한했습니다. 나중에 직접 호출해 보십시오.
HTTP 상태 코드: 400
- ConnectionLimitExceededException
-
Kinesis Video Streams는 허용된 클라이언트 연결 한도를 초과했기 때문에 요청을 제한했습니다.
HTTP 상태 코드: 400
- InvalidArgumentException
-
이 입력 파라미터의 값이 잘못되었습니다.
HTTP 상태 코드: 400
- InvalidEndpointException
-
발신자가 잘못된 엔드포인트를 사용하여 스트림에 데이터를 씁니다. 이러한 예외를 수신할 때 사용자는가 로
APIName
설정된GetDataEndpoint
를 호출PUT_MEDIA
하고 응답에서 엔드포인트를 사용하여 다음PutMedia
호출을 호출해야 합니다.HTTP 상태 코드: 400
- NotAuthorizedException
-
호출자가 지정된 스트림에서 작업을 수행할 권한이 없거나 토큰이 만료되었습니다.
HTTP 상태 코드: 401
- ResourceNotFoundException
-
상태 코드: 404, 지정된 이름의 스트림이 존재하지 않습니다.
HTTP 상태 코드: 404
참고
언어별 중 하나API에서 이를 사용하는 방법에 대한 자세한 내용은 다음을 AWS SDKs참조하세요.