
com.amazonaws.services.elastictranscoder.model.VideoParameters Maven / Gradle / Ivy
/*
* Copyright 2019-2024 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;
/**
*
* The VideoParameters
structure.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class VideoParameters implements Serializable, Cloneable, StructuredPojo {
/**
*
* The video codec for the output file. Valid values include gif
, H.264
,
* mpeg2
, vp8
, and vp9
. You can only specify vp8
and
* vp9
when the container type is webm
, gif
when the container type is
* gif
, and mpeg2
when the container type is mpg
.
*
*/
private String codec;
/**
*
* Profile (H.264/VP8/VP9 Only)
*
*
* The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following profiles:
*
*
* -
*
* baseline
: The profile most commonly used for videoconferencing and for mobile applications.
*
*
* -
*
* main
: The profile used for standard-definition digital TV broadcasts.
*
*
* -
*
* high
: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.
*
*
*
*
* Level (H.264 Only)
*
*
* The H.264 level that you want to use for the output file. Elastic Transcoder supports the following levels:
*
*
* 1
, 1b
, 1.1
, 1.2
, 1.3
, 2
,
* 2.1
, 2.2
, 3
, 3.1
, 3.2
, 4
,
* 4.1
*
*
* MaxReferenceFrames (H.264 Only)
*
*
* Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to use as
* a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend that you not use
* a value greater than the following:
*
*
* Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)
*
*
* where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or Resolution.
* Maximum decoded picture buffer in macroblocks depends on the value of the Level
object. See
* the list below. (A macroblock is a block of pixels measuring 16x16.)
*
*
* -
*
* 1 - 396
*
*
* -
*
* 1b - 396
*
*
* -
*
* 1.1 - 900
*
*
* -
*
* 1.2 - 2376
*
*
* -
*
* 1.3 - 2376
*
*
* -
*
* 2 - 2376
*
*
* -
*
* 2.1 - 4752
*
*
* -
*
* 2.2 - 8100
*
*
* -
*
* 3 - 8100
*
*
* -
*
* 3.1 - 18000
*
*
* -
*
* 3.2 - 20480
*
*
* -
*
* 4 - 32768
*
*
* -
*
* 4.1 - 32768
*
*
*
*
* MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits per second in a video buffer; the size of the buffer is specified by
* BufferSize
. Specify a value between 16 and 62,500. You can reduce the bandwidth required to stream a
* video by reducing the maximum bit rate, but this also reduces the quality of the video.
*
*
* BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the standard
* segment duration when you're using FMP4 or MPEG-TS for the container type of the output video. Specify an integer
* greater than 0. If you specify MaxBitRate
and omit BufferSize
, Elastic Transcoder sets
* BufferSize
to 10 times the value of MaxBitRate
.
*
*
* InterlacedMode (Optional, H.264/MPEG2 Only)
*
*
* The interlace mode for the output video.
*
*
* Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one field on
* every other line, the other field on the other lines) so that the human eye registers multiple pictures per
* frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in blurred images and
* flickering.
*
*
* Valid values include Progressive
(no interlacing, top to bottom), TopFirst
(top field
* first), BottomFirst
(bottom field first), and Auto
.
*
*
* If InterlaceMode
is not specified, Elastic Transcoder uses Progressive
for the output.
* If Auto
is specified, Elastic Transcoder interlaces the output.
*
*
* ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
*
*
* The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms used
* by the computer to store information about how to render color. Bt.601
is the standard for standard
* definition video, while Bt.709
is the standard for high definition video.
*
*
* Valid values include None
, Bt709toBt601
, Bt601toBt709
, and
* Auto
.
*
*
* If you chose Auto
for ColorSpaceConversionMode
and your output is interlaced, your
* frame rate is one of 23.97
, 24
, 25
, 29.97
, 50
,
* or 60
, your SegmentDuration
is null, and you are using one of the resolution changes
* from the list below, Elastic Transcoder applies the following color space conversions:
*
*
* -
*
* Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
*
*
* -
*
* HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
*
*
*
*
*
* Elastic Transcoder may change the behavior of the ColorspaceConversionMode
Auto
mode in
* the future. All outputs in a playlist must use the same ColorSpaceConversionMode
.
*
*
*
* If you do not specify a ColorSpaceConversionMode
, Elastic Transcoder does not change the color space
* of a file. If you are unsure what ColorSpaceConversionMode
was applied to your output file, you can
* check the AppliedColorSpaceConversion
parameter included in your job response. If your job does not
* have an AppliedColorSpaceConversion
in its response, no ColorSpaceConversionMode
was
* applied.
*
*
* ChromaSubsampling
*
*
* The sampling pattern for the chroma (color) channels of the output video. Valid values include
* yuv420p
and yuv422p
.
*
*
* yuv420p
samples the chroma information of every other horizontal and every other vertical line,
* yuv422p
samples the color information of every horizontal line and every other vertical line.
*
*
* LoopCount (Gif Only)
*
*
* The number of times you want the output gif to loop. Valid values include Infinite
and integers
* between 0
and 100
, inclusive.
*
*/
private com.amazonaws.internal.SdkInternalMap codecOptions;
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between key
* frames are encoded based, in part, on the content of the key frames. The value is an integer formatted as a
* string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A higher value results in
* higher compression but may also discernibly decrease video quality.
*
*
* For Smooth
outputs, the FrameRate
must have a constant ratio to the
* KeyframesMaxDist
. This allows Smooth
playlists to switch between different quality
* levels while the file is being played.
*
*
* For example, an input file can have a FrameRate
of 30 with a KeyframesMaxDist
of 90.
* The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate
of 30, 25, and
* 10, and KeyframesMaxDist
of 90, 75, and 30, respectively.
*
*
* Alternately, this can be achieved by setting FrameRate
to auto and having the same values for
* MaxFrameRate
and KeyframesMaxDist
.
*
*/
private String keyframesMaxDist;
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* Whether to use a fixed value for FixedGOP
. Valid values are true
and false
* :
*
*
* -
*
* true
: Elastic Transcoder uses the value of KeyframesMaxDist
for the distance between
* key frames (the number of frames in a group of pictures, or GOP).
*
*
* -
*
* false
: The distance between key frames can vary.
*
*
*
*
*
* FixedGOP
must be set to true
for fmp4
containers.
*
*
*/
private String fixedGOP;
/**
*
* The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values of
* Level
and Profile
. If you specify auto
, Elastic Transcoder uses the
* detected bit rate of the input source. If you specify a value other than auto
, we recommend that you
* specify a value less than or equal to the maximum H.264-compliant value listed for your level and profile:
*
*
* Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate in
* kilobits/second (high Profile)
*
*
* -
*
* 1 - 64 : 80
*
*
* -
*
* 1b - 128 : 160
*
*
* -
*
* 1.1 - 192 : 240
*
*
* -
*
* 1.2 - 384 : 480
*
*
* -
*
* 1.3 - 768 : 960
*
*
* -
*
* 2 - 2000 : 2500
*
*
* -
*
* 3 - 10000 : 12500
*
*
* -
*
* 3.1 - 14000 : 17500
*
*
* -
*
* 3.2 - 20000 : 25000
*
*
* -
*
* 4 - 20000 : 25000
*
*
* -
*
* 4.1 - 50000 : 62500
*
*
*
*/
private String bitRate;
/**
*
* The frames per second for the video stream in the output file. Valid values include:
*
*
* auto
, 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
*
*
* If you specify auto
, Elastic Transcoder uses the detected frame rate of the input source. If you
* specify a frame rate, we recommend that you perform the following calculation:
*
*
* Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)
*
*
* where:
*
*
* -
*
* width in pixels and height in pixels represent the Resolution of the output video.
*
*
* -
*
* maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum value
* listed in the following table, based on the value that you specified for Level.
*
*
*
*
* The maximum recommended decoding speed in Luma samples/second for each level is described in the following list
* (Level - Decoding speed):
*
*
* -
*
* 1 - 380160
*
*
* -
*
* 1b - 380160
*
*
* -
*
* 1.1 - 76800
*
*
* -
*
* 1.2 - 1536000
*
*
* -
*
* 1.3 - 3041280
*
*
* -
*
* 2 - 3041280
*
*
* -
*
* 2.1 - 5068800
*
*
* -
*
* 2.2 - 5184000
*
*
* -
*
* 3 - 10368000
*
*
* -
*
* 3.1 - 27648000
*
*
* -
*
* 3.2 - 55296000
*
*
* -
*
* 4 - 62914560
*
*
* -
*
* 4.1 - 62914560
*
*
*
*/
private String frameRate;
/**
*
* If you specify auto
for FrameRate
, Elastic Transcoder uses the frame rate of the input
* video for the frame rate of the output video. Specify the maximum frame rate that you want Elastic Transcoder to
* use when the frame rate of the input video is greater than the desired maximum frame rate of the output video.
* Valid values include: 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
.
*
*/
private String maxFrameRate;
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The width and height of the video in the output file, in pixels. Valid values are auto
and
* width x height:
*
*
* -
*
* auto
: Elastic Transcoder attempts to preserve the width and height of the input file, subject to the
* following rules.
*
*
* -
*
* width x height
: The width and height of the output video in pixels.
*
*
*
*
* Note the following about specifying the width and height:
*
*
* -
*
* The width must be an even integer between 128 and 4096, inclusive.
*
*
* -
*
* The height must be an even integer between 96 and 3072, inclusive.
*
*
* -
*
* If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder rescales the
* output file to the lower resolution.
*
*
* -
*
* If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder rescales
* the output to the higher resolution.
*
*
* -
*
* We recommend that you specify a resolution for which the product of width and height is less than or equal to the
* applicable value in the following list (List - Max width x height value):
*
*
* -
*
* 1 - 25344
*
*
* -
*
* 1b - 25344
*
*
* -
*
* 1.1 - 101376
*
*
* -
*
* 1.2 - 101376
*
*
* -
*
* 1.3 - 101376
*
*
* -
*
* 2 - 101376
*
*
* -
*
* 2.1 - 202752
*
*
* -
*
* 2.2 - 404720
*
*
* -
*
* 3 - 404720
*
*
* -
*
* 3.1 - 921600
*
*
* -
*
* 3.2 - 1310720
*
*
* -
*
* 4 - 2097152
*
*
* -
*
* 4.1 - 2097152
*
*
*
*
*
*/
private String resolution;
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The display aspect ratio of the video in the output file. Valid values include:
*
*
* auto
, 1:1
, 4:3
, 3:2
, 16:9
*
*
* If you specify auto
, Elastic Transcoder tries to preserve the aspect ratio of the input file.
*
*
* If you specify an aspect ratio for the output file that differs from aspect ratio of the input file, Elastic
* Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and bottom) to
* maintain the aspect ratio of the active region of the video.
*
*/
private String aspectRatio;
/**
*
* The maximum width of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1920
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 128 and 4096.
*
*/
private String maxWidth;
/**
*
* The maximum height of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1080
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 96 and 3072.
*
*/
private String maxHeight;
/**
*
* The value that Elastic Transcoder adds to the metadata in the output file.
*
*/
private String displayAspectRatio;
/**
*
* Specify one of the following values to control scaling of the output video:
*
*
* -
*
* Fit
: Elastic Transcoder scales the output video so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
*
* -
*
* Fill
: Elastic Transcoder scales the output video 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 video and then crops it in the dimension (if any) that exceeds the maximum value.
*
*
* -
*
* Stretch
: Elastic Transcoder stretches the output video to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input video and the output
* video are different, the output video will be distorted.
*
*
* -
*
* Keep
: Elastic Transcoder does not scale the output video. If either dimension of the input video
* exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder
* crops the output video.
*
*
* -
*
* ShrinkToFit
: Elastic Transcoder scales the output video 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 video up.
*
*
* -
*
* ShrinkToFill
: Elastic Transcoder scales the output video 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 video up.
*
*
*
*/
private String sizingPolicy;
/**
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add black bars to the top and
* bottom and/or left and right sides of the output video to make the total size of the output video match the
* values that you specified for MaxWidth
and MaxHeight
.
*
*/
private String paddingPolicy;
/**
*
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos
* that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in
* the specified size and location, and with the specified opacity for the duration of the transcoded video.
*
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the
* .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have
* different dimensions.
*
*/
private com.amazonaws.internal.SdkInternalList watermarks;
/**
*
* The video codec for the output file. Valid values include gif
, H.264
,
* mpeg2
, vp8
, and vp9
. You can only specify vp8
and
* vp9
when the container type is webm
, gif
when the container type is
* gif
, and mpeg2
when the container type is mpg
.
*
*
* @param codec
* The video codec for the output file. Valid values include gif
, H.264
,
* mpeg2
, vp8
, and vp9
. You can only specify vp8
and
* vp9
when the container type is webm
, gif
when the container type is
* gif
, and mpeg2
when the container type is mpg
.
*/
public void setCodec(String codec) {
this.codec = codec;
}
/**
*
* The video codec for the output file. Valid values include gif
, H.264
,
* mpeg2
, vp8
, and vp9
. You can only specify vp8
and
* vp9
when the container type is webm
, gif
when the container type is
* gif
, and mpeg2
when the container type is mpg
.
*
*
* @return The video codec for the output file. Valid values include gif
, H.264
,
* mpeg2
, vp8
, and vp9
. You can only specify vp8
and
* vp9
when the container type is webm
, gif
when the container type
* is gif
, and mpeg2
when the container type is mpg
.
*/
public String getCodec() {
return this.codec;
}
/**
*
* The video codec for the output file. Valid values include gif
, H.264
,
* mpeg2
, vp8
, and vp9
. You can only specify vp8
and
* vp9
when the container type is webm
, gif
when the container type is
* gif
, and mpeg2
when the container type is mpg
.
*
*
* @param codec
* The video codec for the output file. Valid values include gif
, H.264
,
* mpeg2
, vp8
, and vp9
. You can only specify vp8
and
* vp9
when the container type is webm
, gif
when the container type is
* gif
, and mpeg2
when the container type is mpg
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withCodec(String codec) {
setCodec(codec);
return this;
}
/**
*
* Profile (H.264/VP8/VP9 Only)
*
*
* The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following profiles:
*
*
* -
*
* baseline
: The profile most commonly used for videoconferencing and for mobile applications.
*
*
* -
*
* main
: The profile used for standard-definition digital TV broadcasts.
*
*
* -
*
* high
: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.
*
*
*
*
* Level (H.264 Only)
*
*
* The H.264 level that you want to use for the output file. Elastic Transcoder supports the following levels:
*
*
* 1
, 1b
, 1.1
, 1.2
, 1.3
, 2
,
* 2.1
, 2.2
, 3
, 3.1
, 3.2
, 4
,
* 4.1
*
*
* MaxReferenceFrames (H.264 Only)
*
*
* Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to use as
* a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend that you not use
* a value greater than the following:
*
*
* Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)
*
*
* where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or Resolution.
* Maximum decoded picture buffer in macroblocks depends on the value of the Level
object. See
* the list below. (A macroblock is a block of pixels measuring 16x16.)
*
*
* -
*
* 1 - 396
*
*
* -
*
* 1b - 396
*
*
* -
*
* 1.1 - 900
*
*
* -
*
* 1.2 - 2376
*
*
* -
*
* 1.3 - 2376
*
*
* -
*
* 2 - 2376
*
*
* -
*
* 2.1 - 4752
*
*
* -
*
* 2.2 - 8100
*
*
* -
*
* 3 - 8100
*
*
* -
*
* 3.1 - 18000
*
*
* -
*
* 3.2 - 20480
*
*
* -
*
* 4 - 32768
*
*
* -
*
* 4.1 - 32768
*
*
*
*
* MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits per second in a video buffer; the size of the buffer is specified by
* BufferSize
. Specify a value between 16 and 62,500. You can reduce the bandwidth required to stream a
* video by reducing the maximum bit rate, but this also reduces the quality of the video.
*
*
* BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the standard
* segment duration when you're using FMP4 or MPEG-TS for the container type of the output video. Specify an integer
* greater than 0. If you specify MaxBitRate
and omit BufferSize
, Elastic Transcoder sets
* BufferSize
to 10 times the value of MaxBitRate
.
*
*
* InterlacedMode (Optional, H.264/MPEG2 Only)
*
*
* The interlace mode for the output video.
*
*
* Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one field on
* every other line, the other field on the other lines) so that the human eye registers multiple pictures per
* frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in blurred images and
* flickering.
*
*
* Valid values include Progressive
(no interlacing, top to bottom), TopFirst
(top field
* first), BottomFirst
(bottom field first), and Auto
.
*
*
* If InterlaceMode
is not specified, Elastic Transcoder uses Progressive
for the output.
* If Auto
is specified, Elastic Transcoder interlaces the output.
*
*
* ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
*
*
* The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms used
* by the computer to store information about how to render color. Bt.601
is the standard for standard
* definition video, while Bt.709
is the standard for high definition video.
*
*
* Valid values include None
, Bt709toBt601
, Bt601toBt709
, and
* Auto
.
*
*
* If you chose Auto
for ColorSpaceConversionMode
and your output is interlaced, your
* frame rate is one of 23.97
, 24
, 25
, 29.97
, 50
,
* or 60
, your SegmentDuration
is null, and you are using one of the resolution changes
* from the list below, Elastic Transcoder applies the following color space conversions:
*
*
* -
*
* Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
*
*
* -
*
* HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
*
*
*
*
*
* Elastic Transcoder may change the behavior of the ColorspaceConversionMode
Auto
mode in
* the future. All outputs in a playlist must use the same ColorSpaceConversionMode
.
*
*
*
* If you do not specify a ColorSpaceConversionMode
, Elastic Transcoder does not change the color space
* of a file. If you are unsure what ColorSpaceConversionMode
was applied to your output file, you can
* check the AppliedColorSpaceConversion
parameter included in your job response. If your job does not
* have an AppliedColorSpaceConversion
in its response, no ColorSpaceConversionMode
was
* applied.
*
*
* ChromaSubsampling
*
*
* The sampling pattern for the chroma (color) channels of the output video. Valid values include
* yuv420p
and yuv422p
.
*
*
* yuv420p
samples the chroma information of every other horizontal and every other vertical line,
* yuv422p
samples the color information of every horizontal line and every other vertical line.
*
*
* LoopCount (Gif Only)
*
*
* The number of times you want the output gif to loop. Valid values include Infinite
and integers
* between 0
and 100
, inclusive.
*
*
* @return Profile (H.264/VP8/VP9 Only)
*
* The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following
* profiles:
*
*
* -
*
* baseline
: The profile most commonly used for videoconferencing and for mobile applications.
*
*
* -
*
* main
: The profile used for standard-definition digital TV broadcasts.
*
*
* -
*
* high
: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.
*
*
*
*
* Level (H.264 Only)
*
*
* The H.264 level that you want to use for the output file. Elastic Transcoder supports the following
* levels:
*
*
* 1
, 1b
, 1.1
, 1.2
, 1.3
, 2
,
* 2.1
, 2.2
, 3
, 3.1
, 3.2
, 4
,
* 4.1
*
*
* MaxReferenceFrames (H.264 Only)
*
*
* Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames
* to use as a reference for decoding future frames. Valid values are integers 0 through 16, but we
* recommend that you not use a value greater than the following:
*
*
* Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)
*
*
* where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or
* Resolution. Maximum decoded picture buffer in macroblocks depends on the value of the
* Level
object. See the list below. (A macroblock is a block of pixels measuring 16x16.)
*
*
* -
*
* 1 - 396
*
*
* -
*
* 1b - 396
*
*
* -
*
* 1.1 - 900
*
*
* -
*
* 1.2 - 2376
*
*
* -
*
* 1.3 - 2376
*
*
* -
*
* 2 - 2376
*
*
* -
*
* 2.1 - 4752
*
*
* -
*
* 2.2 - 8100
*
*
* -
*
* 3 - 8100
*
*
* -
*
* 3.1 - 18000
*
*
* -
*
* 3.2 - 20480
*
*
* -
*
* 4 - 32768
*
*
* -
*
* 4.1 - 32768
*
*
*
*
* MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits per second in a video buffer; the size of the buffer is specified by
* BufferSize
. Specify a value between 16 and 62,500. You can reduce the bandwidth required to
* stream a video by reducing the maximum bit rate, but this also reduces the quality of the video.
*
*
* BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the
* standard segment duration when you're using FMP4 or MPEG-TS for the container type of the output video.
* Specify an integer greater than 0. If you specify MaxBitRate
and omit
* BufferSize
, Elastic Transcoder sets BufferSize
to 10 times the value of
* MaxBitRate
.
*
*
* InterlacedMode (Optional, H.264/MPEG2 Only)
*
*
* The interlace mode for the output video.
*
*
* Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one
* field on every other line, the other field on the other lines) so that the human eye registers multiple
* pictures per frame. Interlacing reduces the bandwidth required for transmitting a video, but can result
* in blurred images and flickering.
*
*
* Valid values include Progressive
(no interlacing, top to bottom), TopFirst
(top
* field first), BottomFirst
(bottom field first), and Auto
.
*
*
* If InterlaceMode
is not specified, Elastic Transcoder uses Progressive
for the
* output. If Auto
is specified, Elastic Transcoder interlaces the output.
*
*
* ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
*
*
* The color space conversion Elastic Transcoder applies to the output video. Color spaces are the
* algorithms used by the computer to store information about how to render color. Bt.601
is
* the standard for standard definition video, while Bt.709
is the standard for high definition
* video.
*
*
* Valid values include None
, Bt709toBt601
, Bt601toBt709
, and
* Auto
.
*
*
* If you chose Auto
for ColorSpaceConversionMode
and your output is interlaced,
* your frame rate is one of 23.97
, 24
, 25
, 29.97
,
* 50
, or 60
, your SegmentDuration
is null, and you are using one of
* the resolution changes from the list below, Elastic Transcoder applies the following color space
* conversions:
*
*
* -
*
* Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
*
*
* -
*
* HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
*
*
*
*
*
* Elastic Transcoder may change the behavior of the ColorspaceConversionMode
Auto
* mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode
.
*
*
*
* If you do not specify a ColorSpaceConversionMode
, Elastic Transcoder does not change the
* color space of a file. If you are unsure what ColorSpaceConversionMode
was applied to your
* output file, you can check the AppliedColorSpaceConversion
parameter included in your job
* response. If your job does not have an AppliedColorSpaceConversion
in its response, no
* ColorSpaceConversionMode
was applied.
*
*
* ChromaSubsampling
*
*
* The sampling pattern for the chroma (color) channels of the output video. Valid values include
* yuv420p
and yuv422p
.
*
*
* yuv420p
samples the chroma information of every other horizontal and every other vertical
* line, yuv422p
samples the color information of every horizontal line and every other
* vertical line.
*
*
* LoopCount (Gif Only)
*
*
* The number of times you want the output gif to loop. Valid values include Infinite
and
* integers between 0
and 100
, inclusive.
*/
public java.util.Map getCodecOptions() {
if (codecOptions == null) {
codecOptions = new com.amazonaws.internal.SdkInternalMap();
}
return codecOptions;
}
/**
*
* Profile (H.264/VP8/VP9 Only)
*
*
* The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following profiles:
*
*
* -
*
* baseline
: The profile most commonly used for videoconferencing and for mobile applications.
*
*
* -
*
* main
: The profile used for standard-definition digital TV broadcasts.
*
*
* -
*
* high
: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.
*
*
*
*
* Level (H.264 Only)
*
*
* The H.264 level that you want to use for the output file. Elastic Transcoder supports the following levels:
*
*
* 1
, 1b
, 1.1
, 1.2
, 1.3
, 2
,
* 2.1
, 2.2
, 3
, 3.1
, 3.2
, 4
,
* 4.1
*
*
* MaxReferenceFrames (H.264 Only)
*
*
* Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to use as
* a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend that you not use
* a value greater than the following:
*
*
* Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)
*
*
* where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or Resolution.
* Maximum decoded picture buffer in macroblocks depends on the value of the Level
object. See
* the list below. (A macroblock is a block of pixels measuring 16x16.)
*
*
* -
*
* 1 - 396
*
*
* -
*
* 1b - 396
*
*
* -
*
* 1.1 - 900
*
*
* -
*
* 1.2 - 2376
*
*
* -
*
* 1.3 - 2376
*
*
* -
*
* 2 - 2376
*
*
* -
*
* 2.1 - 4752
*
*
* -
*
* 2.2 - 8100
*
*
* -
*
* 3 - 8100
*
*
* -
*
* 3.1 - 18000
*
*
* -
*
* 3.2 - 20480
*
*
* -
*
* 4 - 32768
*
*
* -
*
* 4.1 - 32768
*
*
*
*
* MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits per second in a video buffer; the size of the buffer is specified by
* BufferSize
. Specify a value between 16 and 62,500. You can reduce the bandwidth required to stream a
* video by reducing the maximum bit rate, but this also reduces the quality of the video.
*
*
* BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the standard
* segment duration when you're using FMP4 or MPEG-TS for the container type of the output video. Specify an integer
* greater than 0. If you specify MaxBitRate
and omit BufferSize
, Elastic Transcoder sets
* BufferSize
to 10 times the value of MaxBitRate
.
*
*
* InterlacedMode (Optional, H.264/MPEG2 Only)
*
*
* The interlace mode for the output video.
*
*
* Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one field on
* every other line, the other field on the other lines) so that the human eye registers multiple pictures per
* frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in blurred images and
* flickering.
*
*
* Valid values include Progressive
(no interlacing, top to bottom), TopFirst
(top field
* first), BottomFirst
(bottom field first), and Auto
.
*
*
* If InterlaceMode
is not specified, Elastic Transcoder uses Progressive
for the output.
* If Auto
is specified, Elastic Transcoder interlaces the output.
*
*
* ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
*
*
* The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms used
* by the computer to store information about how to render color. Bt.601
is the standard for standard
* definition video, while Bt.709
is the standard for high definition video.
*
*
* Valid values include None
, Bt709toBt601
, Bt601toBt709
, and
* Auto
.
*
*
* If you chose Auto
for ColorSpaceConversionMode
and your output is interlaced, your
* frame rate is one of 23.97
, 24
, 25
, 29.97
, 50
,
* or 60
, your SegmentDuration
is null, and you are using one of the resolution changes
* from the list below, Elastic Transcoder applies the following color space conversions:
*
*
* -
*
* Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
*
*
* -
*
* HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
*
*
*
*
*
* Elastic Transcoder may change the behavior of the ColorspaceConversionMode
Auto
mode in
* the future. All outputs in a playlist must use the same ColorSpaceConversionMode
.
*
*
*
* If you do not specify a ColorSpaceConversionMode
, Elastic Transcoder does not change the color space
* of a file. If you are unsure what ColorSpaceConversionMode
was applied to your output file, you can
* check the AppliedColorSpaceConversion
parameter included in your job response. If your job does not
* have an AppliedColorSpaceConversion
in its response, no ColorSpaceConversionMode
was
* applied.
*
*
* ChromaSubsampling
*
*
* The sampling pattern for the chroma (color) channels of the output video. Valid values include
* yuv420p
and yuv422p
.
*
*
* yuv420p
samples the chroma information of every other horizontal and every other vertical line,
* yuv422p
samples the color information of every horizontal line and every other vertical line.
*
*
* LoopCount (Gif Only)
*
*
* The number of times you want the output gif to loop. Valid values include Infinite
and integers
* between 0
and 100
, inclusive.
*
*
* @param codecOptions
* Profile (H.264/VP8/VP9 Only)
*
* The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following
* profiles:
*
*
* -
*
* baseline
: The profile most commonly used for videoconferencing and for mobile applications.
*
*
* -
*
* main
: The profile used for standard-definition digital TV broadcasts.
*
*
* -
*
* high
: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.
*
*
*
*
* Level (H.264 Only)
*
*
* The H.264 level that you want to use for the output file. Elastic Transcoder supports the following
* levels:
*
*
* 1
, 1b
, 1.1
, 1.2
, 1.3
, 2
,
* 2.1
, 2.2
, 3
, 3.1
, 3.2
, 4
,
* 4.1
*
*
* MaxReferenceFrames (H.264 Only)
*
*
* Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to
* use as a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend
* that you not use a value greater than the following:
*
*
* Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)
*
*
* where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or
* Resolution. Maximum decoded picture buffer in macroblocks depends on the value of the
* Level
object. See the list below. (A macroblock is a block of pixels measuring 16x16.)
*
*
* -
*
* 1 - 396
*
*
* -
*
* 1b - 396
*
*
* -
*
* 1.1 - 900
*
*
* -
*
* 1.2 - 2376
*
*
* -
*
* 1.3 - 2376
*
*
* -
*
* 2 - 2376
*
*
* -
*
* 2.1 - 4752
*
*
* -
*
* 2.2 - 8100
*
*
* -
*
* 3 - 8100
*
*
* -
*
* 3.1 - 18000
*
*
* -
*
* 3.2 - 20480
*
*
* -
*
* 4 - 32768
*
*
* -
*
* 4.1 - 32768
*
*
*
*
* MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits per second in a video buffer; the size of the buffer is specified by
* BufferSize
. Specify a value between 16 and 62,500. You can reduce the bandwidth required to
* stream a video by reducing the maximum bit rate, but this also reduces the quality of the video.
*
*
* BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the
* standard segment duration when you're using FMP4 or MPEG-TS for the container type of the output video.
* Specify an integer greater than 0. If you specify MaxBitRate
and omit BufferSize
* , Elastic Transcoder sets BufferSize
to 10 times the value of MaxBitRate
.
*
*
* InterlacedMode (Optional, H.264/MPEG2 Only)
*
*
* The interlace mode for the output video.
*
*
* Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one
* field on every other line, the other field on the other lines) so that the human eye registers multiple
* pictures per frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in
* blurred images and flickering.
*
*
* Valid values include Progressive
(no interlacing, top to bottom), TopFirst
(top
* field first), BottomFirst
(bottom field first), and Auto
.
*
*
* If InterlaceMode
is not specified, Elastic Transcoder uses Progressive
for the
* output. If Auto
is specified, Elastic Transcoder interlaces the output.
*
*
* ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
*
*
* The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms
* used by the computer to store information about how to render color. Bt.601
is the standard
* for standard definition video, while Bt.709
is the standard for high definition video.
*
*
* Valid values include None
, Bt709toBt601
, Bt601toBt709
, and
* Auto
.
*
*
* If you chose Auto
for ColorSpaceConversionMode
and your output is interlaced,
* your frame rate is one of 23.97
, 24
, 25
, 29.97
,
* 50
, or 60
, your SegmentDuration
is null, and you are using one of
* the resolution changes from the list below, Elastic Transcoder applies the following color space
* conversions:
*
*
* -
*
* Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
*
*
* -
*
* HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
*
*
*
*
*
* Elastic Transcoder may change the behavior of the ColorspaceConversionMode
Auto
* mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode
.
*
*
*
* If you do not specify a ColorSpaceConversionMode
, Elastic Transcoder does not change the
* color space of a file. If you are unsure what ColorSpaceConversionMode
was applied to your
* output file, you can check the AppliedColorSpaceConversion
parameter included in your job
* response. If your job does not have an AppliedColorSpaceConversion
in its response, no
* ColorSpaceConversionMode
was applied.
*
*
* ChromaSubsampling
*
*
* The sampling pattern for the chroma (color) channels of the output video. Valid values include
* yuv420p
and yuv422p
.
*
*
* yuv420p
samples the chroma information of every other horizontal and every other vertical
* line, yuv422p
samples the color information of every horizontal line and every other vertical
* line.
*
*
* LoopCount (Gif Only)
*
*
* The number of times you want the output gif to loop. Valid values include Infinite
and
* integers between 0
and 100
, inclusive.
*/
public void setCodecOptions(java.util.Map codecOptions) {
this.codecOptions = codecOptions == null ? null : new com.amazonaws.internal.SdkInternalMap(codecOptions);
}
/**
*
* Profile (H.264/VP8/VP9 Only)
*
*
* The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following profiles:
*
*
* -
*
* baseline
: The profile most commonly used for videoconferencing and for mobile applications.
*
*
* -
*
* main
: The profile used for standard-definition digital TV broadcasts.
*
*
* -
*
* high
: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.
*
*
*
*
* Level (H.264 Only)
*
*
* The H.264 level that you want to use for the output file. Elastic Transcoder supports the following levels:
*
*
* 1
, 1b
, 1.1
, 1.2
, 1.3
, 2
,
* 2.1
, 2.2
, 3
, 3.1
, 3.2
, 4
,
* 4.1
*
*
* MaxReferenceFrames (H.264 Only)
*
*
* Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to use as
* a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend that you not use
* a value greater than the following:
*
*
* Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)
*
*
* where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or Resolution.
* Maximum decoded picture buffer in macroblocks depends on the value of the Level
object. See
* the list below. (A macroblock is a block of pixels measuring 16x16.)
*
*
* -
*
* 1 - 396
*
*
* -
*
* 1b - 396
*
*
* -
*
* 1.1 - 900
*
*
* -
*
* 1.2 - 2376
*
*
* -
*
* 1.3 - 2376
*
*
* -
*
* 2 - 2376
*
*
* -
*
* 2.1 - 4752
*
*
* -
*
* 2.2 - 8100
*
*
* -
*
* 3 - 8100
*
*
* -
*
* 3.1 - 18000
*
*
* -
*
* 3.2 - 20480
*
*
* -
*
* 4 - 32768
*
*
* -
*
* 4.1 - 32768
*
*
*
*
* MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits per second in a video buffer; the size of the buffer is specified by
* BufferSize
. Specify a value between 16 and 62,500. You can reduce the bandwidth required to stream a
* video by reducing the maximum bit rate, but this also reduces the quality of the video.
*
*
* BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the standard
* segment duration when you're using FMP4 or MPEG-TS for the container type of the output video. Specify an integer
* greater than 0. If you specify MaxBitRate
and omit BufferSize
, Elastic Transcoder sets
* BufferSize
to 10 times the value of MaxBitRate
.
*
*
* InterlacedMode (Optional, H.264/MPEG2 Only)
*
*
* The interlace mode for the output video.
*
*
* Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one field on
* every other line, the other field on the other lines) so that the human eye registers multiple pictures per
* frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in blurred images and
* flickering.
*
*
* Valid values include Progressive
(no interlacing, top to bottom), TopFirst
(top field
* first), BottomFirst
(bottom field first), and Auto
.
*
*
* If InterlaceMode
is not specified, Elastic Transcoder uses Progressive
for the output.
* If Auto
is specified, Elastic Transcoder interlaces the output.
*
*
* ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
*
*
* The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms used
* by the computer to store information about how to render color. Bt.601
is the standard for standard
* definition video, while Bt.709
is the standard for high definition video.
*
*
* Valid values include None
, Bt709toBt601
, Bt601toBt709
, and
* Auto
.
*
*
* If you chose Auto
for ColorSpaceConversionMode
and your output is interlaced, your
* frame rate is one of 23.97
, 24
, 25
, 29.97
, 50
,
* or 60
, your SegmentDuration
is null, and you are using one of the resolution changes
* from the list below, Elastic Transcoder applies the following color space conversions:
*
*
* -
*
* Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
*
*
* -
*
* HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
*
*
*
*
*
* Elastic Transcoder may change the behavior of the ColorspaceConversionMode
Auto
mode in
* the future. All outputs in a playlist must use the same ColorSpaceConversionMode
.
*
*
*
* If you do not specify a ColorSpaceConversionMode
, Elastic Transcoder does not change the color space
* of a file. If you are unsure what ColorSpaceConversionMode
was applied to your output file, you can
* check the AppliedColorSpaceConversion
parameter included in your job response. If your job does not
* have an AppliedColorSpaceConversion
in its response, no ColorSpaceConversionMode
was
* applied.
*
*
* ChromaSubsampling
*
*
* The sampling pattern for the chroma (color) channels of the output video. Valid values include
* yuv420p
and yuv422p
.
*
*
* yuv420p
samples the chroma information of every other horizontal and every other vertical line,
* yuv422p
samples the color information of every horizontal line and every other vertical line.
*
*
* LoopCount (Gif Only)
*
*
* The number of times you want the output gif to loop. Valid values include Infinite
and integers
* between 0
and 100
, inclusive.
*
*
* @param codecOptions
* Profile (H.264/VP8/VP9 Only)
*
* The H.264 profile that you want to use for the output file. Elastic Transcoder supports the following
* profiles:
*
*
* -
*
* baseline
: The profile most commonly used for videoconferencing and for mobile applications.
*
*
* -
*
* main
: The profile used for standard-definition digital TV broadcasts.
*
*
* -
*
* high
: The profile used for high-definition digital TV broadcasts and for Blu-ray discs.
*
*
*
*
* Level (H.264 Only)
*
*
* The H.264 level that you want to use for the output file. Elastic Transcoder supports the following
* levels:
*
*
* 1
, 1b
, 1.1
, 1.2
, 1.3
, 2
,
* 2.1
, 2.2
, 3
, 3.1
, 3.2
, 4
,
* 4.1
*
*
* MaxReferenceFrames (H.264 Only)
*
*
* Applicable only when the value of Video:Codec is H.264. The maximum number of previously decoded frames to
* use as a reference for decoding future frames. Valid values are integers 0 through 16, but we recommend
* that you not use a value greater than the following:
*
*
* Min(Floor(Maximum decoded picture buffer in macroblocks * 256 / (Width in pixels * Height in pixels)), 16)
*
*
* where Width in pixels and Height in pixels represent either MaxWidth and MaxHeight, or
* Resolution. Maximum decoded picture buffer in macroblocks depends on the value of the
* Level
object. See the list below. (A macroblock is a block of pixels measuring 16x16.)
*
*
* -
*
* 1 - 396
*
*
* -
*
* 1b - 396
*
*
* -
*
* 1.1 - 900
*
*
* -
*
* 1.2 - 2376
*
*
* -
*
* 1.3 - 2376
*
*
* -
*
* 2 - 2376
*
*
* -
*
* 2.1 - 4752
*
*
* -
*
* 2.2 - 8100
*
*
* -
*
* 3 - 8100
*
*
* -
*
* 3.1 - 18000
*
*
* -
*
* 3.2 - 20480
*
*
* -
*
* 4 - 32768
*
*
* -
*
* 4.1 - 32768
*
*
*
*
* MaxBitRate (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits per second in a video buffer; the size of the buffer is specified by
* BufferSize
. Specify a value between 16 and 62,500. You can reduce the bandwidth required to
* stream a video by reducing the maximum bit rate, but this also reduces the quality of the video.
*
*
* BufferSize (Optional, H.264/MPEG2/VP8/VP9 only)
*
*
* The maximum number of bits in any x seconds of the output video. This window is commonly 10 seconds, the
* standard segment duration when you're using FMP4 or MPEG-TS for the container type of the output video.
* Specify an integer greater than 0. If you specify MaxBitRate
and omit BufferSize
* , Elastic Transcoder sets BufferSize
to 10 times the value of MaxBitRate
.
*
*
* InterlacedMode (Optional, H.264/MPEG2 Only)
*
*
* The interlace mode for the output video.
*
*
* Interlaced video is used to double the perceived frame rate for a video by interlacing two fields (one
* field on every other line, the other field on the other lines) so that the human eye registers multiple
* pictures per frame. Interlacing reduces the bandwidth required for transmitting a video, but can result in
* blurred images and flickering.
*
*
* Valid values include Progressive
(no interlacing, top to bottom), TopFirst
(top
* field first), BottomFirst
(bottom field first), and Auto
.
*
*
* If InterlaceMode
is not specified, Elastic Transcoder uses Progressive
for the
* output. If Auto
is specified, Elastic Transcoder interlaces the output.
*
*
* ColorSpaceConversionMode (Optional, H.264/MPEG2 Only)
*
*
* The color space conversion Elastic Transcoder applies to the output video. Color spaces are the algorithms
* used by the computer to store information about how to render color. Bt.601
is the standard
* for standard definition video, while Bt.709
is the standard for high definition video.
*
*
* Valid values include None
, Bt709toBt601
, Bt601toBt709
, and
* Auto
.
*
*
* If you chose Auto
for ColorSpaceConversionMode
and your output is interlaced,
* your frame rate is one of 23.97
, 24
, 25
, 29.97
,
* 50
, or 60
, your SegmentDuration
is null, and you are using one of
* the resolution changes from the list below, Elastic Transcoder applies the following color space
* conversions:
*
*
* -
*
* Standard to HD, 720x480 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* Standard to HD, 720x576 to 1920x1080 - Elastic Transcoder applies Bt601ToBt709
*
*
* -
*
* HD to Standard, 1920x1080 to 720x480 - Elastic Transcoder applies Bt709ToBt601
*
*
* -
*
* HD to Standard, 1920x1080 to 720x576 - Elastic Transcoder applies Bt709ToBt601
*
*
*
*
*
* Elastic Transcoder may change the behavior of the ColorspaceConversionMode
Auto
* mode in the future. All outputs in a playlist must use the same ColorSpaceConversionMode
.
*
*
*
* If you do not specify a ColorSpaceConversionMode
, Elastic Transcoder does not change the
* color space of a file. If you are unsure what ColorSpaceConversionMode
was applied to your
* output file, you can check the AppliedColorSpaceConversion
parameter included in your job
* response. If your job does not have an AppliedColorSpaceConversion
in its response, no
* ColorSpaceConversionMode
was applied.
*
*
* ChromaSubsampling
*
*
* The sampling pattern for the chroma (color) channels of the output video. Valid values include
* yuv420p
and yuv422p
.
*
*
* yuv420p
samples the chroma information of every other horizontal and every other vertical
* line, yuv422p
samples the color information of every horizontal line and every other vertical
* line.
*
*
* LoopCount (Gif Only)
*
*
* The number of times you want the output gif to loop. Valid values include Infinite
and
* integers between 0
and 100
, inclusive.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withCodecOptions(java.util.Map codecOptions) {
setCodecOptions(codecOptions);
return this;
}
/**
* Add a single CodecOptions entry
*
* @see VideoParameters#withCodecOptions
* @returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters addCodecOptionsEntry(String key, String value) {
if (null == this.codecOptions) {
this.codecOptions = new com.amazonaws.internal.SdkInternalMap();
}
if (this.codecOptions.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.codecOptions.put(key, value);
return this;
}
/**
* Removes all the entries added into CodecOptions.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters clearCodecOptionsEntries() {
this.codecOptions = null;
return this;
}
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between key
* frames are encoded based, in part, on the content of the key frames. The value is an integer formatted as a
* string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A higher value results in
* higher compression but may also discernibly decrease video quality.
*
*
* For Smooth
outputs, the FrameRate
must have a constant ratio to the
* KeyframesMaxDist
. This allows Smooth
playlists to switch between different quality
* levels while the file is being played.
*
*
* For example, an input file can have a FrameRate
of 30 with a KeyframesMaxDist
of 90.
* The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate
of 30, 25, and
* 10, and KeyframesMaxDist
of 90, 75, and 30, respectively.
*
*
* Alternately, this can be achieved by setting FrameRate
to auto and having the same values for
* MaxFrameRate
and KeyframesMaxDist
.
*
*
* @param keyframesMaxDist
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
* The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between
* key frames are encoded based, in part, on the content of the key frames. The value is an integer formatted
* as a string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A higher value
* results in higher compression but may also discernibly decrease video quality.
*
*
* For Smooth
outputs, the FrameRate
must have a constant ratio to the
* KeyframesMaxDist
. This allows Smooth
playlists to switch between different
* quality levels while the file is being played.
*
*
* For example, an input file can have a FrameRate
of 30 with a KeyframesMaxDist
of
* 90. The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate
of
* 30, 25, and 10, and KeyframesMaxDist
of 90, 75, and 30, respectively.
*
*
* Alternately, this can be achieved by setting FrameRate
to auto and having the same values for
* MaxFrameRate
and KeyframesMaxDist
.
*/
public void setKeyframesMaxDist(String keyframesMaxDist) {
this.keyframesMaxDist = keyframesMaxDist;
}
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between key
* frames are encoded based, in part, on the content of the key frames. The value is an integer formatted as a
* string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A higher value results in
* higher compression but may also discernibly decrease video quality.
*
*
* For Smooth
outputs, the FrameRate
must have a constant ratio to the
* KeyframesMaxDist
. This allows Smooth
playlists to switch between different quality
* levels while the file is being played.
*
*
* For example, an input file can have a FrameRate
of 30 with a KeyframesMaxDist
of 90.
* The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate
of 30, 25, and
* 10, and KeyframesMaxDist
of 90, 75, and 30, respectively.
*
*
* Alternately, this can be achieved by setting FrameRate
to auto and having the same values for
* MaxFrameRate
and KeyframesMaxDist
.
*
*
* @return Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
* The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between
* key frames are encoded based, in part, on the content of the key frames. The value is an integer
* formatted as a string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A
* higher value results in higher compression but may also discernibly decrease video quality.
*
*
* For Smooth
outputs, the FrameRate
must have a constant ratio to the
* KeyframesMaxDist
. This allows Smooth
playlists to switch between different
* quality levels while the file is being played.
*
*
* For example, an input file can have a FrameRate
of 30 with a KeyframesMaxDist
* of 90. The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate
* of 30, 25, and 10, and KeyframesMaxDist
of 90, 75, and 30, respectively.
*
*
* Alternately, this can be achieved by setting FrameRate
to auto and having the same values
* for MaxFrameRate
and KeyframesMaxDist
.
*/
public String getKeyframesMaxDist() {
return this.keyframesMaxDist;
}
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between key
* frames are encoded based, in part, on the content of the key frames. The value is an integer formatted as a
* string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A higher value results in
* higher compression but may also discernibly decrease video quality.
*
*
* For Smooth
outputs, the FrameRate
must have a constant ratio to the
* KeyframesMaxDist
. This allows Smooth
playlists to switch between different quality
* levels while the file is being played.
*
*
* For example, an input file can have a FrameRate
of 30 with a KeyframesMaxDist
of 90.
* The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate
of 30, 25, and
* 10, and KeyframesMaxDist
of 90, 75, and 30, respectively.
*
*
* Alternately, this can be achieved by setting FrameRate
to auto and having the same values for
* MaxFrameRate
and KeyframesMaxDist
.
*
*
* @param keyframesMaxDist
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
* The maximum number of frames between key frames. Key frames are fully encoded frames; the frames between
* key frames are encoded based, in part, on the content of the key frames. The value is an integer formatted
* as a string; valid values are between 1 (every frame is a key frame) and 100000, inclusive. A higher value
* results in higher compression but may also discernibly decrease video quality.
*
*
* For Smooth
outputs, the FrameRate
must have a constant ratio to the
* KeyframesMaxDist
. This allows Smooth
playlists to switch between different
* quality levels while the file is being played.
*
*
* For example, an input file can have a FrameRate
of 30 with a KeyframesMaxDist
of
* 90. The output file then needs to have a ratio of 1:3. Valid outputs would have FrameRate
of
* 30, 25, and 10, and KeyframesMaxDist
of 90, 75, and 30, respectively.
*
*
* Alternately, this can be achieved by setting FrameRate
to auto and having the same values for
* MaxFrameRate
and KeyframesMaxDist
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withKeyframesMaxDist(String keyframesMaxDist) {
setKeyframesMaxDist(keyframesMaxDist);
return this;
}
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* Whether to use a fixed value for FixedGOP
. Valid values are true
and false
* :
*
*
* -
*
* true
: Elastic Transcoder uses the value of KeyframesMaxDist
for the distance between
* key frames (the number of frames in a group of pictures, or GOP).
*
*
* -
*
* false
: The distance between key frames can vary.
*
*
*
*
*
* FixedGOP
must be set to true
for fmp4
containers.
*
*
*
* @param fixedGOP
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
* Whether to use a fixed value for FixedGOP
. Valid values are true
and
* false
:
*
*
* -
*
* true
: Elastic Transcoder uses the value of KeyframesMaxDist
for the distance
* between key frames (the number of frames in a group of pictures, or GOP).
*
*
* -
*
* false
: The distance between key frames can vary.
*
*
*
*
*
* FixedGOP
must be set to true
for fmp4
containers.
*
*/
public void setFixedGOP(String fixedGOP) {
this.fixedGOP = fixedGOP;
}
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* Whether to use a fixed value for FixedGOP
. Valid values are true
and false
* :
*
*
* -
*
* true
: Elastic Transcoder uses the value of KeyframesMaxDist
for the distance between
* key frames (the number of frames in a group of pictures, or GOP).
*
*
* -
*
* false
: The distance between key frames can vary.
*
*
*
*
*
* FixedGOP
must be set to true
for fmp4
containers.
*
*
*
* @return Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
* Whether to use a fixed value for FixedGOP
. Valid values are true
and
* false
:
*
*
* -
*
* true
: Elastic Transcoder uses the value of KeyframesMaxDist
for the distance
* between key frames (the number of frames in a group of pictures, or GOP).
*
*
* -
*
* false
: The distance between key frames can vary.
*
*
*
*
*
* FixedGOP
must be set to true
for fmp4
containers.
*
*/
public String getFixedGOP() {
return this.fixedGOP;
}
/**
*
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
*
* Whether to use a fixed value for FixedGOP
. Valid values are true
and false
* :
*
*
* -
*
* true
: Elastic Transcoder uses the value of KeyframesMaxDist
for the distance between
* key frames (the number of frames in a group of pictures, or GOP).
*
*
* -
*
* false
: The distance between key frames can vary.
*
*
*
*
*
* FixedGOP
must be set to true
for fmp4
containers.
*
*
*
* @param fixedGOP
* Applicable only when the value of Video:Codec is one of H.264
, MPEG2
, or
* VP8
.
*
* Whether to use a fixed value for FixedGOP
. Valid values are true
and
* false
:
*
*
* -
*
* true
: Elastic Transcoder uses the value of KeyframesMaxDist
for the distance
* between key frames (the number of frames in a group of pictures, or GOP).
*
*
* -
*
* false
: The distance between key frames can vary.
*
*
*
*
*
* FixedGOP
must be set to true
for fmp4
containers.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withFixedGOP(String fixedGOP) {
setFixedGOP(fixedGOP);
return this;
}
/**
*
* The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values of
* Level
and Profile
. If you specify auto
, Elastic Transcoder uses the
* detected bit rate of the input source. If you specify a value other than auto
, we recommend that you
* specify a value less than or equal to the maximum H.264-compliant value listed for your level and profile:
*
*
* Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate in
* kilobits/second (high Profile)
*
*
* -
*
* 1 - 64 : 80
*
*
* -
*
* 1b - 128 : 160
*
*
* -
*
* 1.1 - 192 : 240
*
*
* -
*
* 1.2 - 384 : 480
*
*
* -
*
* 1.3 - 768 : 960
*
*
* -
*
* 2 - 2000 : 2500
*
*
* -
*
* 3 - 10000 : 12500
*
*
* -
*
* 3.1 - 14000 : 17500
*
*
* -
*
* 3.2 - 20000 : 25000
*
*
* -
*
* 4 - 20000 : 25000
*
*
* -
*
* 4.1 - 50000 : 62500
*
*
*
*
* @param bitRate
* The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values
* of Level
and Profile
. If you specify auto
, Elastic Transcoder uses
* the detected bit rate of the input source. If you specify a value other than auto
, we
* recommend that you specify a value less than or equal to the maximum H.264-compliant value listed for your
* level and profile:
*
* Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate
* in kilobits/second (high Profile)
*
*
* -
*
* 1 - 64 : 80
*
*
* -
*
* 1b - 128 : 160
*
*
* -
*
* 1.1 - 192 : 240
*
*
* -
*
* 1.2 - 384 : 480
*
*
* -
*
* 1.3 - 768 : 960
*
*
* -
*
* 2 - 2000 : 2500
*
*
* -
*
* 3 - 10000 : 12500
*
*
* -
*
* 3.1 - 14000 : 17500
*
*
* -
*
* 3.2 - 20000 : 25000
*
*
* -
*
* 4 - 20000 : 25000
*
*
* -
*
* 4.1 - 50000 : 62500
*
*
*/
public void setBitRate(String bitRate) {
this.bitRate = bitRate;
}
/**
*
* The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values of
* Level
and Profile
. If you specify auto
, Elastic Transcoder uses the
* detected bit rate of the input source. If you specify a value other than auto
, we recommend that you
* specify a value less than or equal to the maximum H.264-compliant value listed for your level and profile:
*
*
* Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate in
* kilobits/second (high Profile)
*
*
* -
*
* 1 - 64 : 80
*
*
* -
*
* 1b - 128 : 160
*
*
* -
*
* 1.1 - 192 : 240
*
*
* -
*
* 1.2 - 384 : 480
*
*
* -
*
* 1.3 - 768 : 960
*
*
* -
*
* 2 - 2000 : 2500
*
*
* -
*
* 3 - 10000 : 12500
*
*
* -
*
* 3.1 - 14000 : 17500
*
*
* -
*
* 3.2 - 20000 : 25000
*
*
* -
*
* 4 - 20000 : 25000
*
*
* -
*
* 4.1 - 50000 : 62500
*
*
*
*
* @return The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the
* values of Level
and Profile
. If you specify auto
, Elastic
* Transcoder uses the detected bit rate of the input source. If you specify a value other than
* auto
, we recommend that you specify a value less than or equal to the maximum
* H.264-compliant value listed for your level and profile:
*
* Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate
* in kilobits/second (high Profile)
*
*
* -
*
* 1 - 64 : 80
*
*
* -
*
* 1b - 128 : 160
*
*
* -
*
* 1.1 - 192 : 240
*
*
* -
*
* 1.2 - 384 : 480
*
*
* -
*
* 1.3 - 768 : 960
*
*
* -
*
* 2 - 2000 : 2500
*
*
* -
*
* 3 - 10000 : 12500
*
*
* -
*
* 3.1 - 14000 : 17500
*
*
* -
*
* 3.2 - 20000 : 25000
*
*
* -
*
* 4 - 20000 : 25000
*
*
* -
*
* 4.1 - 50000 : 62500
*
*
*/
public String getBitRate() {
return this.bitRate;
}
/**
*
* The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values of
* Level
and Profile
. If you specify auto
, Elastic Transcoder uses the
* detected bit rate of the input source. If you specify a value other than auto
, we recommend that you
* specify a value less than or equal to the maximum H.264-compliant value listed for your level and profile:
*
*
* Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate in
* kilobits/second (high Profile)
*
*
* -
*
* 1 - 64 : 80
*
*
* -
*
* 1b - 128 : 160
*
*
* -
*
* 1.1 - 192 : 240
*
*
* -
*
* 1.2 - 384 : 480
*
*
* -
*
* 1.3 - 768 : 960
*
*
* -
*
* 2 - 2000 : 2500
*
*
* -
*
* 3 - 10000 : 12500
*
*
* -
*
* 3.1 - 14000 : 17500
*
*
* -
*
* 3.2 - 20000 : 25000
*
*
* -
*
* 4 - 20000 : 25000
*
*
* -
*
* 4.1 - 50000 : 62500
*
*
*
*
* @param bitRate
* The bit rate of the video stream in the output file, in kilobits/second. Valid values depend on the values
* of Level
and Profile
. If you specify auto
, Elastic Transcoder uses
* the detected bit rate of the input source. If you specify a value other than auto
, we
* recommend that you specify a value less than or equal to the maximum H.264-compliant value listed for your
* level and profile:
*
* Level - Maximum video bit rate in kilobits/second (baseline and main Profile) : maximum video bit rate
* in kilobits/second (high Profile)
*
*
* -
*
* 1 - 64 : 80
*
*
* -
*
* 1b - 128 : 160
*
*
* -
*
* 1.1 - 192 : 240
*
*
* -
*
* 1.2 - 384 : 480
*
*
* -
*
* 1.3 - 768 : 960
*
*
* -
*
* 2 - 2000 : 2500
*
*
* -
*
* 3 - 10000 : 12500
*
*
* -
*
* 3.1 - 14000 : 17500
*
*
* -
*
* 3.2 - 20000 : 25000
*
*
* -
*
* 4 - 20000 : 25000
*
*
* -
*
* 4.1 - 50000 : 62500
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withBitRate(String bitRate) {
setBitRate(bitRate);
return this;
}
/**
*
* The frames per second for the video stream in the output file. Valid values include:
*
*
* auto
, 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
*
*
* If you specify auto
, Elastic Transcoder uses the detected frame rate of the input source. If you
* specify a frame rate, we recommend that you perform the following calculation:
*
*
* Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)
*
*
* where:
*
*
* -
*
* width in pixels and height in pixels represent the Resolution of the output video.
*
*
* -
*
* maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum value
* listed in the following table, based on the value that you specified for Level.
*
*
*
*
* The maximum recommended decoding speed in Luma samples/second for each level is described in the following list
* (Level - Decoding speed):
*
*
* -
*
* 1 - 380160
*
*
* -
*
* 1b - 380160
*
*
* -
*
* 1.1 - 76800
*
*
* -
*
* 1.2 - 1536000
*
*
* -
*
* 1.3 - 3041280
*
*
* -
*
* 2 - 3041280
*
*
* -
*
* 2.1 - 5068800
*
*
* -
*
* 2.2 - 5184000
*
*
* -
*
* 3 - 10368000
*
*
* -
*
* 3.1 - 27648000
*
*
* -
*
* 3.2 - 55296000
*
*
* -
*
* 4 - 62914560
*
*
* -
*
* 4.1 - 62914560
*
*
*
*
* @param frameRate
* The frames per second for the video stream in the output file. Valid values include:
*
* auto
, 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
*
*
* If you specify auto
, Elastic Transcoder uses the detected frame rate of the input source. If
* you specify a frame rate, we recommend that you perform the following calculation:
*
*
* Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)
*
*
* where:
*
*
* -
*
* width in pixels and height in pixels represent the Resolution of the output video.
*
*
* -
*
* maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum
* value listed in the following table, based on the value that you specified for Level.
*
*
*
*
* The maximum recommended decoding speed in Luma samples/second for each level is described in the following
* list (Level - Decoding speed):
*
*
* -
*
* 1 - 380160
*
*
* -
*
* 1b - 380160
*
*
* -
*
* 1.1 - 76800
*
*
* -
*
* 1.2 - 1536000
*
*
* -
*
* 1.3 - 3041280
*
*
* -
*
* 2 - 3041280
*
*
* -
*
* 2.1 - 5068800
*
*
* -
*
* 2.2 - 5184000
*
*
* -
*
* 3 - 10368000
*
*
* -
*
* 3.1 - 27648000
*
*
* -
*
* 3.2 - 55296000
*
*
* -
*
* 4 - 62914560
*
*
* -
*
* 4.1 - 62914560
*
*
*/
public void setFrameRate(String frameRate) {
this.frameRate = frameRate;
}
/**
*
* The frames per second for the video stream in the output file. Valid values include:
*
*
* auto
, 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
*
*
* If you specify auto
, Elastic Transcoder uses the detected frame rate of the input source. If you
* specify a frame rate, we recommend that you perform the following calculation:
*
*
* Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)
*
*
* where:
*
*
* -
*
* width in pixels and height in pixels represent the Resolution of the output video.
*
*
* -
*
* maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum value
* listed in the following table, based on the value that you specified for Level.
*
*
*
*
* The maximum recommended decoding speed in Luma samples/second for each level is described in the following list
* (Level - Decoding speed):
*
*
* -
*
* 1 - 380160
*
*
* -
*
* 1b - 380160
*
*
* -
*
* 1.1 - 76800
*
*
* -
*
* 1.2 - 1536000
*
*
* -
*
* 1.3 - 3041280
*
*
* -
*
* 2 - 3041280
*
*
* -
*
* 2.1 - 5068800
*
*
* -
*
* 2.2 - 5184000
*
*
* -
*
* 3 - 10368000
*
*
* -
*
* 3.1 - 27648000
*
*
* -
*
* 3.2 - 55296000
*
*
* -
*
* 4 - 62914560
*
*
* -
*
* 4.1 - 62914560
*
*
*
*
* @return The frames per second for the video stream in the output file. Valid values include:
*
* auto
, 10
, 15
, 23.97
, 24
, 25
, 29.97
, 30
, 60
*
*
* If you specify auto
, Elastic Transcoder uses the detected frame rate of the input source. If
* you specify a frame rate, we recommend that you perform the following calculation:
*
*
* Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)
*
*
* where:
*
*
* -
*
* width in pixels and height in pixels represent the Resolution of the output video.
*
*
* -
*
* maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum
* value listed in the following table, based on the value that you specified for Level.
*
*
*
*
* The maximum recommended decoding speed in Luma samples/second for each level is described in the
* following list (Level - Decoding speed):
*
*
* -
*
* 1 - 380160
*
*
* -
*
* 1b - 380160
*
*
* -
*
* 1.1 - 76800
*
*
* -
*
* 1.2 - 1536000
*
*
* -
*
* 1.3 - 3041280
*
*
* -
*
* 2 - 3041280
*
*
* -
*
* 2.1 - 5068800
*
*
* -
*
* 2.2 - 5184000
*
*
* -
*
* 3 - 10368000
*
*
* -
*
* 3.1 - 27648000
*
*
* -
*
* 3.2 - 55296000
*
*
* -
*
* 4 - 62914560
*
*
* -
*
* 4.1 - 62914560
*
*
*/
public String getFrameRate() {
return this.frameRate;
}
/**
*
* The frames per second for the video stream in the output file. Valid values include:
*
*
* auto
, 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
*
*
* If you specify auto
, Elastic Transcoder uses the detected frame rate of the input source. If you
* specify a frame rate, we recommend that you perform the following calculation:
*
*
* Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)
*
*
* where:
*
*
* -
*
* width in pixels and height in pixels represent the Resolution of the output video.
*
*
* -
*
* maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum value
* listed in the following table, based on the value that you specified for Level.
*
*
*
*
* The maximum recommended decoding speed in Luma samples/second for each level is described in the following list
* (Level - Decoding speed):
*
*
* -
*
* 1 - 380160
*
*
* -
*
* 1b - 380160
*
*
* -
*
* 1.1 - 76800
*
*
* -
*
* 1.2 - 1536000
*
*
* -
*
* 1.3 - 3041280
*
*
* -
*
* 2 - 3041280
*
*
* -
*
* 2.1 - 5068800
*
*
* -
*
* 2.2 - 5184000
*
*
* -
*
* 3 - 10368000
*
*
* -
*
* 3.1 - 27648000
*
*
* -
*
* 3.2 - 55296000
*
*
* -
*
* 4 - 62914560
*
*
* -
*
* 4.1 - 62914560
*
*
*
*
* @param frameRate
* The frames per second for the video stream in the output file. Valid values include:
*
* auto
, 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
*
*
* If you specify auto
, Elastic Transcoder uses the detected frame rate of the input source. If
* you specify a frame rate, we recommend that you perform the following calculation:
*
*
* Frame rate = maximum recommended decoding speed in luma samples/second / (width in pixels * height in pixels)
*
*
* where:
*
*
* -
*
* width in pixels and height in pixels represent the Resolution of the output video.
*
*
* -
*
* maximum recommended decoding speed in Luma samples/second is less than or equal to the maximum
* value listed in the following table, based on the value that you specified for Level.
*
*
*
*
* The maximum recommended decoding speed in Luma samples/second for each level is described in the following
* list (Level - Decoding speed):
*
*
* -
*
* 1 - 380160
*
*
* -
*
* 1b - 380160
*
*
* -
*
* 1.1 - 76800
*
*
* -
*
* 1.2 - 1536000
*
*
* -
*
* 1.3 - 3041280
*
*
* -
*
* 2 - 3041280
*
*
* -
*
* 2.1 - 5068800
*
*
* -
*
* 2.2 - 5184000
*
*
* -
*
* 3 - 10368000
*
*
* -
*
* 3.1 - 27648000
*
*
* -
*
* 3.2 - 55296000
*
*
* -
*
* 4 - 62914560
*
*
* -
*
* 4.1 - 62914560
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withFrameRate(String frameRate) {
setFrameRate(frameRate);
return this;
}
/**
*
* If you specify auto
for FrameRate
, Elastic Transcoder uses the frame rate of the input
* video for the frame rate of the output video. Specify the maximum frame rate that you want Elastic Transcoder to
* use when the frame rate of the input video is greater than the desired maximum frame rate of the output video.
* Valid values include: 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
.
*
*
* @param maxFrameRate
* If you specify auto
for FrameRate
, Elastic Transcoder uses the frame rate of the
* input video for the frame rate of the output video. Specify the maximum frame rate that you want Elastic
* Transcoder to use when the frame rate of the input video is greater than the desired maximum frame rate of
* the output video. Valid values include: 10
, 15
, 23.97
,
* 24
, 25
, 29.97
, 30
, 60
.
*/
public void setMaxFrameRate(String maxFrameRate) {
this.maxFrameRate = maxFrameRate;
}
/**
*
* If you specify auto
for FrameRate
, Elastic Transcoder uses the frame rate of the input
* video for the frame rate of the output video. Specify the maximum frame rate that you want Elastic Transcoder to
* use when the frame rate of the input video is greater than the desired maximum frame rate of the output video.
* Valid values include: 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
.
*
*
* @return If you specify auto
for FrameRate
, Elastic Transcoder uses the frame rate of
* the input video for the frame rate of the output video. Specify the maximum frame rate that you want
* Elastic Transcoder to use when the frame rate of the input video is greater than the desired maximum
* frame rate of the output video. Valid values include: 10
, 15
,
* 23.97
, 24
, 25
, 29.97
, 30
,
* 60
.
*/
public String getMaxFrameRate() {
return this.maxFrameRate;
}
/**
*
* If you specify auto
for FrameRate
, Elastic Transcoder uses the frame rate of the input
* video for the frame rate of the output video. Specify the maximum frame rate that you want Elastic Transcoder to
* use when the frame rate of the input video is greater than the desired maximum frame rate of the output video.
* Valid values include: 10
, 15
, 23.97
, 24
, 25
,
* 29.97
, 30
, 60
.
*
*
* @param maxFrameRate
* If you specify auto
for FrameRate
, Elastic Transcoder uses the frame rate of the
* input video for the frame rate of the output video. Specify the maximum frame rate that you want Elastic
* Transcoder to use when the frame rate of the input video is greater than the desired maximum frame rate of
* the output video. Valid values include: 10
, 15
, 23.97
,
* 24
, 25
, 29.97
, 30
, 60
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withMaxFrameRate(String maxFrameRate) {
setMaxFrameRate(maxFrameRate);
return this;
}
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The width and height of the video in the output file, in pixels. Valid values are auto
and
* width x height:
*
*
* -
*
* auto
: Elastic Transcoder attempts to preserve the width and height of the input file, subject to the
* following rules.
*
*
* -
*
* width x height
: The width and height of the output video in pixels.
*
*
*
*
* Note the following about specifying the width and height:
*
*
* -
*
* The width must be an even integer between 128 and 4096, inclusive.
*
*
* -
*
* The height must be an even integer between 96 and 3072, inclusive.
*
*
* -
*
* If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder rescales the
* output file to the lower resolution.
*
*
* -
*
* If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder rescales
* the output to the higher resolution.
*
*
* -
*
* We recommend that you specify a resolution for which the product of width and height is less than or equal to the
* applicable value in the following list (List - Max width x height value):
*
*
* -
*
* 1 - 25344
*
*
* -
*
* 1b - 25344
*
*
* -
*
* 1.1 - 101376
*
*
* -
*
* 1.2 - 101376
*
*
* -
*
* 1.3 - 101376
*
*
* -
*
* 2 - 101376
*
*
* -
*
* 2.1 - 202752
*
*
* -
*
* 2.2 - 404720
*
*
* -
*
* 3 - 404720
*
*
* -
*
* 3.1 - 921600
*
*
* -
*
* 3.2 - 1310720
*
*
* -
*
* 4 - 2097152
*
*
* -
*
* 4.1 - 2097152
*
*
*
*
*
*
* @param resolution
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two
* groups of settings are mutually exclusive. Do not use them together.
*
*
*
* The width and height of the video in the output file, in pixels. Valid values are auto
and
* width x height:
*
*
* -
*
* auto
: Elastic Transcoder attempts to preserve the width and height of the input file, subject
* to the following rules.
*
*
* -
*
* width x height
: The width and height of the output video in pixels.
*
*
*
*
* Note the following about specifying the width and height:
*
*
* -
*
* The width must be an even integer between 128 and 4096, inclusive.
*
*
* -
*
* The height must be an even integer between 96 and 3072, inclusive.
*
*
* -
*
* If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder
* rescales the output file to the lower resolution.
*
*
* -
*
* If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder
* rescales the output to the higher resolution.
*
*
* -
*
* We recommend that you specify a resolution for which the product of width and height is less than or equal
* to the applicable value in the following list (List - Max width x height value):
*
*
* -
*
* 1 - 25344
*
*
* -
*
* 1b - 25344
*
*
* -
*
* 1.1 - 101376
*
*
* -
*
* 1.2 - 101376
*
*
* -
*
* 1.3 - 101376
*
*
* -
*
* 2 - 101376
*
*
* -
*
* 2.1 - 202752
*
*
* -
*
* 2.2 - 404720
*
*
* -
*
* 3 - 404720
*
*
* -
*
* 3.1 - 921600
*
*
* -
*
* 3.2 - 1310720
*
*
* -
*
* 4 - 2097152
*
*
* -
*
* 4.1 - 2097152
*
*
*
*
*/
public void setResolution(String resolution) {
this.resolution = resolution;
}
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The width and height of the video in the output file, in pixels. Valid values are auto
and
* width x height:
*
*
* -
*
* auto
: Elastic Transcoder attempts to preserve the width and height of the input file, subject to the
* following rules.
*
*
* -
*
* width x height
: The width and height of the output video in pixels.
*
*
*
*
* Note the following about specifying the width and height:
*
*
* -
*
* The width must be an even integer between 128 and 4096, inclusive.
*
*
* -
*
* The height must be an even integer between 96 and 3072, inclusive.
*
*
* -
*
* If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder rescales the
* output file to the lower resolution.
*
*
* -
*
* If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder rescales
* the output to the higher resolution.
*
*
* -
*
* We recommend that you specify a resolution for which the product of width and height is less than or equal to the
* applicable value in the following list (List - Max width x height value):
*
*
* -
*
* 1 - 25344
*
*
* -
*
* 1b - 25344
*
*
* -
*
* 1.1 - 101376
*
*
* -
*
* 1.2 - 101376
*
*
* -
*
* 1.3 - 101376
*
*
* -
*
* 2 - 101376
*
*
* -
*
* 2.1 - 202752
*
*
* -
*
* 2.2 - 404720
*
*
* -
*
* 3 - 404720
*
*
* -
*
* 3.1 - 921600
*
*
* -
*
* 3.2 - 1310720
*
*
* -
*
* 4 - 2097152
*
*
* -
*
* 4.1 - 2097152
*
*
*
*
*
*
* @return
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two
* groups of settings are mutually exclusive. Do not use them together.
*
*
*
* The width and height of the video in the output file, in pixels. Valid values are auto
and
* width x height:
*
*
* -
*
* auto
: Elastic Transcoder attempts to preserve the width and height of the input file,
* subject to the following rules.
*
*
* -
*
* width x height
: The width and height of the output video in pixels.
*
*
*
*
* Note the following about specifying the width and height:
*
*
* -
*
* The width must be an even integer between 128 and 4096, inclusive.
*
*
* -
*
* The height must be an even integer between 96 and 3072, inclusive.
*
*
* -
*
* If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder
* rescales the output file to the lower resolution.
*
*
* -
*
* If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder
* rescales the output to the higher resolution.
*
*
* -
*
* We recommend that you specify a resolution for which the product of width and height is less than or
* equal to the applicable value in the following list (List - Max width x height value):
*
*
* -
*
* 1 - 25344
*
*
* -
*
* 1b - 25344
*
*
* -
*
* 1.1 - 101376
*
*
* -
*
* 1.2 - 101376
*
*
* -
*
* 1.3 - 101376
*
*
* -
*
* 2 - 101376
*
*
* -
*
* 2.1 - 202752
*
*
* -
*
* 2.2 - 404720
*
*
* -
*
* 3 - 404720
*
*
* -
*
* 3.1 - 921600
*
*
* -
*
* 3.2 - 1310720
*
*
* -
*
* 4 - 2097152
*
*
* -
*
* 4.1 - 2097152
*
*
*
*
*/
public String getResolution() {
return this.resolution;
}
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The width and height of the video in the output file, in pixels. Valid values are auto
and
* width x height:
*
*
* -
*
* auto
: Elastic Transcoder attempts to preserve the width and height of the input file, subject to the
* following rules.
*
*
* -
*
* width x height
: The width and height of the output video in pixels.
*
*
*
*
* Note the following about specifying the width and height:
*
*
* -
*
* The width must be an even integer between 128 and 4096, inclusive.
*
*
* -
*
* The height must be an even integer between 96 and 3072, inclusive.
*
*
* -
*
* If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder rescales the
* output file to the lower resolution.
*
*
* -
*
* If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder rescales
* the output to the higher resolution.
*
*
* -
*
* We recommend that you specify a resolution for which the product of width and height is less than or equal to the
* applicable value in the following list (List - Max width x height value):
*
*
* -
*
* 1 - 25344
*
*
* -
*
* 1b - 25344
*
*
* -
*
* 1.1 - 101376
*
*
* -
*
* 1.2 - 101376
*
*
* -
*
* 1.3 - 101376
*
*
* -
*
* 2 - 101376
*
*
* -
*
* 2.1 - 202752
*
*
* -
*
* 2.2 - 404720
*
*
* -
*
* 3 - 404720
*
*
* -
*
* 3.1 - 921600
*
*
* -
*
* 3.2 - 1310720
*
*
* -
*
* 4 - 2097152
*
*
* -
*
* 4.1 - 2097152
*
*
*
*
*
*
* @param resolution
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two
* groups of settings are mutually exclusive. Do not use them together.
*
*
*
* The width and height of the video in the output file, in pixels. Valid values are auto
and
* width x height:
*
*
* -
*
* auto
: Elastic Transcoder attempts to preserve the width and height of the input file, subject
* to the following rules.
*
*
* -
*
* width x height
: The width and height of the output video in pixels.
*
*
*
*
* Note the following about specifying the width and height:
*
*
* -
*
* The width must be an even integer between 128 and 4096, inclusive.
*
*
* -
*
* The height must be an even integer between 96 and 3072, inclusive.
*
*
* -
*
* If you specify a resolution that is less than the resolution of the input file, Elastic Transcoder
* rescales the output file to the lower resolution.
*
*
* -
*
* If you specify a resolution that is greater than the resolution of the input file, Elastic Transcoder
* rescales the output to the higher resolution.
*
*
* -
*
* We recommend that you specify a resolution for which the product of width and height is less than or equal
* to the applicable value in the following list (List - Max width x height value):
*
*
* -
*
* 1 - 25344
*
*
* -
*
* 1b - 25344
*
*
* -
*
* 1.1 - 101376
*
*
* -
*
* 1.2 - 101376
*
*
* -
*
* 1.3 - 101376
*
*
* -
*
* 2 - 101376
*
*
* -
*
* 2.1 - 202752
*
*
* -
*
* 2.2 - 404720
*
*
* -
*
* 3 - 404720
*
*
* -
*
* 3.1 - 921600
*
*
* -
*
* 3.2 - 1310720
*
*
* -
*
* 4 - 2097152
*
*
* -
*
* 4.1 - 2097152
*
*
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withResolution(String resolution) {
setResolution(resolution);
return this;
}
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The display aspect ratio of the video in the output file. Valid values include:
*
*
* auto
, 1:1
, 4:3
, 3:2
, 16:9
*
*
* If you specify auto
, Elastic Transcoder tries to preserve the aspect ratio of the input file.
*
*
* If you specify an aspect ratio for the output file that differs from aspect ratio of the input file, Elastic
* Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and bottom) to
* maintain the aspect ratio of the active region of the video.
*
*
* @param aspectRatio
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two
* groups of settings are mutually exclusive. Do not use them together.
*
*
*
* The display aspect ratio of the video in the output file. Valid values include:
*
*
* auto
, 1:1
, 4:3
, 3:2
, 16:9
*
*
* If you specify auto
, Elastic Transcoder tries to preserve the aspect ratio of the input file.
*
*
* If you specify an aspect ratio for the output file that differs from aspect ratio of the input file,
* Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and
* bottom) to maintain the aspect ratio of the active region of the video.
*/
public void setAspectRatio(String aspectRatio) {
this.aspectRatio = aspectRatio;
}
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The display aspect ratio of the video in the output file. Valid values include:
*
*
* auto
, 1:1
, 4:3
, 3:2
, 16:9
*
*
* If you specify auto
, Elastic Transcoder tries to preserve the aspect ratio of the input file.
*
*
* If you specify an aspect ratio for the output file that differs from aspect ratio of the input file, Elastic
* Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and bottom) to
* maintain the aspect ratio of the active region of the video.
*
*
* @return
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two
* groups of settings are mutually exclusive. Do not use them together.
*
*
*
* The display aspect ratio of the video in the output file. Valid values include:
*
*
* auto
, 1:1
, 4:3
, 3:2
, 16:9
*
*
* If you specify auto
, Elastic Transcoder tries to preserve the aspect ratio of the input
* file.
*
*
* If you specify an aspect ratio for the output file that differs from aspect ratio of the input file,
* Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and
* bottom) to maintain the aspect ratio of the active region of the video.
*/
public String getAspectRatio() {
return this.aspectRatio;
}
/**
*
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two groups
* of settings are mutually exclusive. Do not use them together.
*
*
*
* The display aspect ratio of the video in the output file. Valid values include:
*
*
* auto
, 1:1
, 4:3
, 3:2
, 16:9
*
*
* If you specify auto
, Elastic Transcoder tries to preserve the aspect ratio of the input file.
*
*
* If you specify an aspect ratio for the output file that differs from aspect ratio of the input file, Elastic
* Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and bottom) to
* maintain the aspect ratio of the active region of the video.
*
*
* @param aspectRatio
*
* To better control resolution and aspect ratio of output videos, we recommend that you use the values
* MaxWidth
, MaxHeight
, SizingPolicy
, PaddingPolicy
, and
* DisplayAspectRatio
instead of Resolution
and AspectRatio
. The two
* groups of settings are mutually exclusive. Do not use them together.
*
*
*
* The display aspect ratio of the video in the output file. Valid values include:
*
*
* auto
, 1:1
, 4:3
, 3:2
, 16:9
*
*
* If you specify auto
, Elastic Transcoder tries to preserve the aspect ratio of the input file.
*
*
* If you specify an aspect ratio for the output file that differs from aspect ratio of the input file,
* Elastic Transcoder adds pillarboxing (black bars on the sides) or letterboxing (black bars on the top and
* bottom) to maintain the aspect ratio of the active region of the video.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withAspectRatio(String aspectRatio) {
setAspectRatio(aspectRatio);
return this;
}
/**
*
* The maximum width of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1920
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 128 and 4096.
*
*
* @param maxWidth
* The maximum width of the output video in pixels. If you specify auto
, Elastic Transcoder uses
* 1920 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 128 and
* 4096.
*/
public void setMaxWidth(String maxWidth) {
this.maxWidth = maxWidth;
}
/**
*
* The maximum width of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1920
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 128 and 4096.
*
*
* @return The maximum width of the output video in pixels. If you specify auto
, Elastic Transcoder
* uses 1920 (Full HD) as the default value. If you specify a numeric value, enter an even integer between
* 128 and 4096.
*/
public String getMaxWidth() {
return this.maxWidth;
}
/**
*
* The maximum width of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1920
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 128 and 4096.
*
*
* @param maxWidth
* The maximum width of the output video in pixels. If you specify auto
, Elastic Transcoder uses
* 1920 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 128 and
* 4096.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withMaxWidth(String maxWidth) {
setMaxWidth(maxWidth);
return this;
}
/**
*
* The maximum height of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1080
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 96 and 3072.
*
*
* @param maxHeight
* The maximum height of the output video in pixels. If you specify auto
, Elastic Transcoder
* uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 96
* and 3072.
*/
public void setMaxHeight(String maxHeight) {
this.maxHeight = maxHeight;
}
/**
*
* The maximum height of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1080
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 96 and 3072.
*
*
* @return The maximum height of the output video in pixels. If you specify auto
, Elastic Transcoder
* uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even integer between
* 96 and 3072.
*/
public String getMaxHeight() {
return this.maxHeight;
}
/**
*
* The maximum height of the output video in pixels. If you specify auto
, Elastic Transcoder uses 1080
* (Full HD) as the default value. If you specify a numeric value, enter an even integer between 96 and 3072.
*
*
* @param maxHeight
* The maximum height of the output video in pixels. If you specify auto
, Elastic Transcoder
* uses 1080 (Full HD) as the default value. If you specify a numeric value, enter an even integer between 96
* and 3072.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withMaxHeight(String maxHeight) {
setMaxHeight(maxHeight);
return this;
}
/**
*
* The value that Elastic Transcoder adds to the metadata in the output file.
*
*
* @param displayAspectRatio
* The value that Elastic Transcoder adds to the metadata in the output file.
*/
public void setDisplayAspectRatio(String displayAspectRatio) {
this.displayAspectRatio = displayAspectRatio;
}
/**
*
* The value that Elastic Transcoder adds to the metadata in the output file.
*
*
* @return The value that Elastic Transcoder adds to the metadata in the output file.
*/
public String getDisplayAspectRatio() {
return this.displayAspectRatio;
}
/**
*
* The value that Elastic Transcoder adds to the metadata in the output file.
*
*
* @param displayAspectRatio
* The value that Elastic Transcoder adds to the metadata in the output file.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withDisplayAspectRatio(String displayAspectRatio) {
setDisplayAspectRatio(displayAspectRatio);
return this;
}
/**
*
* Specify one of the following values to control scaling of the output video:
*
*
* -
*
* Fit
: Elastic Transcoder scales the output video so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
*
* -
*
* Fill
: Elastic Transcoder scales the output video 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 video and then crops it in the dimension (if any) that exceeds the maximum value.
*
*
* -
*
* Stretch
: Elastic Transcoder stretches the output video to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input video and the output
* video are different, the output video will be distorted.
*
*
* -
*
* Keep
: Elastic Transcoder does not scale the output video. If either dimension of the input video
* exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder
* crops the output video.
*
*
* -
*
* ShrinkToFit
: Elastic Transcoder scales the output video 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 video up.
*
*
* -
*
* ShrinkToFill
: Elastic Transcoder scales the output video 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 video up.
*
*
*
*
* @param sizingPolicy
* Specify one of the following values to control scaling of the output video:
*
* -
*
* Fit
: Elastic Transcoder scales the output video so it matches the value that you specified in
* either MaxWidth
or MaxHeight
without exceeding the other value.
*
*
* -
*
* Fill
: Elastic Transcoder scales the output video 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 video and then crops it in the dimension (if any) that exceeds the maximum
* value.
*
*
* -
*
* Stretch
: Elastic Transcoder stretches the output video to match the values that you specified
* for MaxWidth
and MaxHeight
. If the relative proportions of the input video and
* the output video are different, the output video will be distorted.
*
*
* -
*
* Keep
: Elastic Transcoder does not scale the output video. If either dimension of the input
* video exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic
* Transcoder crops the output video.
*
*
* -
*
* ShrinkToFit
: Elastic Transcoder scales the output video 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 video up.
*
*
* -
*
* ShrinkToFill
: Elastic Transcoder scales the output video 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 video up.
*
*
*/
public void setSizingPolicy(String sizingPolicy) {
this.sizingPolicy = sizingPolicy;
}
/**
*
* Specify one of the following values to control scaling of the output video:
*
*
* -
*
* Fit
: Elastic Transcoder scales the output video so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
*
* -
*
* Fill
: Elastic Transcoder scales the output video 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 video and then crops it in the dimension (if any) that exceeds the maximum value.
*
*
* -
*
* Stretch
: Elastic Transcoder stretches the output video to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input video and the output
* video are different, the output video will be distorted.
*
*
* -
*
* Keep
: Elastic Transcoder does not scale the output video. If either dimension of the input video
* exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder
* crops the output video.
*
*
* -
*
* ShrinkToFit
: Elastic Transcoder scales the output video 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 video up.
*
*
* -
*
* ShrinkToFill
: Elastic Transcoder scales the output video 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 video up.
*
*
*
*
* @return Specify one of the following values to control scaling of the output video:
*
* -
*
* Fit
: Elastic Transcoder scales the output video so it matches the value that you specified
* in either MaxWidth
or MaxHeight
without exceeding the other value.
*
*
* -
*
* Fill
: Elastic Transcoder scales the output video 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 video and then crops it in the dimension (if any) that exceeds the maximum
* value.
*
*
* -
*
* Stretch
: Elastic Transcoder stretches the output video to match the values that you
* specified for MaxWidth
and MaxHeight
. If the relative proportions of the input
* video and the output video are different, the output video will be distorted.
*
*
* -
*
* Keep
: Elastic Transcoder does not scale the output video. If either dimension of the input
* video exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic
* Transcoder crops the output video.
*
*
* -
*
* ShrinkToFit
: Elastic Transcoder scales the output video 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 video
* up.
*
*
* -
*
* ShrinkToFill
: Elastic Transcoder scales the output video 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
* video up.
*
*
*/
public String getSizingPolicy() {
return this.sizingPolicy;
}
/**
*
* Specify one of the following values to control scaling of the output video:
*
*
* -
*
* Fit
: Elastic Transcoder scales the output video so it matches the value that you specified in either
* MaxWidth
or MaxHeight
without exceeding the other value.
*
*
* -
*
* Fill
: Elastic Transcoder scales the output video 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 video and then crops it in the dimension (if any) that exceeds the maximum value.
*
*
* -
*
* Stretch
: Elastic Transcoder stretches the output video to match the values that you specified for
* MaxWidth
and MaxHeight
. If the relative proportions of the input video and the output
* video are different, the output video will be distorted.
*
*
* -
*
* Keep
: Elastic Transcoder does not scale the output video. If either dimension of the input video
* exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic Transcoder
* crops the output video.
*
*
* -
*
* ShrinkToFit
: Elastic Transcoder scales the output video 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 video up.
*
*
* -
*
* ShrinkToFill
: Elastic Transcoder scales the output video 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 video up.
*
*
*
*
* @param sizingPolicy
* Specify one of the following values to control scaling of the output video:
*
* -
*
* Fit
: Elastic Transcoder scales the output video so it matches the value that you specified in
* either MaxWidth
or MaxHeight
without exceeding the other value.
*
*
* -
*
* Fill
: Elastic Transcoder scales the output video 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 video and then crops it in the dimension (if any) that exceeds the maximum
* value.
*
*
* -
*
* Stretch
: Elastic Transcoder stretches the output video to match the values that you specified
* for MaxWidth
and MaxHeight
. If the relative proportions of the input video and
* the output video are different, the output video will be distorted.
*
*
* -
*
* Keep
: Elastic Transcoder does not scale the output video. If either dimension of the input
* video exceeds the values that you specified for MaxWidth
and MaxHeight
, Elastic
* Transcoder crops the output video.
*
*
* -
*
* ShrinkToFit
: Elastic Transcoder scales the output video 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 video up.
*
*
* -
*
* ShrinkToFill
: Elastic Transcoder scales the output video 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 video up.
*
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withSizingPolicy(String sizingPolicy) {
setSizingPolicy(sizingPolicy);
return this;
}
/**
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add black bars to the top and
* bottom and/or left and right sides of the output video to make the total size of the output video match the
* values that you specified for MaxWidth
and MaxHeight
.
*
*
* @param paddingPolicy
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add black bars to the
* top and bottom and/or left and right sides of the output video to make the total size of the output video
* match the values that you specified for MaxWidth
and MaxHeight
.
*/
public void setPaddingPolicy(String paddingPolicy) {
this.paddingPolicy = paddingPolicy;
}
/**
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add black bars to the top and
* bottom and/or left and right sides of the output video to make the total size of the output video match the
* values that you specified for MaxWidth
and MaxHeight
.
*
*
* @return When you set PaddingPolicy
to Pad
, Elastic Transcoder may add black bars to the
* top and bottom and/or left and right sides of the output video to make the total size of the output video
* match the values that you specified for MaxWidth
and MaxHeight
.
*/
public String getPaddingPolicy() {
return this.paddingPolicy;
}
/**
*
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add black bars to the top and
* bottom and/or left and right sides of the output video to make the total size of the output video match the
* values that you specified for MaxWidth
and MaxHeight
.
*
*
* @param paddingPolicy
* When you set PaddingPolicy
to Pad
, Elastic Transcoder may add black bars to the
* top and bottom and/or left and right sides of the output video to make the total size of the output video
* match the values that you specified for MaxWidth
and MaxHeight
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withPaddingPolicy(String paddingPolicy) {
setPaddingPolicy(paddingPolicy);
return this;
}
/**
*
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos
* that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in
* the specified size and location, and with the specified opacity for the duration of the transcoded video.
*
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the
* .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have
* different dimensions.
*
*
* @return Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over
* videos that are transcoded using this preset. You can specify settings for up to four watermarks.
* Watermarks appear in the specified size and location, and with the specified opacity for the duration of
* the transcoded video.
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use
* the .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you
* specify watermark settings in the preset, which allows you to use the same preset for up to four
* watermarks that have different dimensions.
*/
public java.util.List getWatermarks() {
if (watermarks == null) {
watermarks = new com.amazonaws.internal.SdkInternalList();
}
return watermarks;
}
/**
*
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos
* that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in
* the specified size and location, and with the specified opacity for the duration of the transcoded video.
*
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the
* .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have
* different dimensions.
*
*
* @param watermarks
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over
* videos that are transcoded using this preset. You can specify settings for up to four watermarks.
* Watermarks appear in the specified size and location, and with the specified opacity for the duration of
* the transcoded video.
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use
* the .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that
* have different dimensions.
*/
public void setWatermarks(java.util.Collection watermarks) {
if (watermarks == null) {
this.watermarks = null;
return;
}
this.watermarks = new com.amazonaws.internal.SdkInternalList(watermarks);
}
/**
*
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos
* that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in
* the specified size and location, and with the specified opacity for the duration of the transcoded video.
*
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the
* .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have
* different dimensions.
*
*
* 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.
*
*
* @param watermarks
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over
* videos that are transcoded using this preset. You can specify settings for up to four watermarks.
* Watermarks appear in the specified size and location, and with the specified opacity for the duration of
* the transcoded video.
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use
* the .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that
* have different dimensions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withWatermarks(PresetWatermark... watermarks) {
if (this.watermarks == null) {
setWatermarks(new com.amazonaws.internal.SdkInternalList(watermarks.length));
}
for (PresetWatermark ele : watermarks) {
this.watermarks.add(ele);
}
return this;
}
/**
*
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos
* that are transcoded using this preset. You can specify settings for up to four watermarks. Watermarks appear in
* the specified size and location, and with the specified opacity for the duration of the transcoded video.
*
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use the
* .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that have
* different dimensions.
*
*
* @param watermarks
* Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over
* videos that are transcoded using this preset. You can specify settings for up to four watermarks.
* Watermarks appear in the specified size and location, and with the specified opacity for the duration of
* the transcoded video.
*
* Watermarks can be in .png or .jpg format. If you want to display a watermark that is not rectangular, use
* the .png format, which supports transparency.
*
*
* When you create a job that uses this preset, you specify the .png or .jpg graphics that you want Elastic
* Transcoder to include in the transcoded videos. You can specify fewer graphics in the job than you specify
* watermark settings in the preset, which allows you to use the same preset for up to four watermarks that
* have different dimensions.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public VideoParameters withWatermarks(java.util.Collection watermarks) {
setWatermarks(watermarks);
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 (getCodec() != null)
sb.append("Codec: ").append(getCodec()).append(",");
if (getCodecOptions() != null)
sb.append("CodecOptions: ").append(getCodecOptions()).append(",");
if (getKeyframesMaxDist() != null)
sb.append("KeyframesMaxDist: ").append(getKeyframesMaxDist()).append(",");
if (getFixedGOP() != null)
sb.append("FixedGOP: ").append(getFixedGOP()).append(",");
if (getBitRate() != null)
sb.append("BitRate: ").append(getBitRate()).append(",");
if (getFrameRate() != null)
sb.append("FrameRate: ").append(getFrameRate()).append(",");
if (getMaxFrameRate() != null)
sb.append("MaxFrameRate: ").append(getMaxFrameRate()).append(",");
if (getResolution() != null)
sb.append("Resolution: ").append(getResolution()).append(",");
if (getAspectRatio() != null)
sb.append("AspectRatio: ").append(getAspectRatio()).append(",");
if (getMaxWidth() != null)
sb.append("MaxWidth: ").append(getMaxWidth()).append(",");
if (getMaxHeight() != null)
sb.append("MaxHeight: ").append(getMaxHeight()).append(",");
if (getDisplayAspectRatio() != null)
sb.append("DisplayAspectRatio: ").append(getDisplayAspectRatio()).append(",");
if (getSizingPolicy() != null)
sb.append("SizingPolicy: ").append(getSizingPolicy()).append(",");
if (getPaddingPolicy() != null)
sb.append("PaddingPolicy: ").append(getPaddingPolicy()).append(",");
if (getWatermarks() != null)
sb.append("Watermarks: ").append(getWatermarks());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof VideoParameters == false)
return false;
VideoParameters other = (VideoParameters) obj;
if (other.getCodec() == null ^ this.getCodec() == null)
return false;
if (other.getCodec() != null && other.getCodec().equals(this.getCodec()) == false)
return false;
if (other.getCodecOptions() == null ^ this.getCodecOptions() == null)
return false;
if (other.getCodecOptions() != null && other.getCodecOptions().equals(this.getCodecOptions()) == false)
return false;
if (other.getKeyframesMaxDist() == null ^ this.getKeyframesMaxDist() == null)
return false;
if (other.getKeyframesMaxDist() != null && other.getKeyframesMaxDist().equals(this.getKeyframesMaxDist()) == false)
return false;
if (other.getFixedGOP() == null ^ this.getFixedGOP() == null)
return false;
if (other.getFixedGOP() != null && other.getFixedGOP().equals(this.getFixedGOP()) == false)
return false;
if (other.getBitRate() == null ^ this.getBitRate() == null)
return false;
if (other.getBitRate() != null && other.getBitRate().equals(this.getBitRate()) == 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.getMaxFrameRate() == null ^ this.getMaxFrameRate() == null)
return false;
if (other.getMaxFrameRate() != null && other.getMaxFrameRate().equals(this.getMaxFrameRate()) == false)
return false;
if (other.getResolution() == null ^ this.getResolution() == null)
return false;
if (other.getResolution() != null && other.getResolution().equals(this.getResolution()) == false)
return false;
if (other.getAspectRatio() == null ^ this.getAspectRatio() == null)
return false;
if (other.getAspectRatio() != null && other.getAspectRatio().equals(this.getAspectRatio()) == false)
return false;
if (other.getMaxWidth() == null ^ this.getMaxWidth() == null)
return false;
if (other.getMaxWidth() != null && other.getMaxWidth().equals(this.getMaxWidth()) == false)
return false;
if (other.getMaxHeight() == null ^ this.getMaxHeight() == null)
return false;
if (other.getMaxHeight() != null && other.getMaxHeight().equals(this.getMaxHeight()) == false)
return false;
if (other.getDisplayAspectRatio() == null ^ this.getDisplayAspectRatio() == null)
return false;
if (other.getDisplayAspectRatio() != null && other.getDisplayAspectRatio().equals(this.getDisplayAspectRatio()) == false)
return false;
if (other.getSizingPolicy() == null ^ this.getSizingPolicy() == null)
return false;
if (other.getSizingPolicy() != null && other.getSizingPolicy().equals(this.getSizingPolicy()) == false)
return false;
if (other.getPaddingPolicy() == null ^ this.getPaddingPolicy() == null)
return false;
if (other.getPaddingPolicy() != null && other.getPaddingPolicy().equals(this.getPaddingPolicy()) == false)
return false;
if (other.getWatermarks() == null ^ this.getWatermarks() == null)
return false;
if (other.getWatermarks() != null && other.getWatermarks().equals(this.getWatermarks()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getCodec() == null) ? 0 : getCodec().hashCode());
hashCode = prime * hashCode + ((getCodecOptions() == null) ? 0 : getCodecOptions().hashCode());
hashCode = prime * hashCode + ((getKeyframesMaxDist() == null) ? 0 : getKeyframesMaxDist().hashCode());
hashCode = prime * hashCode + ((getFixedGOP() == null) ? 0 : getFixedGOP().hashCode());
hashCode = prime * hashCode + ((getBitRate() == null) ? 0 : getBitRate().hashCode());
hashCode = prime * hashCode + ((getFrameRate() == null) ? 0 : getFrameRate().hashCode());
hashCode = prime * hashCode + ((getMaxFrameRate() == null) ? 0 : getMaxFrameRate().hashCode());
hashCode = prime * hashCode + ((getResolution() == null) ? 0 : getResolution().hashCode());
hashCode = prime * hashCode + ((getAspectRatio() == null) ? 0 : getAspectRatio().hashCode());
hashCode = prime * hashCode + ((getMaxWidth() == null) ? 0 : getMaxWidth().hashCode());
hashCode = prime * hashCode + ((getMaxHeight() == null) ? 0 : getMaxHeight().hashCode());
hashCode = prime * hashCode + ((getDisplayAspectRatio() == null) ? 0 : getDisplayAspectRatio().hashCode());
hashCode = prime * hashCode + ((getSizingPolicy() == null) ? 0 : getSizingPolicy().hashCode());
hashCode = prime * hashCode + ((getPaddingPolicy() == null) ? 0 : getPaddingPolicy().hashCode());
hashCode = prime * hashCode + ((getWatermarks() == null) ? 0 : getWatermarks().hashCode());
return hashCode;
}
@Override
public VideoParameters clone() {
try {
return (VideoParameters) 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.VideoParametersMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}