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.

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.

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.

Settings for the size, location, and opacity of graphics that you want Elastic Transcoder to overlay over videos that are transcoded using this preset.

Instance Attribute Details

#aspect_ratio ⇒ String

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.

#bit_rate ⇒ String

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:

#codec ⇒ String

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.

#codec_options ⇒ Hash<String,String>

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:

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:

Elastic Transcoder may change the behavior of the
ColorspaceConversionModeAuto 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.

#keyframes_max_dist ⇒ String

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.

#max_frame_rate ⇒ String

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.

#max_height ⇒ String

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.

#max_width ⇒ String

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.

#padding_policy ⇒ String

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.

#resolution ⇒ String

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):

#sizing_policy ⇒ String

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.

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.