/*
* Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.elastictranscoder.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Outputs recommended instead.
*
* 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.
*
* 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. *
*/ private String id; /** *
* 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.
*
* 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.
*
* The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail. *
*/ private Encryption thumbnailEncryption; /** ** 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.
*
* 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 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.
*
* 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
.
*
* Information that further explains Status
.
*
* Duration of the output file, in seconds. *
*/ private Long duration; /** ** Specifies the width of the output file in pixels. *
*/ private Integer width; /** ** Height of the output file, in pixels. *
*/ private Integer height; /** ** Frame rate of the output file, in frames per second. *
*/ private String frameRate; /** ** File size of the output file, in bytes. *
*/ private Long fileSize; /** ** Duration of the output file, in milliseconds. *
*/ private Long durationMillis; /** *
* Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can
* specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you
* specify in Preset
for the current output.
*
* Watermarks are added to the output video in the sequence in which you list them in the job output—the first * watermark in the list is added to the output video first, the second watermark in the list is added next, and so * on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same * location, the second watermark that you add covers the first one, the third one covers the second, and the fourth * one covers the third. *
*/ private com.amazonaws.internal.SdkInternalList* The album art to be associated with the output file, if any. *
*/ private JobAlbumArt albumArt; /** ** You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come * from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make * up an output file. For the current release, you can only specify settings for a single clip per output file. The * Composition object cannot be null. *
*/ @Deprecated private com.amazonaws.internal.SdkInternalList* 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. *
*/ private Captions captions; /** ** 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. *
*/ private Encryption encryption; /** *
* 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.
*
* 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. *
* * @param 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. */ public void setId(String id) { this.id = 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. *
* * @return 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. */ public String getId() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withId(String id) { setId(id); return this; } /** *
* 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.
*
OutputBucket
object in the pipeline that is specified by the pipeline ID.
*/
public void setKey(String key) {
this.key = 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.
*
OutputBucket
object in the pipeline that is specified by the pipeline ID.
*/
public String getKey() {
return this.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.
*
OutputBucket
object in the pipeline that is specified by the pipeline ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withKey(String key) {
setKey(key);
return this;
}
/**
* * 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.
*
* 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.
*/
public void setThumbnailPattern(String thumbnailPattern) {
this.thumbnailPattern = thumbnailPattern;
}
/**
*
* 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.
*
* 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.
*/
public String getThumbnailPattern() {
return this.thumbnailPattern;
}
/**
*
* 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.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withThumbnailPattern(String thumbnailPattern) {
setThumbnailPattern(thumbnailPattern);
return this;
}
/**
*
* The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail. *
* * @param thumbnailEncryption * The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail. */ public void setThumbnailEncryption(Encryption thumbnailEncryption) { this.thumbnailEncryption = thumbnailEncryption; } /** ** The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail. *
* * @return The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail. */ public Encryption getThumbnailEncryption() { return this.thumbnailEncryption; } /** ** The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail. *
* * @param thumbnailEncryption * The encryption settings, if any, that you want Elastic Transcoder to apply to your thumbnail. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withThumbnailEncryption(Encryption thumbnailEncryption) { setThumbnailEncryption(thumbnailEncryption); return this; } /** ** 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.
*
* auto
, 0
, 90
, 180
, 270
*
* The value auto
generally works only if the file that you're transcoding contains rotation
* metadata.
*/
public void setRotate(String rotate) {
this.rotate = 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.
*
* auto
, 0
, 90
, 180
, 270
*
* The value auto
generally works only if the file that you're transcoding contains rotation
* metadata.
*/
public String getRotate() {
return this.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.
*
* auto
, 0
, 90
, 180
, 270
*
* The value auto
generally works only if the file that you're transcoding contains rotation
* metadata.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withRotate(String rotate) {
setRotate(rotate);
return this;
}
/**
*
* 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
.
*
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
.
*/
public void setPresetId(String presetId) {
this.presetId = presetId;
}
/**
*
* 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
.
*
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
.
*/
public String getPresetId() {
return this.presetId;
}
/**
*
* 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
.
*
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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withPresetId(String presetId) {
setPresetId(presetId);
return this;
}
/**
* * (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 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
* (Outputs in Fragmented MP4 or MPEG-TS format only.
* 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.
*/
public void setSegmentDuration(String segmentDuration) {
this.segmentDuration = segmentDuration;
}
/**
*
* 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 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
* (Outputs in Fragmented MP4 or MPEG-TS format only.
* 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.
*/
public String getSegmentDuration() {
return this.segmentDuration;
}
/**
*
* 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 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withSegmentDuration(String segmentDuration) {
setSegmentDuration(segmentDuration);
return this;
}
/**
*
* 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
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
.
*/
public void setStatus(String status) {
this.status = 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
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
.
*/
public String getStatus() {
return this.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
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
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* Information that further explains Status
.
*
Status
.
*/
public void setStatusDetail(String statusDetail) {
this.statusDetail = statusDetail;
}
/**
*
* Information that further explains Status
.
*
Status
.
*/
public String getStatusDetail() {
return this.statusDetail;
}
/**
*
* Information that further explains Status
.
*
Status
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withStatusDetail(String statusDetail) {
setStatusDetail(statusDetail);
return this;
}
/**
* * Duration of the output file, in seconds. *
* * @param duration * Duration of the output file, in seconds. */ public void setDuration(Long duration) { this.duration = duration; } /** ** Duration of the output file, in seconds. *
* * @return Duration of the output file, in seconds. */ public Long getDuration() { return this.duration; } /** ** Duration of the output file, in seconds. *
* * @param duration * Duration of the output file, in seconds. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withDuration(Long duration) { setDuration(duration); return this; } /** ** Specifies the width of the output file in pixels. *
* * @param width * Specifies the width of the output file in pixels. */ public void setWidth(Integer width) { this.width = width; } /** ** Specifies the width of the output file in pixels. *
* * @return Specifies the width of the output file in pixels. */ public Integer getWidth() { return this.width; } /** ** Specifies the width of the output file in pixels. *
* * @param width * Specifies the width of the output file in pixels. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withWidth(Integer width) { setWidth(width); return this; } /** ** Height of the output file, in pixels. *
* * @param height * Height of the output file, in pixels. */ public void setHeight(Integer height) { this.height = height; } /** ** Height of the output file, in pixels. *
* * @return Height of the output file, in pixels. */ public Integer getHeight() { return this.height; } /** ** Height of the output file, in pixels. *
* * @param height * Height of the output file, in pixels. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withHeight(Integer height) { setHeight(height); return this; } /** ** Frame rate of the output file, in frames per second. *
* * @param frameRate * Frame rate of the output file, in frames per second. */ public void setFrameRate(String frameRate) { this.frameRate = frameRate; } /** ** Frame rate of the output file, in frames per second. *
* * @return Frame rate of the output file, in frames per second. */ public String getFrameRate() { return this.frameRate; } /** ** Frame rate of the output file, in frames per second. *
* * @param frameRate * Frame rate of the output file, in frames per second. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withFrameRate(String frameRate) { setFrameRate(frameRate); return this; } /** ** File size of the output file, in bytes. *
* * @param fileSize * File size of the output file, in bytes. */ public void setFileSize(Long fileSize) { this.fileSize = fileSize; } /** ** File size of the output file, in bytes. *
* * @return File size of the output file, in bytes. */ public Long getFileSize() { return this.fileSize; } /** ** File size of the output file, in bytes. *
* * @param fileSize * File size of the output file, in bytes. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withFileSize(Long fileSize) { setFileSize(fileSize); return this; } /** ** Duration of the output file, in milliseconds. *
* * @param durationMillis * Duration of the output file, in milliseconds. */ public void setDurationMillis(Long durationMillis) { this.durationMillis = durationMillis; } /** ** Duration of the output file, in milliseconds. *
* * @return Duration of the output file, in milliseconds. */ public Long getDurationMillis() { return this.durationMillis; } /** ** Duration of the output file, in milliseconds. *
* * @param durationMillis * Duration of the output file, in milliseconds. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withDurationMillis(Long durationMillis) { setDurationMillis(durationMillis); return this; } /** *
* Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can
* specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you
* specify in Preset
for the current output.
*
* Watermarks are added to the output video in the sequence in which you list them in the job output—the first * watermark in the list is added to the output video first, the second watermark in the list is added next, and so * on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same * location, the second watermark that you add covers the first one, the third one covers the second, and the fourth * one covers the third. *
* * @return Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. * You can specify up to four watermarks for each output. Settings for each watermark must be defined in the * preset that you specify inPreset
for the current output.
*
* Watermarks are added to the output video in the sequence in which you list them in the job output—the
* first watermark in the list is added to the output video first, the second watermark in the list is added
* next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all
* watermarks in the same location, the second watermark that you add covers the first one, the third one
* covers the second, and the fourth one covers the third.
*/
public java.util.List
* Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can
* specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you
* specify in
* Watermarks are added to the output video in the sequence in which you list them in the job output—the first
* watermark in the list is added to the output video first, the second watermark in the list is added next, and so
* on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same
* location, the second watermark that you add covers the first one, the third one covers the second, and the fourth
* one covers the third.
* Preset
for the current output.
* Preset
for the current output.
* Watermarks are added to the output video in the sequence in which you list them in the job output—the
* first watermark in the list is added to the output video first, the second watermark in the list is added
* next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks
* in the same location, the second watermark that you add covers the first one, the third one covers the
* second, and the fourth one covers the third.
*/
public void setWatermarks(java.util.Collection
* Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can
* specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you
* specify in
* Watermarks are added to the output video in the sequence in which you list them in the job output—the first
* watermark in the list is added to the output video first, the second watermark in the list is added next, and so
* on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same
* location, the second watermark that you add covers the first one, the third one covers the second, and the fourth
* one covers the third.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setWatermarks(java.util.Collection)} or {@link #withWatermarks(java.util.Collection)} if you want to
* override the existing values.
* Preset
for the current output.
* Preset
for the current output.
* Watermarks are added to the output video in the sequence in which you list them in the job output—the
* first watermark in the list is added to the output video first, the second watermark in the list is added
* next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks
* in the same location, the second watermark that you add covers the first one, the third one covers the
* second, and the fourth one covers the third.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withWatermarks(JobWatermark... watermarks) {
if (this.watermarks == null) {
setWatermarks(new com.amazonaws.internal.SdkInternalList
* Information about the watermarks that you want Elastic Transcoder to add to the video during transcoding. You can
* specify up to four watermarks for each output. Settings for each watermark must be defined in the preset that you
* specify in
* Watermarks are added to the output video in the sequence in which you list them in the job output—the first
* watermark in the list is added to the output video first, the second watermark in the list is added next, and so
* on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks in the same
* location, the second watermark that you add covers the first one, the third one covers the second, and the fourth
* one covers the third.
* Preset
for the current output.
* Preset
for the current output.
* Watermarks are added to the output video in the sequence in which you list them in the job output—the
* first watermark in the list is added to the output video first, the second watermark in the list is added
* next, and so on. As a result, if the settings in a preset cause Elastic Transcoder to place all watermarks
* in the same location, the second watermark that you add covers the first one, the third one covers the
* second, and the fourth one covers the third.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withWatermarks(java.util.Collection
* The album art to be associated with the output file, if any.
*
* The album art to be associated with the output file, if any.
*
* The album art to be associated with the output file, if any.
*
* You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come
* from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make
* up an output file. For the current release, you can only specify settings for a single clip per output file. The
* Composition object cannot be null.
*
* You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come
* from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make
* up an output file. For the current release, you can only specify settings for a single clip per output file. The
* Composition object cannot be null.
*
* You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come
* from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make
* up an output file. For the current release, you can only specify settings for a single clip per output file. The
* Composition object cannot be null.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setComposition(java.util.Collection)} or {@link #withComposition(java.util.Collection)} if you want to
* override the existing values.
*
* You can create an output file that contains an excerpt from the input file. This excerpt, called a clip, can come
* from the beginning, middle, or end of the file. The Composition object contains settings for the clips that make
* up an output file. For the current release, you can only specify settings for a single clip per output file. The
* Composition object cannot be null.
*
* 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:
* Valid outputs include:
* 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:
* Valid outputs include:
* 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
* 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.
*
*
* CEA-608 (EIA-608
, first non-empty channel only),
* CEA-708 (EIA-708
, first non-empty channel only), and mov-text
* mov-text
* dfxp
(first div element only), ebu-tt
, scc
,
* smpt
, srt
, ttml
(first div element only), and webvtt
* dfxp
(first div element only), scc
, srt
, and
* webvtt
.
* Captions
to null. To pass through existing
* captions unchanged, set the MergePolicy
to MergeRetain
, and pass in a null
* CaptionSources
array.
*
* 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. */ public void setCaptions(Captions captions) { this.captions = 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. *
* * @return 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. */ public Captions getCaptions() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withCaptions(Captions captions) { setCaptions(captions); return this; } /** *
* 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. *
* * @param 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. */ public void setEncryption(Encryption encryption) { this.encryption = 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. *
* * @return 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. */ public Encryption getEncryption() { return this.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. *
* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public JobOutput withEncryption(Encryption encryption) { setEncryption(encryption); return this; } /** *
* 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.
*
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.
*/
public void setAppliedColorSpaceConversion(String appliedColorSpaceConversion) {
this.appliedColorSpaceConversion = appliedColorSpaceConversion;
}
/**
*
* 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.
*
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.
*/
public String getAppliedColorSpaceConversion() {
return this.appliedColorSpaceConversion;
}
/**
*
* 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.
*
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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public JobOutput withAppliedColorSpaceConversion(String appliedColorSpaceConversion) {
setAppliedColorSpaceConversion(appliedColorSpaceConversion);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getId() != null)
sb.append("Id: ").append(getId()).append(",");
if (getKey() != null)
sb.append("Key: ").append(getKey()).append(",");
if (getThumbnailPattern() != null)
sb.append("ThumbnailPattern: ").append(getThumbnailPattern()).append(",");
if (getThumbnailEncryption() != null)
sb.append("ThumbnailEncryption: ").append(getThumbnailEncryption()).append(",");
if (getRotate() != null)
sb.append("Rotate: ").append(getRotate()).append(",");
if (getPresetId() != null)
sb.append("PresetId: ").append(getPresetId()).append(",");
if (getSegmentDuration() != null)
sb.append("SegmentDuration: ").append(getSegmentDuration()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getStatusDetail() != null)
sb.append("StatusDetail: ").append(getStatusDetail()).append(",");
if (getDuration() != null)
sb.append("Duration: ").append(getDuration()).append(",");
if (getWidth() != null)
sb.append("Width: ").append(getWidth()).append(",");
if (getHeight() != null)
sb.append("Height: ").append(getHeight()).append(",");
if (getFrameRate() != null)
sb.append("FrameRate: ").append(getFrameRate()).append(",");
if (getFileSize() != null)
sb.append("FileSize: ").append(getFileSize()).append(",");
if (getDurationMillis() != null)
sb.append("DurationMillis: ").append(getDurationMillis()).append(",");
if (getWatermarks() != null)
sb.append("Watermarks: ").append(getWatermarks()).append(",");
if (getAlbumArt() != null)
sb.append("AlbumArt: ").append(getAlbumArt()).append(",");
if (getComposition() != null)
sb.append("Composition: ").append(getComposition()).append(",");
if (getCaptions() != null)
sb.append("Captions: ").append(getCaptions()).append(",");
if (getEncryption() != null)
sb.append("Encryption: ").append(getEncryption()).append(",");
if (getAppliedColorSpaceConversion() != null)
sb.append("AppliedColorSpaceConversion: ").append(getAppliedColorSpaceConversion());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof JobOutput == false)
return false;
JobOutput other = (JobOutput) obj;
if (other.getId() == null ^ this.getId() == null)
return false;
if (other.getId() != null && other.getId().equals(this.getId()) == false)
return false;
if (other.getKey() == null ^ this.getKey() == null)
return false;
if (other.getKey() != null && other.getKey().equals(this.getKey()) == false)
return false;
if (other.getThumbnailPattern() == null ^ this.getThumbnailPattern() == null)
return false;
if (other.getThumbnailPattern() != null && other.getThumbnailPattern().equals(this.getThumbnailPattern()) == false)
return false;
if (other.getThumbnailEncryption() == null ^ this.getThumbnailEncryption() == null)
return false;
if (other.getThumbnailEncryption() != null && other.getThumbnailEncryption().equals(this.getThumbnailEncryption()) == false)
return false;
if (other.getRotate() == null ^ this.getRotate() == null)
return false;
if (other.getRotate() != null && other.getRotate().equals(this.getRotate()) == false)
return false;
if (other.getPresetId() == null ^ this.getPresetId() == null)
return false;
if (other.getPresetId() != null && other.getPresetId().equals(this.getPresetId()) == false)
return false;
if (other.getSegmentDuration() == null ^ this.getSegmentDuration() == null)
return false;
if (other.getSegmentDuration() != null && other.getSegmentDuration().equals(this.getSegmentDuration()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getStatusDetail() == null ^ this.getStatusDetail() == null)
return false;
if (other.getStatusDetail() != null && other.getStatusDetail().equals(this.getStatusDetail()) == false)
return false;
if (other.getDuration() == null ^ this.getDuration() == null)
return false;
if (other.getDuration() != null && other.getDuration().equals(this.getDuration()) == false)
return false;
if (other.getWidth() == null ^ this.getWidth() == null)
return false;
if (other.getWidth() != null && other.getWidth().equals(this.getWidth()) == false)
return false;
if (other.getHeight() == null ^ this.getHeight() == null)
return false;
if (other.getHeight() != null && other.getHeight().equals(this.getHeight()) == false)
return false;
if (other.getFrameRate() == null ^ this.getFrameRate() == null)
return false;
if (other.getFrameRate() != null && other.getFrameRate().equals(this.getFrameRate()) == false)
return false;
if (other.getFileSize() == null ^ this.getFileSize() == null)
return false;
if (other.getFileSize() != null && other.getFileSize().equals(this.getFileSize()) == false)
return false;
if (other.getDurationMillis() == null ^ this.getDurationMillis() == null)
return false;
if (other.getDurationMillis() != null && other.getDurationMillis().equals(this.getDurationMillis()) == false)
return false;
if (other.getWatermarks() == null ^ this.getWatermarks() == null)
return false;
if (other.getWatermarks() != null && other.getWatermarks().equals(this.getWatermarks()) == false)
return false;
if (other.getAlbumArt() == null ^ this.getAlbumArt() == null)
return false;
if (other.getAlbumArt() != null && other.getAlbumArt().equals(this.getAlbumArt()) == false)
return false;
if (other.getComposition() == null ^ this.getComposition() == null)
return false;
if (other.getComposition() != null && other.getComposition().equals(this.getComposition()) == false)
return false;
if (other.getCaptions() == null ^ this.getCaptions() == null)
return false;
if (other.getCaptions() != null && other.getCaptions().equals(this.getCaptions()) == false)
return false;
if (other.getEncryption() == null ^ this.getEncryption() == null)
return false;
if (other.getEncryption() != null && other.getEncryption().equals(this.getEncryption()) == false)
return false;
if (other.getAppliedColorSpaceConversion() == null ^ this.getAppliedColorSpaceConversion() == null)
return false;
if (other.getAppliedColorSpaceConversion() != null && other.getAppliedColorSpaceConversion().equals(this.getAppliedColorSpaceConversion()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode());
hashCode = prime * hashCode + ((getKey() == null) ? 0 : getKey().hashCode());
hashCode = prime * hashCode + ((getThumbnailPattern() == null) ? 0 : getThumbnailPattern().hashCode());
hashCode = prime * hashCode + ((getThumbnailEncryption() == null) ? 0 : getThumbnailEncryption().hashCode());
hashCode = prime * hashCode + ((getRotate() == null) ? 0 : getRotate().hashCode());
hashCode = prime * hashCode + ((getPresetId() == null) ? 0 : getPresetId().hashCode());
hashCode = prime * hashCode + ((getSegmentDuration() == null) ? 0 : getSegmentDuration().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getStatusDetail() == null) ? 0 : getStatusDetail().hashCode());
hashCode = prime * hashCode + ((getDuration() == null) ? 0 : getDuration().hashCode());
hashCode = prime * hashCode + ((getWidth() == null) ? 0 : getWidth().hashCode());
hashCode = prime * hashCode + ((getHeight() == null) ? 0 : getHeight().hashCode());
hashCode = prime * hashCode + ((getFrameRate() == null) ? 0 : getFrameRate().hashCode());
hashCode = prime * hashCode + ((getFileSize() == null) ? 0 : getFileSize().hashCode());
hashCode = prime * hashCode + ((getDurationMillis() == null) ? 0 : getDurationMillis().hashCode());
hashCode = prime * hashCode + ((getWatermarks() == null) ? 0 : getWatermarks().hashCode());
hashCode = prime * hashCode + ((getAlbumArt() == null) ? 0 : getAlbumArt().hashCode());
hashCode = prime * hashCode + ((getComposition() == null) ? 0 : getComposition().hashCode());
hashCode = prime * hashCode + ((getCaptions() == null) ? 0 : getCaptions().hashCode());
hashCode = prime * hashCode + ((getEncryption() == null) ? 0 : getEncryption().hashCode());
hashCode = prime * hashCode + ((getAppliedColorSpaceConversion() == null) ? 0 : getAppliedColorSpaceConversion().hashCode());
return hashCode;
}
@Override
public JobOutput clone() {
try {
return (JobOutput) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.elastictranscoder.model.transform.JobOutputMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}