Skip to content

aws.elastictranscoder.list_jobs_by_status

Example SQL Queries

SELECT * FROM
aws.elastictranscoder.list_jobs_by_status
WHERE
"status" = 'VALUE';

Description

The ListJobsByStatus operation gets a list of jobs that have a specified status. The response body contains one element for each job that satisfies the search criteria.

Table Definition

Column NameColumn Data Type
status Required Input Column

The status of the job: Submitted, Progressing, Complete, Canceled, or Error.

VARCHAR
ascending Input Column

To list jobs in chronological order by the date and time that they were submitted, enter true. To list jobs in reverse chronological order, enter false.

VARCHAR
_aws_profile Input Column

The AWS profile defines the AWS identity used. It can be defined via credentials or by assuming a IAM role.

STRUCT(
"type" VARCHAR,
"name" VARCHAR,
"account_id" VARCHAR,
"via_profile_name" VARCHAR,
"assumed_role_arn" VARCHAR,
"organization" STRUCT(
"account_name" VARCHAR,
"id" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[],
"master_account" STRUCT(
"id" VARCHAR,
"email" VARCHAR
),
"parents" STRUCT(
"type" VARCHAR,
"id" VARCHAR,
"name" VARCHAR,
"tags" STRUCT(
"key" VARCHAR,
"value" VARCHAR
)[]
)[]
)
)
Show child fields
_aws_profile.account_id

The AWS account id

_aws_profile.assumed_role_arn

The ARN of the assumed role

_aws_profile.name

The unique name of the profile.

_aws_profile.organization

Information about this profile's membership in the AWS organization.

Show child fields
_aws_profile.organization.account_name

The name of account speciifed by the organization

_aws_profile.organization.id

The organization id

_aws_profile.organization.master_account
Show child fields
_aws_profile.organization.master_account.email

The organization master account email address

_aws_profile.organization.master_account.id

The organization master account id

_aws_profile.organization.parents[]
Show child fields
_aws_profile.organization.parents[].id

The id of the parent

_aws_profile.organization.parents[].name

The name of the parent

_aws_profile.organization.parents[].tags[]
Show child fields
_aws_profile.organization.parents[].tags[].key
_aws_profile.organization.parents[].tags[].value
_aws_profile.organization.parents[].type

The type of parent can be an organization unit or a root

_aws_profile.organization.tags[]
Show child fields
_aws_profile.organization.tags[].key
_aws_profile.organization.tags[].value
_aws_profile.type

The type of profile, either 'credentials' or 'assumed_role'

_aws_profile.via_profile_name

This IAM role for this profile is assumed by first utilizing another profile with this name to obtain credentials.

_aws_region Input Column

The AWS region to use.

VARCHAR
arn

The Amazon Resource Name (ARN) for the job.

VARCHAR
id

The identifier that Elastic Transcoder assigned to the job. You use this value to get settings for the job or to delete the job.

VARCHAR
input

A section of the request or response body that provides information about the file that is being transcoded.

STRUCT(
"key" VARCHAR,
"frame_rate" VARCHAR,
"resolution" VARCHAR,
"aspect_ratio" VARCHAR,
"interlaced" VARCHAR,
"container" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
),
"time_span" STRUCT(
"start_time" VARCHAR,
"duration" VARCHAR
),
"input_captions" STRUCT(
"merge_policy" VARCHAR,
"caption_sources" STRUCT(
"key" VARCHAR,
"language" VARCHAR,
"time_offset" VARCHAR,
"label" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[]
),
"detected_properties" STRUCT(
"width" BIGINT,
"height" BIGINT,
"frame_rate" VARCHAR,
"file_size" BIGINT,
"duration_millis" BIGINT
)
)
Show child fields
input.aspect_ratio

The aspect ratio of the input file. If you want Elastic Transcoder to automatically detect the aspect ratio of the input file, specify auto. If you want to specify the aspect ratio for the output file, enter one of the following values:

1:1, 4:3, 3:2, 16:9

If you specify a value other than auto, Elastic Transcoder disables automatic detection of the aspect ratio.

input.container

The container type for the input file. If you want Elastic Transcoder to automatically detect the container type of the input file, specify auto. If you want to specify the container type for the input file, enter one of the following values:

3gp, aac, asf, avi, divx, flv, m4a, mkv, mov, mp3, mp4, mpeg, mpeg-ps, mpeg-ts, mxf, ogg, vob, wav, webm

input.detected_properties

The detected properties of the input file.

Show child fields
input.detected_properties.duration_millis

The detected duration of the input file, in milliseconds.

input.detected_properties.file_size

The detected file size of the input file, in bytes.

input.detected_properties.frame_rate

The detected frame rate of the input file, in frames per second.

input.detected_properties.height

The detected height of the input file, in pixels.

input.detected_properties.width

The detected width of the input file, in pixels.

input.encryption

The encryption settings, if any, that are used for decrypting your input files. If your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file.

Show child fields
input.encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

input.encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

input.encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

input.encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

input.frame_rate

The frame rate of the input file. If you want Elastic Transcoder to automatically detect the frame rate of the input file, specify auto. If you want to specify the frame rate for the input file, enter one of the following values:

10, 15, 23.97, 24, 25, 29.97, 30, 60

If you specify a value other than auto, Elastic Transcoder disables automatic detection of the frame rate.

input.input_captions

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

Show child fields
input.input_captions.caption_sources[]
Show child fields
input.input_captions.caption_sources[].encryption

The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you want Elastic Transcoder to apply to your caption sources.

Show child fields
input.input_captions.caption_sources[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

input.input_captions.caption_sources[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

input.input_captions.caption_sources[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

input.input_captions.caption_sources[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

input.input_captions.caption_sources[].key

The name of the sidecar caption file that you want Elastic Transcoder to include in the output file.

input.input_captions.caption_sources[].label

The label of the caption shown in the player when choosing a language. We recommend that you put the caption language name here, in the language of the captions.

input.input_captions.caption_sources[].language

A string that specifies the language of the caption. If you specified multiple inputs with captions, the caption language must match in order to be included in the output. Specify this as one of:

  • 2-character ISO 639-1 code

  • 3-character ISO 639-2 code

For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

input.input_captions.caption_sources[].time_offset

For clip generation or captions that do not start at the same time as the associated video file, the TimeOffset tells Elastic Transcoder how much of the video to encode before including captions.

Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.

input.input_captions.merge_policy

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

input.interlaced

Whether the input file is interlaced. If you want Elastic Transcoder to automatically detect whether the input file is interlaced, specify auto. If you want to specify whether the input file is interlaced, enter one of the following values:

true, false

If you specify a value other than auto, Elastic Transcoder disables automatic detection of interlacing.

input.key

The name of the file to transcode. Elsewhere in the body of the JSON block is the the ID of the pipeline to use for processing the job. The InputBucket object in that pipeline tells Elastic Transcoder which Amazon S3 bucket to get the file from.

If the file name includes a prefix, such as cooking/lasagna.mpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

input.resolution

This value must be auto, which causes Elastic Transcoder to automatically detect the resolution of the input file.

input.time_span

Settings for clipping an input. Each input can have different clip settings.

Show child fields
input.time_span.duration

The duration of the clip. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder creates an output file from StartTime to the end of the file.

If you specify a value longer than the duration of the input file, Elastic Transcoder transcodes the file and returns a warning message.

input.time_span.start_time

The place in the input file where you want a clip to start. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of the input file.

inputs

Information about the files that you're transcoding. If you specified multiple files for this job, Elastic Transcoder stitches the files together to make one output.

STRUCT(
"key" VARCHAR,
"frame_rate" VARCHAR,
"resolution" VARCHAR,
"aspect_ratio" VARCHAR,
"interlaced" VARCHAR,
"container" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
),
"time_span" STRUCT(
"start_time" VARCHAR,
"duration" VARCHAR
),
"input_captions" STRUCT(
"merge_policy" VARCHAR,
"caption_sources" STRUCT(
"key" VARCHAR,
"language" VARCHAR,
"time_offset" VARCHAR,
"label" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[]
),
"detected_properties" STRUCT(
"width" BIGINT,
"height" BIGINT,
"frame_rate" VARCHAR,
"file_size" BIGINT,
"duration_millis" BIGINT
)
)[]
Show child fields
inputs[]
Show child fields
inputs[].aspect_ratio

The aspect ratio of the input file. If you want Elastic Transcoder to automatically detect the aspect ratio of the input file, specify auto. If you want to specify the aspect ratio for the output file, enter one of the following values:

1:1, 4:3, 3:2, 16:9

If you specify a value other than auto, Elastic Transcoder disables automatic detection of the aspect ratio.

inputs[].container

The container type for the input file. If you want Elastic Transcoder to automatically detect the container type of the input file, specify auto. If you want to specify the container type for the input file, enter one of the following values:

3gp, aac, asf, avi, divx, flv, m4a, mkv, mov, mp3, mp4, mpeg, mpeg-ps, mpeg-ts, mxf, ogg, vob, wav, webm

inputs[].detected_properties

The detected properties of the input file.

Show child fields
inputs[].detected_properties.duration_millis

The detected duration of the input file, in milliseconds.

inputs[].detected_properties.file_size

The detected file size of the input file, in bytes.

inputs[].detected_properties.frame_rate

The detected frame rate of the input file, in frames per second.

inputs[].detected_properties.height

The detected height of the input file, in pixels.

inputs[].detected_properties.width

The detected width of the input file, in pixels.

inputs[].encryption

The encryption settings, if any, that are used for decrypting your input files. If your input file is encrypted, you must specify the mode that Elastic Transcoder uses to decrypt your file.

Show child fields
inputs[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

inputs[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

inputs[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

inputs[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

inputs[].frame_rate

The frame rate of the input file. If you want Elastic Transcoder to automatically detect the frame rate of the input file, specify auto. If you want to specify the frame rate for the input file, enter one of the following values:

10, 15, 23.97, 24, 25, 29.97, 30, 60

If you specify a value other than auto, Elastic Transcoder disables automatic detection of the frame rate.

inputs[].input_captions

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

Show child fields
inputs[].input_captions.caption_sources[]
Show child fields
inputs[].input_captions.caption_sources[].encryption

The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you want Elastic Transcoder to apply to your caption sources.

Show child fields
inputs[].input_captions.caption_sources[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

inputs[].input_captions.caption_sources[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

inputs[].input_captions.caption_sources[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

inputs[].input_captions.caption_sources[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

inputs[].input_captions.caption_sources[].key

The name of the sidecar caption file that you want Elastic Transcoder to include in the output file.

inputs[].input_captions.caption_sources[].label

The label of the caption shown in the player when choosing a language. We recommend that you put the caption language name here, in the language of the captions.

inputs[].input_captions.caption_sources[].language

A string that specifies the language of the caption. If you specified multiple inputs with captions, the caption language must match in order to be included in the output. Specify this as one of:

  • 2-character ISO 639-1 code

  • 3-character ISO 639-2 code

For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

inputs[].input_captions.caption_sources[].time_offset

For clip generation or captions that do not start at the same time as the associated video file, the TimeOffset tells Elastic Transcoder how much of the video to encode before including captions.

Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.

inputs[].input_captions.merge_policy

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

inputs[].interlaced

Whether the input file is interlaced. If you want Elastic Transcoder to automatically detect whether the input file is interlaced, specify auto. If you want to specify whether the input file is interlaced, enter one of the following values:

true, false

If you specify a value other than auto, Elastic Transcoder disables automatic detection of interlacing.

inputs[].key

The name of the file to transcode. Elsewhere in the body of the JSON block is the the ID of the pipeline to use for processing the job. The InputBucket object in that pipeline tells Elastic Transcoder which Amazon S3 bucket to get the file from.

If the file name includes a prefix, such as cooking/lasagna.mpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

inputs[].resolution

This value must be auto, which causes Elastic Transcoder to automatically detect the resolution of the input file.

inputs[].time_span

Settings for clipping an input. Each input can have different clip settings.

Show child fields
inputs[].time_span.duration

The duration of the clip. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder creates an output file from StartTime to the end of the file.

If you specify a value longer than the duration of the input file, Elastic Transcoder transcodes the file and returns a warning message.

inputs[].time_span.start_time

The place in the input file where you want a clip to start. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of the input file.

output

If you specified one output for a job, information about that output. If you specified multiple outputs for a job, the Output object lists information about the first output. This duplicates the information that is listed for the first output in the Outputs object.

Outputs recommended instead.

A section of the request or response body that provides information about the transcoded (target) file.

STRUCT(
"id" VARCHAR,
"key" VARCHAR,
"thumbnail_pattern" VARCHAR,
"thumbnail_encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
),
"rotate" VARCHAR,
"preset_id" VARCHAR,
"segment_duration" VARCHAR,
"status" VARCHAR,
"status_detail" VARCHAR,
"duration" BIGINT,
"width" BIGINT,
"height" BIGINT,
"frame_rate" VARCHAR,
"file_size" BIGINT,
"duration_millis" BIGINT,
"watermarks" STRUCT(
"preset_watermark_id" VARCHAR,
"input_key" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[],
"album_art" STRUCT(
"merge_policy" VARCHAR,
"artwork" STRUCT(
"input_key" VARCHAR,
"max_width" VARCHAR,
"max_height" VARCHAR,
"sizing_policy" VARCHAR,
"padding_policy" VARCHAR,
"album_art_format" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[]
),
"composition" STRUCT(
"time_span" STRUCT(
"start_time" VARCHAR,
"duration" VARCHAR
)
)[],
"captions" STRUCT(
"merge_policy" VARCHAR,
"caption_sources" STRUCT(
"key" VARCHAR,
"language" VARCHAR,
"time_offset" VARCHAR,
"label" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[],
"caption_formats" STRUCT(
"format" VARCHAR,
"pattern" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[]
),
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
),
"applied_color_space_conversion" VARCHAR
)
Show child fields
output.album_art

The album art to be associated with the output file, if any.

Show child fields
output.album_art.artwork[]
Show child fields
output.album_art.artwork[].album_art_format

The format of album art, if any. Valid formats are .jpg and .png.

output.album_art.artwork[].encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork.

Show child fields
output.album_art.artwork[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.album_art.artwork[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

output.album_art.artwork[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.album_art.artwork[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

output.album_art.artwork[].input_key

The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the InputBucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, cooking/pie.jpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

output.album_art.artwork[].max_height

The maximum height of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.

output.album_art.artwork[].max_width

The maximum width of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.

output.album_art.artwork[].padding_policy

When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars to the top and bottom and/or left and right sides of the output album art to make the total size of the output art match the values that you specified for MaxWidth and MaxHeight.

output.album_art.artwork[].sizing_policy

Specify one of the following values to control scaling of the output album art:

  • Fit: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Fill: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches the output art to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input art and the output art are different, the output art will be distorted.

  • Keep: Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output art.

  • ShrinkToFit: Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.

  • ShrinkToFill Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.

output.album_art.merge_policy

A policy that determines how Elastic Transcoder handles the existence of multiple album artwork files.

  • Replace: The specified album art replaces any existing album art.

  • Prepend: The specified album art is placed in front of any existing album art.

  • Append: The specified album art is placed after any existing album art.

  • Fallback: If the original input file contains artwork, Elastic Transcoder uses that artwork for the output. If the original input does not contain artwork, Elastic Transcoder uses the specified album art file.

output.applied_color_space_conversion

If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode the output file, the AppliedColorSpaceConversion parameter shows the conversion used. If no ColorSpaceConversionMode was defined in the preset, this parameter is not be included in the job response.

output.captions

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

Show child fields
output.captions.caption_formats[]
Show child fields
output.captions.caption_formats[].encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your caption formats.

Show child fields
output.captions.caption_formats[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.captions.caption_formats[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

output.captions.caption_formats[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.captions.caption_formats[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

output.captions.caption_formats[].format

The format you specify determines whether Elastic Transcoder generates an embedded or sidecar caption for this output.

  • Valid Embedded Caption Formats:

    • for FLAC: None

    • For MP3: None

    • For MP4: mov-text

    • For MPEG-TS: None

    • For ogg: None

    • For webm: None

  • Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first div element only), scc, srt, and webvtt. If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

    • For FMP4: dfxp

    • Non-FMP4 outputs: All sidecar types

    fmp4 captions have an extension of .ismt

output.captions.caption_formats[].pattern

The prefix for caption filenames, in the form description-{language}, where:

  • description is a description of the video.

  • {language} is a literal value that Elastic Transcoder replaces with the two- or three-letter code for the language of the caption in the output file names.

If you don't include {language} in the file name pattern, Elastic Transcoder automatically appends "{language}" to the value that you specify for the description. In addition, Elastic Transcoder automatically appends the count to the end of the segment files.

For example, suppose you're transcoding into srt format. When you enter "Sydney-{language}-sunrise", and the language of the captions is English (en), the name of the first caption file is be Sydney-en-sunrise00000.srt.

output.captions.caption_sources[]
Show child fields
output.captions.caption_sources[].encryption

The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you want Elastic Transcoder to apply to your caption sources.

Show child fields
output.captions.caption_sources[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.captions.caption_sources[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

output.captions.caption_sources[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.captions.caption_sources[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

output.captions.caption_sources[].key

The name of the sidecar caption file that you want Elastic Transcoder to include in the output file.

output.captions.caption_sources[].label

The label of the caption shown in the player when choosing a language. We recommend that you put the caption language name here, in the language of the captions.

output.captions.caption_sources[].language

A string that specifies the language of the caption. If you specified multiple inputs with captions, the caption language must match in order to be included in the output. Specify this as one of:

  • 2-character ISO 639-1 code

  • 3-character ISO 639-2 code

For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

output.captions.caption_sources[].time_offset

For clip generation or captions that do not start at the same time as the associated video file, the TimeOffset tells Elastic Transcoder how much of the video to encode before including captions.

Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.

output.captions.merge_policy

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

output.composition[]
Show child fields
output.composition[].time_span

Settings that determine when a clip begins and how long it lasts.

Show child fields
output.composition[].time_span.duration

The duration of the clip. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder creates an output file from StartTime to the end of the file.

If you specify a value longer than the duration of the input file, Elastic Transcoder transcodes the file and returns a warning message.

output.composition[].time_span.start_time

The place in the input file where you want a clip to start. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of the input file.

output.duration

Duration of the output file, in seconds.

output.duration_millis

Duration of the output file, in milliseconds.

output.encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your output files. If you choose to use encryption, you must specify a mode to use. If you choose not to use encryption, Elastic Transcoder writes an unencrypted file to your Amazon S3 bucket.

Show child fields
output.encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

output.encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

output.file_size

File size of the output file, in bytes.

output.frame_rate

Frame rate of the output file, in frames per second.

output.height

Height of the output file, in pixels.

output.id

A sequential counter, starting with 1, that identifies an output among the outputs from the current job. In the Output syntax, this value is always 1.

output.key

The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket specified by the OutputBucket object in the pipeline that is specified by the pipeline ID.

output.preset_id

The value of the Id object for the preset that you want to use for this job. The preset determines the audio, video, and thumbnail settings that Elastic Transcoder uses for transcoding. To use a preset that you created, specify the preset ID that Elastic Transcoder returned in the response when you created the preset. You can also use the Elastic Transcoder system presets, which you can get with ListPresets.

output.rotate

The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to the input. Enter one of the following values:

auto, 0, 90, 180, 270

The value auto generally works only if the file that you're transcoding contains rotation metadata.

output.segment_duration

(Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4, MPEG-DASH, and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

output.status

The status of one output in a job. If you specified only one output for the job, Outputs:Status is always the same as Job:Status. If you specified more than one output:

  • Job:Status and Outputs:Status for all of the outputs is Submitted until Elastic Transcoder starts to process the first output.

  • When Elastic Transcoder starts to process the first output, Outputs:Status for that output and Job:Status both change to Progressing. For each output, the value of Outputs:Status remains Submitted until Elastic Transcoder starts to process the output.

  • Job:Status remains Progressing until all of the outputs reach a terminal status, either Complete or Error.

  • When all of the outputs reach a terminal status, Job:Status changes to Complete only if Outputs:Status for all of the outputs is Complete. If Outputs:Status for one or more outputs is Error, the terminal status for Job:Status is also Error.

The value of Status is one of the following: Submitted, Progressing, Complete, Canceled, or Error.

output.status_detail

Information that further explains Status.

output.thumbnail_encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

Show child fields
output.thumbnail_encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.thumbnail_encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

output.thumbnail_encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.thumbnail_encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

output.thumbnail_pattern

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify "".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.

  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

output.watermarks[]
Show child fields
output.watermarks[].encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your watermarks.

Show child fields
output.watermarks[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.watermarks[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

output.watermarks[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

output.watermarks[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

output.watermarks[].input_key

The name of the .png or .jpg file that you want to use for the watermark. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by Pipeline; the Input Bucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, logos/128x64.png, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

output.watermarks[].preset_watermark_id

The ID of the watermark settings that Elastic Transcoder uses to add watermarks to the video during transcoding. The settings are in the preset specified by Preset for the current output. In that preset, the value of Watermarks Id tells Elastic Transcoder which settings to use.

output.width

Specifies the width of the output file in pixels.

output_key_prefix

The value, if any, that you want Elastic Transcoder to prepend to the names of all files that this job creates, including output files, thumbnails, and playlists. We recommend that you add a/or some other delimiter to the end of the OutputKeyPrefix.

VARCHAR
outputs

Information about the output files. We recommend that you use the Outputs syntax for all jobs, even when you want Elastic Transcoder to transcode a file into only one format. Do not use both the Outputs and Output syntaxes in the same request. You can create a maximum of 30 outputs per job.

If you specify more than one output for a job, Elastic Transcoder creates the files for each output in the order in which you specify them in the job.

STRUCT(
"id" VARCHAR,
"key" VARCHAR,
"thumbnail_pattern" VARCHAR,
"thumbnail_encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
),
"rotate" VARCHAR,
"preset_id" VARCHAR,
"segment_duration" VARCHAR,
"status" VARCHAR,
"status_detail" VARCHAR,
"duration" BIGINT,
"width" BIGINT,
"height" BIGINT,
"frame_rate" VARCHAR,
"file_size" BIGINT,
"duration_millis" BIGINT,
"watermarks" STRUCT(
"preset_watermark_id" VARCHAR,
"input_key" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[],
"album_art" STRUCT(
"merge_policy" VARCHAR,
"artwork" STRUCT(
"input_key" VARCHAR,
"max_width" VARCHAR,
"max_height" VARCHAR,
"sizing_policy" VARCHAR,
"padding_policy" VARCHAR,
"album_art_format" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[]
),
"composition" STRUCT(
"time_span" STRUCT(
"start_time" VARCHAR,
"duration" VARCHAR
)
)[],
"captions" STRUCT(
"merge_policy" VARCHAR,
"caption_sources" STRUCT(
"key" VARCHAR,
"language" VARCHAR,
"time_offset" VARCHAR,
"label" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[],
"caption_formats" STRUCT(
"format" VARCHAR,
"pattern" VARCHAR,
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
)
)[]
),
"encryption" STRUCT(
"mode" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR
),
"applied_color_space_conversion" VARCHAR
)[]
Show child fields
outputs[]
Show child fields
outputs[].album_art

The album art to be associated with the output file, if any.

Show child fields
outputs[].album_art.artwork[]
Show child fields
outputs[].album_art.artwork[].album_art_format

The format of album art, if any. Valid formats are .jpg and .png.

outputs[].album_art.artwork[].encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your artwork.

Show child fields
outputs[].album_art.artwork[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].album_art.artwork[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

outputs[].album_art.artwork[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].album_art.artwork[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

outputs[].album_art.artwork[].input_key

The name of the file to be used as album art. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by PipelineId; the InputBucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, cooking/pie.jpg, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

outputs[].album_art.artwork[].max_height

The maximum height of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 3072, inclusive.

outputs[].album_art.artwork[].max_width

The maximum width of the output album art in pixels. If you specify auto, Elastic Transcoder uses 600 as the default value. If you specify a numeric value, enter an even integer between 32 and 4096, inclusive.

outputs[].album_art.artwork[].padding_policy

When you set PaddingPolicy to Pad, Elastic Transcoder may add white bars to the top and bottom and/or left and right sides of the output album art to make the total size of the output art match the values that you specified for MaxWidth and MaxHeight.

outputs[].album_art.artwork[].sizing_policy

Specify one of the following values to control scaling of the output album art:

  • Fit: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight without exceeding the other value.

  • Fill: Elastic Transcoder scales the output art so it matches the value that you specified in either MaxWidth or MaxHeight and matches or exceeds the other value. Elastic Transcoder centers the output art and then crops it in the dimension (if any) that exceeds the maximum value.

  • Stretch: Elastic Transcoder stretches the output art to match the values that you specified for MaxWidth and MaxHeight. If the relative proportions of the input art and the output art are different, the output art will be distorted.

  • Keep: Elastic Transcoder does not scale the output art. If either dimension of the input art exceeds the values that you specified for MaxWidth and MaxHeight, Elastic Transcoder crops the output art.

  • ShrinkToFit: Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without exceeding either value. If you specify this option, Elastic Transcoder does not scale the art up.

  • ShrinkToFill Elastic Transcoder scales the output art down so that its dimensions match the values that you specified for at least one of MaxWidth and MaxHeight without dropping below either value. If you specify this option, Elastic Transcoder does not scale the art up.

outputs[].album_art.merge_policy

A policy that determines how Elastic Transcoder handles the existence of multiple album artwork files.

  • Replace: The specified album art replaces any existing album art.

  • Prepend: The specified album art is placed in front of any existing album art.

  • Append: The specified album art is placed after any existing album art.

  • Fallback: If the original input file contains artwork, Elastic Transcoder uses that artwork for the output. If the original input does not contain artwork, Elastic Transcoder uses the specified album art file.

outputs[].applied_color_space_conversion

If Elastic Transcoder used a preset with a ColorSpaceConversionMode to transcode the output file, the AppliedColorSpaceConversion parameter shows the conversion used. If no ColorSpaceConversionMode was defined in the preset, this parameter is not be included in the job response.

outputs[].captions

You can configure Elastic Transcoder to transcode captions, or subtitles, from one format to another. All captions must be in UTF-8. Elastic Transcoder supports two types of captions:

  • Embedded: Embedded captions are included in the same file as the audio and video. Elastic Transcoder supports only one embedded caption per language, to a maximum of 300 embedded captions per file.

    Valid input values include: CEA-608 (EIA-608, first non-empty channel only), CEA-708 (EIA-708, first non-empty channel only), and mov-text

    Valid outputs include: mov-text

    Elastic Transcoder supports a maximum of one embedded format per output.

  • Sidecar: Sidecar captions are kept in a separate metadata file from the audio and video data. Sidecar captions require a player that is capable of understanding the relationship between the video file and the sidecar file. Elastic Transcoder supports only one sidecar caption per language, to a maximum of 20 sidecar captions per file.

    Valid input values include: dfxp (first div element only), ebu-tt, scc, smpt, srt, ttml (first div element only), and webvtt

    Valid outputs include: dfxp (first div element only), scc, srt, and webvtt.

If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

Elastic Transcoder does not support OCR (Optical Character Recognition), does not accept pictures as a valid input for captions, and is not available for audio-only transcoding. Elastic Transcoder does not preserve text formatting (for example, italics) during the transcoding process.

To remove captions or leave the captions empty, set Captions to null. To pass through existing captions unchanged, set the MergePolicy to MergeRetain, and pass in a null CaptionSources array.

For more information on embedded files, see the Subtitles Wikipedia page.

For more information on sidecar files, see the Extensible Metadata Platform and Sidecar file Wikipedia pages.

Show child fields
outputs[].captions.caption_formats[]
Show child fields
outputs[].captions.caption_formats[].encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your caption formats.

Show child fields
outputs[].captions.caption_formats[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].captions.caption_formats[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

outputs[].captions.caption_formats[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].captions.caption_formats[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

outputs[].captions.caption_formats[].format

The format you specify determines whether Elastic Transcoder generates an embedded or sidecar caption for this output.

  • Valid Embedded Caption Formats:

    • for FLAC: None

    • For MP3: None

    • For MP4: mov-text

    • For MPEG-TS: None

    • For ogg: None

    • For webm: None

  • Valid Sidecar Caption Formats: Elastic Transcoder supports dfxp (first div element only), scc, srt, and webvtt. If you want ttml or smpte-tt compatible captions, specify dfxp as your output format.

    • For FMP4: dfxp

    • Non-FMP4 outputs: All sidecar types

    fmp4 captions have an extension of .ismt

outputs[].captions.caption_formats[].pattern

The prefix for caption filenames, in the form description-{language}, where:

  • description is a description of the video.

  • {language} is a literal value that Elastic Transcoder replaces with the two- or three-letter code for the language of the caption in the output file names.

If you don't include {language} in the file name pattern, Elastic Transcoder automatically appends "{language}" to the value that you specify for the description. In addition, Elastic Transcoder automatically appends the count to the end of the segment files.

For example, suppose you're transcoding into srt format. When you enter "Sydney-{language}-sunrise", and the language of the captions is English (en), the name of the first caption file is be Sydney-en-sunrise00000.srt.

outputs[].captions.caption_sources[]
Show child fields
outputs[].captions.caption_sources[].encryption

The encryption settings, if any, that Elastic Transcoder needs to decyrpt your caption sources, or that you want Elastic Transcoder to apply to your caption sources.

Show child fields
outputs[].captions.caption_sources[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].captions.caption_sources[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

outputs[].captions.caption_sources[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].captions.caption_sources[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

outputs[].captions.caption_sources[].key

The name of the sidecar caption file that you want Elastic Transcoder to include in the output file.

outputs[].captions.caption_sources[].label

The label of the caption shown in the player when choosing a language. We recommend that you put the caption language name here, in the language of the captions.

outputs[].captions.caption_sources[].language

A string that specifies the language of the caption. If you specified multiple inputs with captions, the caption language must match in order to be included in the output. Specify this as one of:

  • 2-character ISO 639-1 code

  • 3-character ISO 639-2 code

For more information on ISO language codes and language names, see the List of ISO 639-1 codes.

outputs[].captions.caption_sources[].time_offset

For clip generation or captions that do not start at the same time as the associated video file, the TimeOffset tells Elastic Transcoder how much of the video to encode before including captions.

Specify the TimeOffset in the form [+-]SS.sss or [+-]HH:mm:SS.ss.

outputs[].captions.merge_policy

A policy that determines how Elastic Transcoder handles the existence of multiple captions.

  • MergeOverride: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the sidecar captions and ignores the embedded captions for that language.

  • MergeRetain: Elastic Transcoder transcodes both embedded and sidecar captions into outputs. If captions for a language are embedded in the input file and also appear in a sidecar file, Elastic Transcoder uses the embedded captions and ignores the sidecar captions for that language. If CaptionSources is empty, Elastic Transcoder omits all sidecar captions from the output files.

  • Override: Elastic Transcoder transcodes only the sidecar captions that you specify in CaptionSources.

MergePolicy cannot be null.

outputs[].composition[]
Show child fields
outputs[].composition[].time_span

Settings that determine when a clip begins and how long it lasts.

Show child fields
outputs[].composition[].time_span.duration

The duration of the clip. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder creates an output file from StartTime to the end of the file.

If you specify a value longer than the duration of the input file, Elastic Transcoder transcodes the file and returns a warning message.

outputs[].composition[].time_span.start_time

The place in the input file where you want a clip to start. The format can be either HH:mm:ss.SSS (maximum value: 23:59:59.999; SSS is thousandths of a second) or sssss.SSS (maximum value: 86399.999). If you don't specify a value, Elastic Transcoder starts at the beginning of the input file.

outputs[].duration

Duration of the output file, in seconds.

outputs[].duration_millis

Duration of the output file, in milliseconds.

outputs[].encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your output files. If you choose to use encryption, you must specify a mode to use. If you choose not to use encryption, Elastic Transcoder writes an unencrypted file to your Amazon S3 bucket.

Show child fields
outputs[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

outputs[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

outputs[].file_size

File size of the output file, in bytes.

outputs[].frame_rate

Frame rate of the output file, in frames per second.

outputs[].height

Height of the output file, in pixels.

outputs[].id

A sequential counter, starting with 1, that identifies an output among the outputs from the current job. In the Output syntax, this value is always 1.

outputs[].key

The name to assign to the transcoded file. Elastic Transcoder saves the file in the Amazon S3 bucket specified by the OutputBucket object in the pipeline that is specified by the pipeline ID.

outputs[].preset_id

The value of the Id object for the preset that you want to use for this job. The preset determines the audio, video, and thumbnail settings that Elastic Transcoder uses for transcoding. To use a preset that you created, specify the preset ID that Elastic Transcoder returned in the response when you created the preset. You can also use the Elastic Transcoder system presets, which you can get with ListPresets.

outputs[].rotate

The number of degrees clockwise by which you want Elastic Transcoder to rotate the output relative to the input. Enter one of the following values:

auto, 0, 90, 180, 270

The value auto generally works only if the file that you're transcoding contains rotation metadata.

outputs[].segment_duration

(Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), SegmentDuration is the target maximum duration of each segment in seconds. For HLSv3 format playlists, each media segment is stored in a separate .ts file. For HLSv4, MPEG-DASH, and Smooth playlists, all media segments for an output are stored in a single file. Each segment is approximately the length of the SegmentDuration, though individual segments might be shorter or longer.

The range of valid values is 1 to 60 seconds. If the duration of the video is not evenly divisible by SegmentDuration, the duration of the last segment is the remainder of total length/SegmentDuration.

Elastic Transcoder creates an output-specific playlist for each output HLS output that you specify in OutputKeys. To add an output to the master playlist for this job, include it in the OutputKeys of the associated playlist.

outputs[].status

The status of one output in a job. If you specified only one output for the job, Outputs:Status is always the same as Job:Status. If you specified more than one output:

  • Job:Status and Outputs:Status for all of the outputs is Submitted until Elastic Transcoder starts to process the first output.

  • When Elastic Transcoder starts to process the first output, Outputs:Status for that output and Job:Status both change to Progressing. For each output, the value of Outputs:Status remains Submitted until Elastic Transcoder starts to process the output.

  • Job:Status remains Progressing until all of the outputs reach a terminal status, either Complete or Error.

  • When all of the outputs reach a terminal status, Job:Status changes to Complete only if Outputs:Status for all of the outputs is Complete. If Outputs:Status for one or more outputs is Error, the terminal status for Job:Status is also Error.

The value of Status is one of the following: Submitted, Progressing, Complete, Canceled, or Error.

outputs[].status_detail

Information that further explains Status.

outputs[].thumbnail_encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail.

Show child fields
outputs[].thumbnail_encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].thumbnail_encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

outputs[].thumbnail_encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].thumbnail_encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

outputs[].thumbnail_pattern

Whether you want Elastic Transcoder to create thumbnails for your videos and, if so, how you want Elastic Transcoder to name the files.

If you don't want Elastic Transcoder to create thumbnails, specify "".

If you do want Elastic Transcoder to create thumbnails, specify the information that you want to include in the file name for each thumbnail. You can specify the following values in any sequence:

  • {count} (Required): If you want to create thumbnails, you must include {count} in the ThumbnailPattern object. Wherever you specify {count}, Elastic Transcoder adds a five-digit sequence number (beginning with 00001) to thumbnail file names. The number indicates where a given thumbnail appears in the sequence of thumbnails for a transcoded file.

    If you specify a literal value and/or {resolution} but you omit {count}, Elastic Transcoder returns a validation error and does not create the job.

  • Literal values (Optional): You can specify literal values anywhere in the ThumbnailPattern object. For example, you can include them as a file name prefix or as a delimiter between {resolution} and {count}.

  • {resolution} (Optional): If you want Elastic Transcoder to include the resolution in the file name, include {resolution} in the ThumbnailPattern object.

When creating thumbnails, Elastic Transcoder automatically saves the files in the format (.jpg or .png) that appears in the preset that you specified in the PresetID value of CreateJobOutput. Elastic Transcoder also appends the applicable file name extension.

outputs[].watermarks[]
Show child fields
outputs[].watermarks[].encryption

The encryption settings, if any, that you want Elastic Transcoder to apply to your watermarks.

Show child fields
outputs[].watermarks[].encryption.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you used to encrypt your input files or that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].watermarks[].encryption.key

The data encryption key that you want Elastic Transcoder to use to encrypt your output file, or that was used to encrypt your input file. The key must be base64-encoded and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using the Amazon Key Management Service.

outputs[].watermarks[].encryption.key_md5

The MD5 digest of the key that you used to encrypt your input file, or that you want Elastic Transcoder to use to encrypt your output file. Elastic Transcoder uses the key digest as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes long before being base64-encoded.

outputs[].watermarks[].encryption.mode

The specific server-side encryption mode that you want Elastic Transcoder to use when decrypting your input files or encrypting your output files. Elastic Transcoder supports the following options:

  • s3: Amazon S3 creates and manages the keys used for encrypting your files.

  • s3-aws-kms: Amazon S3 calls the Amazon Key Management Service, which creates and manages the keys that are used for encrypting your files. If you specify s3-aws-kms and you don't want to use the default key, you must add the AWS-KMS key that you want to use to your pipeline.

  • aes-cbc-pkcs7: A padded cipher-block mode of operation originally used for HLS files.

  • aes-ctr: AES Counter Mode.

  • aes-gcm: AES Galois Counter Mode, a mode of operation that is an authenticated encryption format, meaning that a file, key, or initialization vector that has been tampered with fails the decryption process.

For all three AES options, you must provide the following settings, which must be base64-encoded:

  • Key

  • Key MD5

  • Initialization Vector

For the AES modes, your private encryption keys and your unencrypted data are never stored by AWS; therefore, it is important that you safely manage your encryption keys. If you lose them, you won't be able to unencrypt your data.

outputs[].watermarks[].input_key

The name of the .png or .jpg file that you want to use for the watermark. To determine which Amazon S3 bucket contains the specified file, Elastic Transcoder checks the pipeline specified by Pipeline; the Input Bucket object in that pipeline identifies the bucket.

If the file name includes a prefix, for example, logos/128x64.png, include the prefix in the key. If the file isn't in the specified bucket, Elastic Transcoder returns an error.

outputs[].watermarks[].preset_watermark_id

The ID of the watermark settings that Elastic Transcoder uses to add watermarks to the video during transcoding. The settings are in the preset specified by Preset for the current output. In that preset, the value of Watermarks Id tells Elastic Transcoder which settings to use.

outputs[].width

Specifies the width of the output file in pixels.

pipeline_id

The Id of the pipeline that you want Elastic Transcoder to use for transcoding. The pipeline determines several settings, including the Amazon S3 bucket from which Elastic Transcoder gets the files to transcode and the bucket into which Elastic Transcoder puts the transcoded files.

VARCHAR
playlists

Outputs in Fragmented MP4 or MPEG-TS format only.

If you specify a preset in PresetId for which the value of Container is fmp4 (Fragmented MP4) or ts (MPEG-TS), Playlists contains information about the master playlists that you want Elastic Transcoder to create.

The maximum number of master playlists in a job is 30.

STRUCT(
"name" VARCHAR,
"format" VARCHAR,
"output_keys" VARCHAR[],
"hls_content_protection" STRUCT(
"method" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"initialization_vector" VARCHAR,
"license_acquisition_url" VARCHAR,
"key_storage_policy" VARCHAR
),
"play_ready_drm" STRUCT(
"format" VARCHAR,
"key" VARCHAR,
"key_md5" VARCHAR,
"key_id" VARCHAR,
"initialization_vector" VARCHAR,
"license_acquisition_url" VARCHAR
),
"status" VARCHAR,
"status_detail" VARCHAR
)[]
Show child fields
playlists[]
Show child fields
playlists[].format

The format of the output playlist. Valid formats include HLSv3, HLSv4, and Smooth.

playlists[].hls_content_protection

The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

Show child fields
playlists[].hls_content_protection.initialization_vector

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your output files. The initialization vector must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

playlists[].hls_content_protection.key

If you want Elastic Transcoder to generate a key for you, leave this field blank.

If you choose to supply your own key, you must encrypt the key by using AWS KMS. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

playlists[].hls_content_protection.key_md5

If Elastic Transcoder is generating your key for you, you must leave this field blank.

The MD5 digest of the key that you want Elastic Transcoder to use to encrypt your output file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64- encoded.

playlists[].hls_content_protection.key_storage_policy

Specify whether you want Elastic Transcoder to write your HLS license key to an Amazon S3 bucket. If you choose WithVariantPlaylists, LicenseAcquisitionUrl must be left blank and Elastic Transcoder writes your data key into the same bucket as the associated playlist.

playlists[].hls_content_protection.license_acquisition_url

The location of the license key required to decrypt your HLS playlist. The URL must be an absolute path, and is referenced in the URI attribute of the EXT-X-KEY metadata tag in the playlist file.

playlists[].hls_content_protection.method

The content protection method for your output. The only valid value is: aes-128.

This value is written into the method attribute of the EXT-X-KEY metadata tag in the output playlist.

playlists[].name

The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a / character, the section of the name before the last / must be identical for all Name objects. If you create more than one master playlist, the values of all Name objects must be unique.

Elastic Transcoder automatically appends the relevant file extension to the file name (.m3u8 for HLSv3 and HLSv4 playlists, and .ism and .ismc for Smooth playlists). If you include a file extension in Name, the file name will have two extensions.

playlists[].output_keys[]
playlists[].play_ready_drm

The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

Show child fields
playlists[].play_ready_drm.format

The type of DRM, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist.

playlists[].play_ready_drm.initialization_vector

The series of random bits created by a random bit generator, unique for every encryption operation, that you want Elastic Transcoder to use to encrypt your files. The initialization vector must be base64-encoded, and it must be exactly 8 bytes long before being base64-encoded. If no initialization vector is provided, Elastic Transcoder generates one for you.

playlists[].play_ready_drm.key

The DRM key for your file, provided by your DRM license provider. The key must be base64-encoded, and it must be one of the following bit lengths before being base64-encoded:

128, 192, or 256.

The key must also be encrypted by using AWS KMS.

playlists[].play_ready_drm.key_id

The ID for your DRM key, so that your DRM license provider knows which key to provide.

The key ID must be provided in big endian, and Elastic Transcoder converts it to little endian before inserting it into the PlayReady DRM headers. If you are unsure whether your license server provides your key ID in big or little endian, check with your DRM provider.

playlists[].play_ready_drm.key_md5

The MD5 digest of the key used for DRM on your file, and that you want Elastic Transcoder to use as a checksum to make sure your key was not corrupted in transit. The key MD5 must be base64-encoded, and it must be exactly 16 bytes before being base64-encoded.

playlists[].play_ready_drm.license_acquisition_url

The location of the license key required to play DRM content. The URL must be an absolute path, and is referenced by the PlayReady header. The PlayReady header is referenced in the protection header of the client manifest for Smooth Streaming outputs, and in the EXT-X-DXDRM and EXT-XDXDRMINFO metadata tags for HLS playlist outputs. An example URL looks like this: https://www.example.com/exampleKey/

playlists[].status

The status of the job with which the playlist is associated.

playlists[].status_detail

Information that further explains the status.

timing

Details about the timing of a job.

STRUCT(
"submit_time_millis" BIGINT,
"start_time_millis" BIGINT,
"finish_time_millis" BIGINT
)
Show child fields
timing.finish_time_millis

The time the job finished transcoding, in epoch milliseconds.

timing.start_time_millis

The time the job began transcoding, in epoch milliseconds.

timing.submit_time_millis

The time the job was submitted to Elastic Transcoder, in epoch milliseconds.

user_metadata

User-defined metadata that you want to associate with an Elastic Transcoder job. You specify metadata in key/value pairs, and you can add up to 10 key/value pairs per job. Elastic Transcoder does not guarantee that key/value pairs are returned in the same order in which you specify them.

Metadata keys and values must use characters from the following list:

  • 0-9

  • A-Z and a-z

  • Space

  • The following symbols: _.:/=+-%@

MAP(VARCHAR, VARCHAR)