기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon S3 전송 시작하기
현재 고객은 자체 이미지 트랜스코딩 파이프라인을 실행 및 관리하여 스크러빙, 이미지 미리 보기, 이미지에서 ML 모델 실행 등과 같은 다양한 목적으로 이미지를 생성합니다. Kinesis Video Streams는 이미지를 트랜스코딩하여 전송하는 기능을 제공합니다. Kinesis Video Streams는 태그를 기반으로 실시간으로 비디오 데이터에서 이미지를 자동으로 추출하여 고객이 지정한 S3 버킷으로 이미지를 전송합니다.
UpdateImageGenerationConfiguration
Amazon S3에 이미지를 생성할 수 있도록 Kinesis 비디오 스트림을 설정하려면:
-
생성하기S3 버킷새 API를 사용하여 SDK에 추가된 태그를 기반으로 이미지를 생성할 수 있습니다. 참고 사항S3 URI이는 다음 단계에서 스트림의 이미지 생성 구성을 업데이트할 때 필요합니다.
-
라는 JSON 파일을 생성합니다.update-image-generation-input.json다음 내용을 입력합니다.
{ "StreamName": "TestStream", "ImageGenerationConfiguration": { "Status": "ENABLED", "DestinationConfig": { "DestinationRegion": "us-east-1", "Uri": "s3://bucket-name" }, "SamplingInterval": 200, "ImageSelectorType": "PRODUCER_TIMESTAMP", "Format": "JPEG", "FormatConfig": { "JPEGQuality": "80" }, "WidthPixels": 320, "HeightPixels": 240 } }
사용할 수 있습니다AWS CLI호출하려면UpdateImageGenerationConfiguration
이전에 생성한 Amazon S3 ARN을 추가하고 상태를 다음과 같이 변경하는 API 작업ENABLED
.
aws kinesisvideo update-image-generation-configuration \ --cli-input-json file://./update-image-generation-input.json \
요청:
UpdateImageGenerationConfiguration HTTP/1.1 Method: 'POST' Path: '/updateImageGenerationConfiguration' Body: { StreamName: 'String', // Optional. Either stream name or arn should be passed StreamArn: 'String', // Optional. Either stream name or arn should be passed ImageGenerationConfiguration : { // required Status: 'Enum', // ENABLED | DISABLED, ImageSelectorType: 'Enum', // SERVER_TIMESTAMP | PRODUCER_TIMESTAMP.. DestinationConfig: { DestinationRegion: 'String', Uri: string, }, SamplingInterval: 'Number'// Format: 'Enum', // JPEG | PNG // Optional parameters FormatConfig: { 'String': 'String', }, WidthPixels: 'Number', // 1 - 3840 (4k). HeightPixels: 'Number' // 1 - 2160 (4k). } }
응답:
HTTP/1.1 200 Content-type: application/json Body: { }
참고
이미지 생성 구성을 업데이트한 후 이미지 생성 워크플로를 시작하는 데 최소 1분이 걸립니다. 호출하기 전에 최소 1분 정도 기다리세요.PutMedia
업데이트 호출 후
DescribeImageGenerationConfiguration
스트림에 대해 이미 설정된 이미지 생성 구성을 보려면 고객이 다음을 수행할 수 있습니다.DescribeImageGenerationConfiguration
다음과 같이 요청하십시오.
요청:
DescribeImageGenerationConfiguration HTTP/1.1 Method: 'POST' Path: '/describeImageGenerationConfiguration' Body: { StreamName: 'String', // Optional. Either stream name or arn should be passed StreamArn: 'String', // Optional. Either stream name or arn should be passed }
응답:
HTTP/1.1 200 Content-type: application/json Body: { ImageGenerationConfiguration : { Status: 'Enum', ImageSelectorType: 'Enum', // SERVER_TIMESTAMP | PRODUCER_TIMESTAMP DestinationConfig: { DestinationRegion: 'String' Uri: 'string', }, SamplingInterval: 'Number', Format: 'Enum', FormatConfig: { 'String': 'String', }, WidthPixels: 'Number', HeightPixels: 'Number' } }
에 대해 자세히 알아보려면DescribeImageGenerationConfiguration
기능, 참조DescribeImageGenerationConfiguration 에서아마존 키네시스 비디오 스트림 개발자 가이드.
프로듀서 MKV 태그
Kinesis Video Streams Producer SDK를 사용하면 SDK에서 API 작업을 노출하여 관심 있는 특정 프래그먼트에 태그를 지정할 수 있습니다. 태그의 예는 다음을 참조하십시오.이 코드
Amazon S3 이미지 생성 태그와 함께 제공된 모든 프래그먼트 메타데이터는 Amazon S3 메타데이터로 저장됩니다.
프로듀서 MKV 태그의 구문
|+ Tags | + Tag | // MANDATORY: Predefined MKV tag to trigger image generation for the fragment | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION | // OPTIONAL: S3 prefix which will be set as prefix for generated image. | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_PREFIX | + String:
image_prefix_in_s3
// 256 bytes max m | // OPTIONAL: Key value pairs that will be persisted as S3 Image object metadata. | + Simple | + Name:CUSTOM_KEY_1
// Max 128 bytes | + String:CUSTOM_VALUE_1
// Max 256 bytes | + Simple | + Name:CUSTOM_KEY_2
// Max 128 bytes | + String:CUSTOM_VALUE_2
// Max 256 bytes
다음을 사용하여 Producer SDK에 메타데이터 태그 추가PutEventMetaData
더PutEventMetaData
함수는 이벤트와 관련된 MKV 파일을 추가합니다.PutEventMetaData
두 개의 매개 변수를 사용합니다. 첫 번째 파라미터는 값이 다음에서 오는 이벤트입니다.STREAM_EVENT_TYPE
열거형. 두 번째 파라미터,pStreamEventMetadata
제한
다음 표에는 메타데이터 태그와 관련된 제한 사항이 나와 있습니다. 메타데이터 태그 제한을 조정할 수 있는 경우 계정 관리자를 통해 증가를 요청할 수 있습니다.
한도 | 최대 값 | 조정 가능 |
---|---|---|
이미지 접두사 길이 |
256 |
아니요 |
선택적 메타데이터 키 길이 |
128 |
아니요 |
선택적 메타데이터 값 길이 |
256 |
아니요 |
선택적 메타데이터의 최대 수 |
10 |
예 |
S3 오브젝트 메타데이터
기본적으로 Kinesis 비디오 스트림은 다음을 설정합니다.프래그먼트 넘버,생산자, 및서버 타임스탬프Amazon S3 객체 메타데이터로 생성된 이미지 MKV 태그에 프래그먼트 데이터가 추가로 지정되면 해당 태그도 Amazon S3 객체 메타데이터에 추가됩니다. 다음 예제는 Amazon S3 객체 메타데이터의 올바른 구문을 보여줍니다.
{ // KVS S3 object metadata x-amz-meta-aws_kinesisvideo_fragment_number : 'string', x-amz-meta-aws_kinesisvideo_producer_timestamp: 'number', x-amz-meta-aws_kinesisvideo_server_timestamp: 'number', // Optional key value pair sent as part of the MKV tags
custom_key_1
:custom_value_1
,custom_key_2
:custom_value_2
, }
S3 오브젝트 경로 (이미지)
다음 목록은 개체 경로의 올바른 형식을 보여 주고 경로 내의 각 요소를 설명합니다.
형식:
ImagePrefix
_계정 ID
_StreamName
_ImageTimecode
_랜덤 아이디
.파일 확장명
1.ImagePrefix
- 가치AWS_KINESISVIDEO_IMAGE_PREFIX
.
2.AccountID
- 스트림이 생성되는 계정 ID
3.StreamName
- 이미지가 생성되는 스트림의 이름입니다.
4.ImageTimecode
- 이미지가 생성되는 프래그먼트의 에포크 타임코드
5.RandomID
- 랜덤 GUID.
6.file-extension
- 요청된 이미지 형식에 따른 JPG 또는 PNG
스로틀링 방지를 위한 Amazon S3 URI 권장 사항
Amazon S3에 수천 개의 이미지를 쓸 경우 병목 현상이 발생할 위험이 있습니다. 자세한 내용은 을 참조하십시오.S3 프리픽스 풋 요청 제한
Amazon S3 접두사는 초당 3,500개의 PUT 요청의 PUT 한도로 시작하며 시간이 지남에 따라 고유한 접두사에 대한 제한이 점차 늘어납니다. 날짜와 시간을 Amazon S3 접두사로 사용하지 마십시오. 타임코딩된 데이터는 한 번에 하나의 접두사에 영향을 미치며 정기적으로 변경되므로 이전의 접두사 확장이 무효화됩니다. 더 빠르고 일관된 Amazon S3 확장을 가능하게 하려면 Amazon S3 대상 URI에 16진수 코드나 UUID와 같은 임의의 접두사를 추가하는 것이 좋습니다. 예를 들어 16진수 코드 접두사는 요청을 16개의 서로 다른 접두사 (각 고유한 16진수 문자의 접두사) 로 자연스럽게 분할합니다. 그러면 Amazon S3가 자동 조정된 후 초당 56,000건의 PUT 요청이 허용됩니다.