파이프라인별 작업 나열 - Amazon Elastic Transcoder

다음을 통해 비용을 절감하고 더 많은 기능을 이용할 수 있습니다. AWS Elemental MediaConvert

MediaConvert 는 포괄적인 고급 트랜스코딩 기능을 제공하는 최신 파일 기반 비디오 트랜스코딩 서비스로, 온디맨드 요금은 분당 0.0075달러부터 시작합니다. 자세한 내용을 읽어보세요.

이미 Amazon Elastic Transcoder를 사용하고 계신가요? MediaConvert마이그레이션하는 방법은 간단합니다. 자세한 내용은 마이그레이션 프로세스에 대한 중요한 정보와 추가 리소스 링크가 포함된 이 개요를 참조하세요.

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

파이프라인별 작업 나열

설명

파이프라인에 할당된 작업 목록을 가져오려면 /2012-09-25/jobsByPipeline/pipelineId 리소스에 GET 요청을 보냅니다. 파이프라인별로 작업을 나열하면, Elastic Transcoder는 사용자가 지정된 파이프라인에 대해 최근 생성한 작업을 나열합니다.

요청

조건

파이프라인에 현재 있는 작업에 대한 정보를 확인하려면 다음 GET 요청을 보냅니다.

GET /2012-09-25/jobsByPipeline/pipeline Id? Ascending=true|false& PageToken=value for accessing the next page of results HTTP/1.1 Content-Type: charset=UTF-8 Accept: */* Host: elastictranscoder.Elastic Transcoder endpoint.amazonaws.com:443 x-amz-date: 20130114T174952Z Authorization: AWS4-HMAC-SHA256 Credential=AccessKeyID/request-date/Elastic Transcoder endpoint/elastictranscoder/aws4_request, SignedHeaders=host;x-amz-date;x-amz-target, Signature=calculated-signature

요청 파라미터

이 작업은 다음 요청 파라미터를 사용합니다. Elastic Transcoder는 지정된 파이프라인에서 지난 6개월 분량의 작업을 반환합니다.

PipelineId

지정된 파이프라인에 추가한 작업에 대한 정보를 확인하려면 해당 파이프라인의 Id 객체의 값을 지정합니다.

Ascending

작업을 제출 날짜 및 시간순으로 나열하려면 true를 입력합니다. 작업을 시간 역순으로 나열하려면 false를 입력합니다.

PageToken

Elastic Transcoder가 반환하는 결과 페이지가 여러 개라면 후속 GET 요청에서 PageToken을 사용해 이어지는 각 결과 페이지를 확인할 수 있습니다.

요청 헤더

이 작업은 모든 작업에 일반적인 요청 헤더만 사용합니다. 일반적인 요청 헤더에 대한 내용은 HTTP 헤더 콘텐츠 섹션을 참조하세요.

요청 본문

이 작업은 요청 본문을 사용하지 않습니다.

응답

조건

Status: 200 OK x-amzn-RequestId: c321ec43-378e-11e2-8e4c-4d5b971203e9 Content-Type: application/json Content-Length: number of characters in the response Date: Mon, 14 Jan 2013 06:01:47 GMT { "Jobs":[ { "Id":"Id that Elastic Transcoder assigned to the job", "Inputs":[{ "Key":"name of the file to transcode", "Encryption":{ "Mode":"aes-cbc-pkcs7|aes-ctr|aes-gcm", "Key":"encrypted and base64-encoded decryption key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector" }, "TimeSpan":{ "StartTime":"starting place of the clip, in HH:mm:ss.SSS or sssss.SSS", "Duration":"duration of the clip, in HH:mm:ss.SSS or sssss.SSS" }, "FrameRate":"auto|10|15|23.97|24|25|29.97|30|50|60", "Resolution":"auto|width in pixelsxheight in pixels", "AspectRatio":"auto|1:1|4:3|3:2|16:9", "Interlaced":"auto|true|false", "Container":"auto|aac|asf|avi|divx|flv|m4a|mkv|mov|mp2|mp3| mp4|mpeg|mpeg-ps|mpeg-ts|mxf|ogg|vob|wav|webm", "DetectedProperties":{ "Width":"video width in pixels", "Height":"video height in pixels", "FrameRate":"video frame rate in fps", "FileSize":"file size in bytes", "DurationMillis":"file duration in milliseconds" }, "InputCaptions":{ "MergePolicy":"MergeOverride|MergeRetain|Override", "CaptionSources":[ { "Key":"name of the input caption file", "Language":"language of the input caption file", "TimeOffset":"starting place of the captions, in either [-+]SS.sss or [-+]HH:mm:SS.ss", "Label":"label for the caption" "Encryption":{ "Mode":"aes-cbc-pkcs7|aes-ctr|aes-gcm", "Key":"encrypted and base64-encoded decryption key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector" }, }, {...} ] } }, {...}], "OutputKeyPrefix":"prefix for file names in Amazon S3 bucket", "Outputs":[{ "Id":"sequential counter", "Key":"name of the transcoded file", "Encryption":{ "Mode":"s3||aes-cbc-pkcs7|aes-ctr| aes-gcm", "Key":"encrypted and base64-encoded encryption key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector" }, "ThumbnailPattern":""|"pattern", "Rotate":"auto|0|90|180|270", "PresetId":"preset to use for the job", "SegmentDuration":"[1,60]", "Watermarks":[ { "InputKey":"name of the .png or .jpg file", "Encryption":{ "Mode":"s3||aes-cbc-pkcs7| aes-ctr|aes-gcm", "Key":"encrypted and base64-encoded encryption key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector" }, "PresetWatermarkId":"value of Video:Watermarks:Id in preset" }, {...} ], "AlbumArt":[ { "AlbumArtMerge":"Replace|Prepend|Append|Fallback", "AlbumArtArtwork":"can be empty, but not null":[ { "AlbumArtInputKey":"name of the file to use as album art", "Encryption":{ "Mode":"s3||aes-cbc-pkcs7| aes-ctr|aes-gcm", "Key":"encrypted and base64-encoded encryption key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector" }, "AlbumArtMaxWidth":"maximum width of output album art in pixels", "AlbumArtMaxHeight":"maximum height of output album art in pixels", "AlbumArtSizingPolicy":"Fit|Fill|Stretch|Keep| ShrinkToFit|ShrinkToFill", "AlbumArtPaddingPolicy":"Pad|NoPad", "AlbumArtFormat":"jpg|png" }, {...} ] }, {...}], "Duration":"duration in seconds", "DurationMillis":"duration in milliseconds", "Height":"height in pixels", "Width":"width in pixels", "FrameRate":"frame rate in fps", "FileSize":"file size in bytes", "Status":"Submitted|In Progress|Complete|Error", "StatusDetail":"detail associated with Status", "Captions":{ "CaptionFormats":[ { "Format":"cea-708|dfxp|mov-text|scc|srt|webvtt", "Pattern":"myCaption/file-language", "Encryption":{ "Mode":"s3||aes-cbc-pkcs7| aes-ctr|aes-gcm", "Key":"encrypted and base64-encoded encryption key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector" } }, {...} ] }, "AppliedColorSpaceConversion":"None|Bt601ToBt709| Bt709ToBt601" }, {...} ], "Playlists":[ { "Format":"HLSv3|HLSv4|MPEG-DASH|Smooth", "Name":"name", "OutputKeys":[ "Outputs:Key to include in this playlist", {...} ], "HlsContentProtection":{ "Method":"aes-128", "Key":"encrypted and base64-encoded protection key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector", "LicenseAcquisitionUrl":"license acquisition url", "KeyStoragePolicy":"NoStore|WithVariantPlaylists" }, "PlayReadyDrm":{ "Format":"microsoft|discretix-3.0", "Key":"encrypted and base64-encoded DRM key", "KeyId":"id of the DRM key", "KeyMd5":"base64-encoded key digest", "InitializationVector":"base64-encoded initialization vector", "LicenseAcquisitionUrl":"license acquisition url" } }, {...} ], "UserMetadata": { "Key":"Value", "Second user metadata key":"Second user metadata value" }, "PipelineId":"PipelineId for the job", "Status":"Submitted|Progressing|Complete|Canceled|Error", "Timing":{ "SubmitTimeMillis":"job submitted time in epoch milliseconds", "StartTimeMillis":"job start time in epoch milliseconds", "FinishTimeMillis":"job finish time in epoch milliseconds" } }, {...} ], "NextPageToken":value for accessing the next page of results|null }

응답 헤더

이 작업은 대부분의 응답에 일반적인 응답 헤더만 사용합니다. 일반적인 응답 헤더에 대한 내용은 HTTP 응답 섹션을 참조하세요.

응답 본문

응답 본문에는 각 작업에 대해 검색 조건을 충족하는 요소 한 개가 포함되며, 각 요소에는 작업을 만들 때 지정한 값이 포함됩니다. 작업 값에 대한 자세한 내용은 Elastic Transcoder 작업을 만들 때 지정하는 설정 섹션을 참조하세요.

또한 Elastic Transcoder는 다음 값을 반환합니다.

(자동) Id

Elastic Transcoder가 작업에 할당한 식별자입니다. 이 값을 사용하여 작업의 설정을 가져오거나 작업을 삭제합니다.

(자동) Inputs:DetectedProperties

입력 파일의 감지된 속성입니다. Elastic Transcoder는 입력 파일에서 이러한 값을 식별합니다.

(자동) Inputs:Width

입력 파일의 감지된 너비(픽셀 단위)입니다.

(자동) Inputs:Height

입력 파일의 감지된 높이(픽셀 단위)입니다.

(자동) Inputs:FrameRate

입력 파일의 감지된 프레임 속도(초당 프레임 수)입니다.

(자동) Inputs:FileSize

입력 파일의 감지된 크기(바이트)입니다.

(자동) Inputs:DurationMillis

입력 파일의 감지된 지속 시간(밀리초)입니다.

(자동) Outputs:Id

현재 작업의 출력 중에서 출력을 식별하는 1부터 시작하는 순차 카운터. Output 구문에서 이 값은 항상 1입니다.

(자동) Outputs:Duration

출력 파일의 지속 시간(초)으로, 반올림됩니다.

(자동) Outputs:DurationMillis

출력 파일의 기간(밀리초)입니다.

(자동) Outputs:Width

출력 파일의 너비(픽셀)입니다.

(자동) Outputs:Height

출력 파일의 높이(픽셀)입니다.

(자동) Outputs:FrameRate

출력 파일의 프레임 속도(초당 프레임 수)입니다.

(자동) Outputs:FileSize

출력 파일의 파일 크기(바이트)입니다.

(자동) Outputs:Status

작업 내 단일 출력의 상태입니다. 작업에 지정한 출력이 하나뿐일 경우 Outputs:Status는 항상 Job:Status와 동일합니다. 여러 개의 출력을 지정한 경우:

  • Elastic Transcoder가 첫 번째 출력을 처리하기 시작할 때까지 모든 출력의 Job:StatusOutputs:StatusSubmitted입니다.

  • Elastic Transcoder가 첫 번째 출력을 처리하기 시작하면 해당 출력의 Outputs:StatusJob:Status가 모두 Progressing으로 바뀝니다. 각 출력에서 Outputs:Status 값은 Elastic Transcoder가 해당 출력을 처리하기 시작할 때까지 Submitted를 유지합니다.

  • 모든 출력이 최종 상태(Job:Status 또는 Progressing)에 도달할 때까지 CompleteError을 유지합니다.

  • 모든 출력이 최종 상태에 도달하면 모든 출력의 Outputs:StatusComplete인 경우에만 Job:StatusComplete로 바뀝니다. 하나 이상의 출력에서 Outputs:StatusError일 경우Job:Status의 최종 상태도 Error입니다.

Status 값은 다음 중 하나입니다. Submitted, Progressing, Complete, Canceled 또는 Error.

(자동) Outputs:StatusDetail

Outputs:Status를 더 자세히 설명하는 정보입니다.

(자동) Outputs:AppliedColorSpaceConversion

Elastic Transcoder가 ColorSpaceConversionMode를 포함한 프리셋을 사용하여 출력 파일을 트랜스코딩한 경우 AppliedColorSpaceConversion 파라미터가 사용된 변환을 표시합니다. 프리셋에 ColorSpaceConversionMode가 정의되지 않은 경우 이 파라미터는 작업 응답에 포함되지 않습니다.

(자동) Status

작업에 여러 개의 출력을 지정한 경우 전체 작업의 상태. Elastic Transcoder가 작업을 처리하기 시작하면 Job:StatusProgressing으로 바뀐 후 Elastic Transcoder가 모든 출력을 처리할 때까지 바뀌지 않습니다. 처리가 완료되면 Job:StatusComplete로 바뀌거나, 실패한 출력이 있을 경우 Error로 바뀝니다.

작업에 지정한 출력이 하나뿐일 경우 Job:StatusOutputs:Status와 동일합니다.

Job:Status 값은 다음 중 하나입니다. Submitted, Progressing, Complete, Canceled 또는 Error.

(자동) Timing

작업 타이밍에 대한 세부 정보입니다.

(자동) Timing:SubmitTimeMillis

작업이 Elastic Transcoder에 제출된 시간(epoch 밀리초)입니다.

(자동) Timing:StartTimeMillis

작업이 트랜스코딩을 시작한 시간(epoch 밀리초)입니다.

(자동) Timing:FinishTimeMillis

작업이 트랜스코딩을 마친 시간(epoch 밀리초)입니다.

epoch 시간에 대한 자세한 내용은 Wikipedia의 Epoch Computing 페이지를 참조하세요.

(자동) NextPageToken

결과의 두 번째 및 이후 페이지(있는 경우)에 액세스하는 데 사용하는 값. 지정된 파이프라인의 작업이 한 페이지에 표시될 수 있거나 결과의 마지막 페이지에 도달한 경우 NextPageToken 값은 null입니다.

오류

Elastic Transcoder 예외 및 오류 메시지에 대한 자세한 내용은 Elastic Transcoder에서의 오류 처리 섹션을 참조하세요.

예시

다음 예제 요청은 작업을 만듭니다.

예제 요청

다음 예제 요청은 지난 6개월 동안 파이프라인 ID 1111111111111-abcde1에 할당한 모든 작업의 목록을 가져옵니다.

GET /2012-09-25/jobsByPipeline/1111111111111-abcde1?Ascending=true HTTP/1.1 Content-Type: charset=UTF-8 Accept: */* Host: elastictranscoder.Elastic Transcoder endpoint.amazonaws.com:443 x-amz-date: 20130114T174952Z Authorization: AWS4-HMAC-SHA256 Credential=AccessKeyID/request-date/Elastic Transcoder endpoint/elastictranscoder/aws4_request, SignedHeaders=host;x-amz-date;x-amz-target, Signature=calculated-signature

샘플 응답

Status: 200 OK x-amzn-RequestId: c321ec43-378e-11e2-8e4c-4d5b971203e9 Content-Type: application/json Content-Length: number of characters in the response Date: Mon, 14 Jan 2013 06:01:47 GMT { "Jobs":[ { "Id":"3333333333333-abcde3", "Inputs":[{ "Key":"cooking/lasagna.mp4", "FrameRate":"auto", "Resolution":"auto", "AspectRatio":"auto", "Interlaced":"auto", "Container":"mp4", "InputCaptions":{ "MergePolicy":"MergeOverride", "CaptionSources":[ { "Key":"scc/lasagna-kindlefirehd.scc", "Language":"en", "Label":"English" }, { "Key":"srt/lasagna-kindlefirehd.srt", "Language":"fr", "TimeOffset":"1:00:00", "Label":"French" } ], }, "DetectedProperties":{ "Width":"1280", "Height":"720", "FrameRate":"30.00", "FileSize":"5872000", "DurationMillis":"1003000" } }], "Outputs":[ { "Id":"1", "Key":"cooking/lasagna-KindleFireHD.mp4", "ThumbnailPattern":"cooking/lasagna-{count}-KindleFireHD", "Rotate":"0", "PresetId":"1351620000000-100080", "Watermarks":[ { "InputKey":"logo/128x64.png", "PresetWatermarkId":"company logo 128x64", } ], "Duration":"1003", "DurationMillis":"1003000", "Width":"1280", "Height":"720", "FrameRate":"30.00", "FileSize":"5872000", "Status":"Submitted", "StatusDetail":"Job has been received.", "Captions":{ "CaptionFormats":[ { "Format":"scc", "Pattern":"scc/lasagna-{language}", }, { "Format":"srt", "Pattern":"srt/lasagna-{language}" }, { "Format":"mov-text" } ] } }, { "Id":"2", "Key":"cooking/lasagna-iPhone4s.mp4", "ThumbnailPattern":"cooking/lasagna-{count}-iPhone4s", "Rotate":"0", "PresetId":"1351620000000-100020", "Watermarks":[ { "InputKey":"logo/128x64.png", "PresetWatermarkId":"company logo 128x64" } ], "Duration":"1003", "DurationMillis":"1003000", "Width":"1920", "Height":"1080", "FrameRate":"30.00", "FileSize":"4718600", "Status":"Submitted", "StatusDetail":"Job has been received.", "AppliedColorSpaceConversion":"None" } ], "PipelineId":"1111111111111-abcde1", "Timing":{ "SubmitTime":"1427212800000", "StartTime":"1427212856000", "FinishTime":"1427212875000" } }, { "Id":"4444444444444-abcde4", "Input":{ "Key":"cooking/baked-ziti.mp4", "FrameRate":"auto", "Resolution":"auto", "AspectRatio":"auto", "Interlaced":"auto", "Container":"mp4", "DetectedProperties":{ "Width":"1280", "Height":"720", "FrameRate":"30.00", "FileSize":"5872000", "DurationMillis":"1003000" } }, "Outputs":[ { "Id":"1", "Key":"cooking/baked-ziti-KindleFireHD.mp4", "ThumbnailPattern":"cooking/baked-ziti-{count}-KindleFireHD", "Rotate":"0", "PresetId":"1351620000000-100080", "Watermarks":[ { "InputKey":"logo/128x64.png", "PresetWatermarkId":"company logo 128x64" } ], "Duration":"596", "DurationMillis":"1003000", "Width":"1280", "Height":"720", "FrameRate":"30.00", "FileSize":"4718600", "Status":"Complete", "StatusDetail":"" } ], "UserMetadata": { "Food type":"Italian", "Cook book":"recipe notebook" }, "PipelineId":"1111111111111-abcde1", "Timing":{ "SubmitTime":"1427212800000", "StartTime":"1427212856000", "FinishTime":"1427212875000" } } ], "NextPageToken":null }