/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ElasticTranscoder { namespace Model { /** *

The VideoParameters structure.

See Also:

AWS * API Reference

*/ class VideoParameters { public: AWS_ELASTICTRANSCODER_API VideoParameters(); AWS_ELASTICTRANSCODER_API VideoParameters(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API VideoParameters& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ELASTICTRANSCODER_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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.

*/ inline const Aws::String& GetCodec() const{ return m_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.

*/ inline bool CodecHasBeenSet() const { return m_codecHasBeenSet; } /** *

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.

*/ inline void SetCodec(const Aws::String& value) { m_codecHasBeenSet = true; m_codec = value; } /** *

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.

*/ inline void SetCodec(Aws::String&& value) { m_codecHasBeenSet = true; m_codec = std::move(value); } /** *

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.

*/ inline void SetCodec(const char* value) { m_codecHasBeenSet = true; m_codec.assign(value); } /** *

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.

*/ inline VideoParameters& WithCodec(const Aws::String& value) { SetCodec(value); return *this;} /** *

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.

*/ inline VideoParameters& WithCodec(Aws::String&& value) { SetCodec(std::move(value)); return *this;} /** *

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.

*/ inline VideoParameters& WithCodec(const char* value) { SetCodec(value); 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.

*/ inline const Aws::Map& GetCodecOptions() const{ return m_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.

*/ inline bool CodecOptionsHasBeenSet() const { return m_codecOptionsHasBeenSet; } /** *

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.

*/ inline void SetCodecOptions(const Aws::Map& value) { m_codecOptionsHasBeenSet = true; m_codecOptions = value; } /** *

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.

*/ inline void SetCodecOptions(Aws::Map&& value) { m_codecOptionsHasBeenSet = true; m_codecOptions = std::move(value); } /** *

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.

*/ inline VideoParameters& WithCodecOptions(const Aws::Map& value) { SetCodecOptions(value); 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.

*/ inline VideoParameters& WithCodecOptions(Aws::Map&& value) { SetCodecOptions(std::move(value)); 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.

*/ inline VideoParameters& AddCodecOptions(const Aws::String& key, const Aws::String& value) { m_codecOptionsHasBeenSet = true; m_codecOptions.emplace(key, value); 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.

*/ inline VideoParameters& AddCodecOptions(Aws::String&& key, const Aws::String& value) { m_codecOptionsHasBeenSet = true; m_codecOptions.emplace(std::move(key), value); 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.

*/ inline VideoParameters& AddCodecOptions(const Aws::String& key, Aws::String&& value) { m_codecOptionsHasBeenSet = true; m_codecOptions.emplace(key, std::move(value)); 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.

*/ inline VideoParameters& AddCodecOptions(Aws::String&& key, Aws::String&& value) { m_codecOptionsHasBeenSet = true; m_codecOptions.emplace(std::move(key), std::move(value)); 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.

*/ inline VideoParameters& AddCodecOptions(const char* key, Aws::String&& value) { m_codecOptionsHasBeenSet = true; m_codecOptions.emplace(key, std::move(value)); 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.

*/ inline VideoParameters& AddCodecOptions(Aws::String&& key, const char* value) { m_codecOptionsHasBeenSet = true; m_codecOptions.emplace(std::move(key), value); 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.

*/ inline VideoParameters& AddCodecOptions(const char* key, const char* value) { m_codecOptionsHasBeenSet = true; m_codecOptions.emplace(key, value); 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.

*/ inline const Aws::String& GetKeyframesMaxDist() const{ return m_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.

*/ inline bool KeyframesMaxDistHasBeenSet() const { return m_keyframesMaxDistHasBeenSet; } /** *

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.

*/ inline void SetKeyframesMaxDist(const Aws::String& value) { m_keyframesMaxDistHasBeenSet = true; m_keyframesMaxDist = value; } /** *

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.

*/ inline void SetKeyframesMaxDist(Aws::String&& value) { m_keyframesMaxDistHasBeenSet = true; m_keyframesMaxDist = std::move(value); } /** *

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.

*/ inline void SetKeyframesMaxDist(const char* value) { m_keyframesMaxDistHasBeenSet = true; m_keyframesMaxDist.assign(value); } /** *

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.

*/ inline VideoParameters& WithKeyframesMaxDist(const Aws::String& value) { SetKeyframesMaxDist(value); 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.

*/ inline VideoParameters& WithKeyframesMaxDist(Aws::String&& value) { SetKeyframesMaxDist(std::move(value)); 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.

*/ inline VideoParameters& WithKeyframesMaxDist(const char* value) { SetKeyframesMaxDist(value); 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.

*/ inline const Aws::String& GetFixedGOP() const{ return m_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.

*/ inline bool FixedGOPHasBeenSet() const { return m_fixedGOPHasBeenSet; } /** *

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.

*/ inline void SetFixedGOP(const Aws::String& value) { m_fixedGOPHasBeenSet = true; m_fixedGOP = value; } /** *

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.

*/ inline void SetFixedGOP(Aws::String&& value) { m_fixedGOPHasBeenSet = true; m_fixedGOP = std::move(value); } /** *

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.

*/ inline void SetFixedGOP(const char* value) { m_fixedGOPHasBeenSet = true; m_fixedGOP.assign(value); } /** *

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.

*/ inline VideoParameters& WithFixedGOP(const Aws::String& value) { SetFixedGOP(value); 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.

*/ inline VideoParameters& WithFixedGOP(Aws::String&& value) { SetFixedGOP(std::move(value)); 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.

*/ inline VideoParameters& WithFixedGOP(const char* value) { SetFixedGOP(value); 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

*/ inline const Aws::String& GetBitRate() const{ return m_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

*/ inline bool BitRateHasBeenSet() const { return m_bitRateHasBeenSet; } /** *

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

*/ inline void SetBitRate(const Aws::String& value) { m_bitRateHasBeenSet = true; m_bitRate = value; } /** *

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

*/ inline void SetBitRate(Aws::String&& value) { m_bitRateHasBeenSet = true; m_bitRate = std::move(value); } /** *

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

*/ inline void SetBitRate(const char* value) { m_bitRateHasBeenSet = true; m_bitRate.assign(value); } /** *

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

*/ inline VideoParameters& WithBitRate(const Aws::String& value) { SetBitRate(value); 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

*/ inline VideoParameters& WithBitRate(Aws::String&& value) { SetBitRate(std::move(value)); 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

*/ inline VideoParameters& WithBitRate(const char* value) { SetBitRate(value); 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

*/ inline const Aws::String& GetFrameRate() const{ return m_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

*/ inline bool FrameRateHasBeenSet() const { return m_frameRateHasBeenSet; } /** *

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

*/ inline void SetFrameRate(const Aws::String& value) { m_frameRateHasBeenSet = true; m_frameRate = value; } /** *

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

*/ inline void SetFrameRate(Aws::String&& value) { m_frameRateHasBeenSet = true; m_frameRate = std::move(value); } /** *

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

*/ inline void SetFrameRate(const char* value) { m_frameRateHasBeenSet = true; m_frameRate.assign(value); } /** *

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

*/ inline VideoParameters& WithFrameRate(const Aws::String& value) { SetFrameRate(value); 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

*/ inline VideoParameters& WithFrameRate(Aws::String&& value) { SetFrameRate(std::move(value)); 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

*/ inline VideoParameters& WithFrameRate(const char* value) { SetFrameRate(value); 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.

*/ inline const Aws::String& GetMaxFrameRate() const{ return m_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.

*/ inline bool MaxFrameRateHasBeenSet() const { return m_maxFrameRateHasBeenSet; } /** *

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.

*/ inline void SetMaxFrameRate(const Aws::String& value) { m_maxFrameRateHasBeenSet = true; m_maxFrameRate = value; } /** *

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.

*/ inline void SetMaxFrameRate(Aws::String&& value) { m_maxFrameRateHasBeenSet = true; m_maxFrameRate = std::move(value); } /** *

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.

*/ inline void SetMaxFrameRate(const char* value) { m_maxFrameRateHasBeenSet = true; m_maxFrameRate.assign(value); } /** *

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.

*/ inline VideoParameters& WithMaxFrameRate(const Aws::String& value) { SetMaxFrameRate(value); 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.

*/ inline VideoParameters& WithMaxFrameRate(Aws::String&& value) { SetMaxFrameRate(std::move(value)); 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.

*/ inline VideoParameters& WithMaxFrameRate(const char* value) { SetMaxFrameRate(value); 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

*/ inline const Aws::String& GetResolution() const{ return m_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

*/ inline bool ResolutionHasBeenSet() const { return m_resolutionHasBeenSet; } /** *

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

*/ inline void SetResolution(const Aws::String& value) { m_resolutionHasBeenSet = true; m_resolution = value; } /** *

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

*/ inline void SetResolution(Aws::String&& value) { m_resolutionHasBeenSet = true; m_resolution = std::move(value); } /** *

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

*/ inline void SetResolution(const char* value) { m_resolutionHasBeenSet = true; m_resolution.assign(value); } /** *

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

*/ inline VideoParameters& WithResolution(const Aws::String& value) { SetResolution(value); 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

*/ inline VideoParameters& WithResolution(Aws::String&& value) { SetResolution(std::move(value)); 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

*/ inline VideoParameters& WithResolution(const char* value) { SetResolution(value); 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.

*/ inline const Aws::String& GetAspectRatio() const{ return m_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.

*/ inline bool AspectRatioHasBeenSet() const { return m_aspectRatioHasBeenSet; } /** *

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.

*/ inline void SetAspectRatio(const Aws::String& value) { m_aspectRatioHasBeenSet = true; m_aspectRatio = value; } /** *

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.

*/ inline void SetAspectRatio(Aws::String&& value) { m_aspectRatioHasBeenSet = true; m_aspectRatio = std::move(value); } /** *

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.

*/ inline void SetAspectRatio(const char* value) { m_aspectRatioHasBeenSet = true; m_aspectRatio.assign(value); } /** *

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.

*/ inline VideoParameters& WithAspectRatio(const Aws::String& value) { SetAspectRatio(value); 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.

*/ inline VideoParameters& WithAspectRatio(Aws::String&& value) { SetAspectRatio(std::move(value)); 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.

*/ inline VideoParameters& WithAspectRatio(const char* value) { SetAspectRatio(value); 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.

*/ inline const Aws::String& GetMaxWidth() const{ return m_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.

*/ inline bool MaxWidthHasBeenSet() const { return m_maxWidthHasBeenSet; } /** *

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.

*/ inline void SetMaxWidth(const Aws::String& value) { m_maxWidthHasBeenSet = true; m_maxWidth = value; } /** *

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.

*/ inline void SetMaxWidth(Aws::String&& value) { m_maxWidthHasBeenSet = true; m_maxWidth = std::move(value); } /** *

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.

*/ inline void SetMaxWidth(const char* value) { m_maxWidthHasBeenSet = true; m_maxWidth.assign(value); } /** *

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.

*/ inline VideoParameters& WithMaxWidth(const Aws::String& value) { SetMaxWidth(value); 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.

*/ inline VideoParameters& WithMaxWidth(Aws::String&& value) { SetMaxWidth(std::move(value)); 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.

*/ inline VideoParameters& WithMaxWidth(const char* value) { SetMaxWidth(value); 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.

*/ inline const Aws::String& GetMaxHeight() const{ return m_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.

*/ inline bool MaxHeightHasBeenSet() const { return m_maxHeightHasBeenSet; } /** *

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.

*/ inline void SetMaxHeight(const Aws::String& value) { m_maxHeightHasBeenSet = true; m_maxHeight = value; } /** *

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.

*/ inline void SetMaxHeight(Aws::String&& value) { m_maxHeightHasBeenSet = true; m_maxHeight = std::move(value); } /** *

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.

*/ inline void SetMaxHeight(const char* value) { m_maxHeightHasBeenSet = true; m_maxHeight.assign(value); } /** *

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.

*/ inline VideoParameters& WithMaxHeight(const Aws::String& value) { SetMaxHeight(value); 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.

*/ inline VideoParameters& WithMaxHeight(Aws::String&& value) { SetMaxHeight(std::move(value)); 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.

*/ inline VideoParameters& WithMaxHeight(const char* value) { SetMaxHeight(value); return *this;} /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline const Aws::String& GetDisplayAspectRatio() const{ return m_displayAspectRatio; } /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline bool DisplayAspectRatioHasBeenSet() const { return m_displayAspectRatioHasBeenSet; } /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline void SetDisplayAspectRatio(const Aws::String& value) { m_displayAspectRatioHasBeenSet = true; m_displayAspectRatio = value; } /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline void SetDisplayAspectRatio(Aws::String&& value) { m_displayAspectRatioHasBeenSet = true; m_displayAspectRatio = std::move(value); } /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline void SetDisplayAspectRatio(const char* value) { m_displayAspectRatioHasBeenSet = true; m_displayAspectRatio.assign(value); } /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline VideoParameters& WithDisplayAspectRatio(const Aws::String& value) { SetDisplayAspectRatio(value); return *this;} /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline VideoParameters& WithDisplayAspectRatio(Aws::String&& value) { SetDisplayAspectRatio(std::move(value)); return *this;} /** *

The value that Elastic Transcoder adds to the metadata in the output * file.

*/ inline VideoParameters& WithDisplayAspectRatio(const char* value) { SetDisplayAspectRatio(value); 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.

*/ inline const Aws::String& GetSizingPolicy() const{ return m_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.

*/ inline bool SizingPolicyHasBeenSet() const { return m_sizingPolicyHasBeenSet; } /** *

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.

*/ inline void SetSizingPolicy(const Aws::String& value) { m_sizingPolicyHasBeenSet = true; m_sizingPolicy = value; } /** *

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.

*/ inline void SetSizingPolicy(Aws::String&& value) { m_sizingPolicyHasBeenSet = true; m_sizingPolicy = std::move(value); } /** *

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.

*/ inline void SetSizingPolicy(const char* value) { m_sizingPolicyHasBeenSet = true; m_sizingPolicy.assign(value); } /** *

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.

*/ inline VideoParameters& WithSizingPolicy(const Aws::String& value) { SetSizingPolicy(value); 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.

*/ inline VideoParameters& WithSizingPolicy(Aws::String&& value) { SetSizingPolicy(std::move(value)); 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.

*/ inline VideoParameters& WithSizingPolicy(const char* value) { SetSizingPolicy(value); 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.

*/ inline const Aws::String& GetPaddingPolicy() const{ return m_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.

*/ inline bool PaddingPolicyHasBeenSet() const { return m_paddingPolicyHasBeenSet; } /** *

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.

*/ inline void SetPaddingPolicy(const Aws::String& value) { m_paddingPolicyHasBeenSet = true; m_paddingPolicy = value; } /** *

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.

*/ inline void SetPaddingPolicy(Aws::String&& value) { m_paddingPolicyHasBeenSet = true; m_paddingPolicy = std::move(value); } /** *

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.

*/ inline void SetPaddingPolicy(const char* value) { m_paddingPolicyHasBeenSet = true; m_paddingPolicy.assign(value); } /** *

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.

*/ inline VideoParameters& WithPaddingPolicy(const Aws::String& value) { SetPaddingPolicy(value); 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.

*/ inline VideoParameters& WithPaddingPolicy(Aws::String&& value) { SetPaddingPolicy(std::move(value)); 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.

*/ inline VideoParameters& WithPaddingPolicy(const char* value) { SetPaddingPolicy(value); 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.

*/ inline const Aws::Vector& GetWatermarks() const{ return m_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.

*/ inline bool WatermarksHasBeenSet() const { return m_watermarksHasBeenSet; } /** *

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.

*/ inline void SetWatermarks(const Aws::Vector& value) { m_watermarksHasBeenSet = true; m_watermarks = value; } /** *

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.

*/ inline void SetWatermarks(Aws::Vector&& value) { m_watermarksHasBeenSet = true; m_watermarks = std::move(value); } /** *

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.

*/ inline VideoParameters& WithWatermarks(const Aws::Vector& value) { SetWatermarks(value); 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.

*/ inline VideoParameters& WithWatermarks(Aws::Vector&& value) { SetWatermarks(std::move(value)); 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.

*/ inline VideoParameters& AddWatermarks(const PresetWatermark& value) { m_watermarksHasBeenSet = true; m_watermarks.push_back(value); 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.

*/ inline VideoParameters& AddWatermarks(PresetWatermark&& value) { m_watermarksHasBeenSet = true; m_watermarks.push_back(std::move(value)); return *this; } private: Aws::String m_codec; bool m_codecHasBeenSet = false; Aws::Map m_codecOptions; bool m_codecOptionsHasBeenSet = false; Aws::String m_keyframesMaxDist; bool m_keyframesMaxDistHasBeenSet = false; Aws::String m_fixedGOP; bool m_fixedGOPHasBeenSet = false; Aws::String m_bitRate; bool m_bitRateHasBeenSet = false; Aws::String m_frameRate; bool m_frameRateHasBeenSet = false; Aws::String m_maxFrameRate; bool m_maxFrameRateHasBeenSet = false; Aws::String m_resolution; bool m_resolutionHasBeenSet = false; Aws::String m_aspectRatio; bool m_aspectRatioHasBeenSet = false; Aws::String m_maxWidth; bool m_maxWidthHasBeenSet = false; Aws::String m_maxHeight; bool m_maxHeightHasBeenSet = false; Aws::String m_displayAspectRatio; bool m_displayAspectRatioHasBeenSet = false; Aws::String m_sizingPolicy; bool m_sizingPolicyHasBeenSet = false; Aws::String m_paddingPolicy; bool m_paddingPolicyHasBeenSet = false; Aws::Vector m_watermarks; bool m_watermarksHasBeenSet = false; }; } // namespace Model } // namespace ElasticTranscoder } // namespace Aws