class Aws::MediaConvert::Types::Mpeg2Settings

Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value MPEG2.

@note When making an API call, you may pass Mpeg2Settings

data as a hash:

    {
      adaptive_quantization: "OFF", # accepts OFF, LOW, MEDIUM, HIGH
      bitrate: 1,
      codec_level: "AUTO", # accepts AUTO, LOW, MAIN, HIGH1440, HIGH
      codec_profile: "MAIN", # accepts MAIN, PROFILE_422
      dynamic_sub_gop: "ADAPTIVE", # accepts ADAPTIVE, STATIC
      framerate_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
      framerate_conversion_algorithm: "DUPLICATE_DROP", # accepts DUPLICATE_DROP, INTERPOLATE, FRAMEFORMER
      framerate_denominator: 1,
      framerate_numerator: 1,
      gop_closed_cadence: 1,
      gop_size: 1.0,
      gop_size_units: "FRAMES", # accepts FRAMES, SECONDS
      hrd_buffer_initial_fill_percentage: 1,
      hrd_buffer_size: 1,
      interlace_mode: "PROGRESSIVE", # accepts PROGRESSIVE, TOP_FIELD, BOTTOM_FIELD, FOLLOW_TOP_FIELD, FOLLOW_BOTTOM_FIELD
      intra_dc_precision: "AUTO", # accepts AUTO, INTRA_DC_PRECISION_8, INTRA_DC_PRECISION_9, INTRA_DC_PRECISION_10, INTRA_DC_PRECISION_11
      max_bitrate: 1,
      min_i_interval: 1,
      number_b_frames_between_reference_frames: 1,
      par_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
      par_denominator: 1,
      par_numerator: 1,
      quality_tuning_level: "SINGLE_PASS", # accepts SINGLE_PASS, MULTI_PASS
      rate_control_mode: "VBR", # accepts VBR, CBR
      scan_type_conversion_mode: "INTERLACED", # accepts INTERLACED, INTERLACED_OPTIMIZE
      scene_change_detect: "DISABLED", # accepts DISABLED, ENABLED
      slow_pal: "DISABLED", # accepts DISABLED, ENABLED
      softness: 1,
      spatial_adaptive_quantization: "DISABLED", # accepts DISABLED, ENABLED
      syntax: "DEFAULT", # accepts DEFAULT, D_10
      telecine: "NONE", # accepts NONE, SOFT, HARD
      temporal_adaptive_quantization: "DISABLED", # accepts DISABLED, ENABLED
    }

@!attribute [rw] adaptive_quantization

Specify the strength of any adaptive quantization filters that you
enable. The value that you choose here applies to the following
settings: Spatial adaptive quantization
(spatialAdaptiveQuantization), and Temporal adaptive quantization
(temporalAdaptiveQuantization).
@return [String]

@!attribute [rw] bitrate

Specify the average bitrate in bits per second. Required for VBR and
CBR. For MS Smooth outputs, bitrates must be unique when rounded
down to the nearest multiple of 1000.
@return [Integer]

@!attribute [rw] codec_level

Use Level (Mpeg2CodecLevel) to set the MPEG-2 level for the video
output.
@return [String]

@!attribute [rw] codec_profile

Use Profile (Mpeg2CodecProfile) to set the MPEG-2 profile for the
video output.
@return [String]

@!attribute [rw] dynamic_sub_gop

Choose Adaptive to improve subjective video quality for high-motion
content. This will cause the service to use fewer B-frames (which
infer information based on other frames) for high-motion portions of
the video and more B-frames for low-motion portions. The maximum
number of B-frames is limited by the value you provide for the
setting B frames between reference frames
(numberBFramesBetweenReferenceFrames).
@return [String]

@!attribute [rw] framerate_control

If you are using the console, use the Framerate setting to specify
the frame rate for this output. If you want to keep the same frame
rate as the input video, choose Follow source. If you want to do
frame rate conversion, choose a frame rate from the dropdown list or
choose Custom. The framerates shown in the dropdown list are decimal
approximations of fractions. If you choose Custom, specify your
frame rate as a fraction. If you are creating your transcoding job
specification as a JSON file without the console, use
FramerateControl to specify which value the service uses for the
frame rate for this output. Choose INITIALIZE\_FROM\_SOURCE if you
want the service to use the frame rate from the input. Choose
SPECIFIED if you want the service to use the frame rate you specify
in the settings FramerateNumerator and FramerateDenominator.
@return [String]

@!attribute [rw] framerate_conversion_algorithm

Choose the method that you want MediaConvert to use when increasing
or decreasing the frame rate. We recommend using drop duplicate
(DUPLICATE\_DROP) for numerically simple conversions, such as 60 fps
to 30 fps. For numerically complex conversions, you can use
interpolate (INTERPOLATE) to avoid stutter. This results in a smooth
picture, but might introduce undesirable video artifacts. For
complex frame rate conversions, especially if your source video has
already been converted from its original cadence, use FrameFormer
(FRAMEFORMER) to do motion-compensated interpolation. FrameFormer
chooses the best conversion method frame by frame. Note that using
FrameFormer increases the transcoding time and incurs a significant
add-on cost.
@return [String]

@!attribute [rw] framerate_denominator

When you use the API for transcode jobs that use frame rate
conversion, specify the frame rate as a fraction. For example, 24000
/ 1001 = 23.976 fps. Use FramerateDenominator to specify the
denominator of this fraction. In this example, use 1001 for the
value of FramerateDenominator. When you use the console for
transcode jobs that use frame rate conversion, provide the value as
a decimal number for Framerate. In this example, specify 23.976.
@return [Integer]

@!attribute [rw] framerate_numerator

When you use the API for transcode jobs that use frame rate
conversion, specify the frame rate as a fraction. For example, 24000
/ 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator
of this fraction. In this example, use 24000 for the value of
FramerateNumerator. When you use the console for transcode jobs that
use frame rate conversion, provide the value as a decimal number for
Framerate. In this example, specify 23.976.
@return [Integer]

@!attribute [rw] gop_closed_cadence

Frequency of closed GOPs. In streaming applications, it is
recommended that this be set to 1 so a decoder joining mid-stream
will receive an IDR frame as quickly as possible. Setting this value
to 0 will break output segmenting.
@return [Integer]

@!attribute [rw] gop_size

Specify the interval between keyframes, in seconds or frames, for
this output. Default: 12 Related settings: When you specify the GOP
size in seconds, set GOP mode control (GopSizeUnits) to Specified,
seconds (SECONDS). The default value for GOP mode control
(GopSizeUnits) is Frames (FRAMES).
@return [Float]

@!attribute [rw] gop_size_units

Specify the units for GOP size (GopSize). If you don't specify a
value here, by default the encoder measures GOP size in frames.
@return [String]

@!attribute [rw] hrd_buffer_initial_fill_percentage

Percentage of the buffer that should initially be filled (HRD buffer
model).
@return [Integer]

@!attribute [rw] hrd_buffer_size

Size of buffer (HRD buffer model) in bits. For example, enter five
megabits as 5000000.
@return [Integer]

@!attribute [rw] interlace_mode

Choose the scan line type for the output. Keep the default value,
Progressive (PROGRESSIVE) to create a progressive output, regardless
of the scan type of your input. Use Top field first (TOP\_FIELD) or
Bottom field first (BOTTOM\_FIELD) to create an output that's
interlaced with the same field polarity throughout. Use Follow,
default top (FOLLOW\_TOP\_FIELD) or Follow, default bottom
(FOLLOW\_BOTTOM\_FIELD) to produce outputs with the same field
polarity as the source. For jobs that have multiple inputs, the
output field polarity might change over the course of the output.
Follow behavior depends on the input scan type. If the source is
interlaced, the output will be interlaced with the same polarity as
the source. If the source is progressive, the output will be
interlaced with top field bottom field first, depending on which of
the Follow options you choose.
@return [String]

@!attribute [rw] intra_dc_precision

Use Intra DC precision (Mpeg2IntraDcPrecision) to set quantization
precision for intra-block DC coefficients. If you choose the value
auto, the service will automatically select the precision based on
the per-frame compression ratio.
@return [String]

@!attribute [rw] max_bitrate

Maximum bitrate in bits/second. For example, enter five megabits per
second as 5000000.
@return [Integer]

@!attribute [rw] min_i_interval

Enforces separation between repeated (cadence) I-frames and I-frames
inserted by Scene Change Detection. If a scene change I-frame is
within I-interval frames of a cadence I-frame, the GOP is shrunk
and/or stretched to the scene change I-frame. GOP stretch requires
enabling lookahead as well as setting I-interval. The normal cadence
resumes for the next GOP. This setting is only used when Scene
Change Detect is enabled. Note: Maximum GOP stretch = GOP size +
Min-I-interval - 1
@return [Integer]

@!attribute [rw] number_b_frames_between_reference_frames

Specify the number of B-frames that MediaConvert puts between
reference frames in this output. Valid values are whole numbers from
0 through 7. When you don't specify a value, MediaConvert defaults
to 2.
@return [Integer]

@!attribute [rw] par_control

Optional. Specify how the service determines the pixel aspect ratio
(PAR) for this output. The default behavior, Follow source
(INITIALIZE\_FROM\_SOURCE), uses the PAR from your input video for
your output. To specify a different PAR in the console, choose any
value other than Follow source. To specify a different PAR by
editing the JSON job specification, choose SPECIFIED. When you
choose SPECIFIED for this setting, you must also specify values for
the parNumerator and parDenominator settings.
@return [String]

@!attribute [rw] par_denominator

Required when you set Pixel aspect ratio (parControl) to SPECIFIED.
On the console, this corresponds to any value other than Follow
source. When you specify an output pixel aspect ratio (PAR) that is
different from your input video PAR, provide your output PAR as a
ratio. For example, for D1/DV NTSC widescreen, you would specify the
ratio 40:33. In this example, the value for parDenominator is 33.
@return [Integer]

@!attribute [rw] par_numerator

Required when you set Pixel aspect ratio (parControl) to SPECIFIED.
On the console, this corresponds to any value other than Follow
source. When you specify an output pixel aspect ratio (PAR) that is
different from your input video PAR, provide your output PAR as a
ratio. For example, for D1/DV NTSC widescreen, you would specify the
ratio 40:33. In this example, the value for parNumerator is 40.
@return [Integer]

@!attribute [rw] quality_tuning_level

Optional. Use Quality tuning level (qualityTuningLevel) to choose
how you want to trade off encoding speed for output video quality.
The default behavior is faster, lower quality, single-pass encoding.
@return [String]

@!attribute [rw] rate_control_mode

Use Rate control mode (Mpeg2RateControlMode) to specify whether the
bitrate is variable (vbr) or constant (cbr).
@return [String]

@!attribute [rw] scan_type_conversion_mode

Use this setting for interlaced outputs, when your output frame rate
is half of your input frame rate. In this situation, choose
Optimized interlacing (INTERLACED\_OPTIMIZE) to create a better
quality interlaced output. In this case, each progressive frame from
the input corresponds to an interlaced field in the output. Keep the
default value, Basic interlacing (INTERLACED), for all other output
frame rates. With basic interlacing, MediaConvert performs any frame
rate conversion first and then interlaces the frames. When you
choose Optimized interlacing and you set your output frame rate to a
value that isn't suitable for optimized interlacing, MediaConvert
automatically falls back to basic interlacing. Required settings: To
use optimized interlacing, you must set Telecine (telecine) to None
(NONE) or Soft (SOFT). You can't use optimized interlacing for hard
telecine outputs. You must also set Interlace mode (interlaceMode)
to a value other than Progressive (PROGRESSIVE).
@return [String]

@!attribute [rw] scene_change_detect

Enable this setting to insert I-frames at scene changes that the
service automatically detects. This improves video quality and is
enabled by default.
@return [String]

@!attribute [rw] slow_pal

Ignore this setting unless your input frame rate is 23.976 or 24
frames per second (fps). Enable slow PAL to create a 25 fps output.
When you enable slow PAL, MediaConvert relabels the video frames to
25 fps and resamples your audio to keep it synchronized with the
video. Note that enabling this setting will slightly reduce the
duration of your video. Required settings: You must also set
Framerate to 25. In your JSON job specification, set
(framerateControl) to (SPECIFIED), (framerateNumerator) to 25 and
(framerateDenominator) to 1.
@return [String]

@!attribute [rw] softness

Ignore this setting unless you need to comply with a specification
that requires a specific value. If you don't have a specification
requirement, we recommend that you adjust the softness of your
output by using a lower value for the setting Sharpness (sharpness)
or by enabling a noise reducer filter (noiseReducerFilter). The
Softness (softness) setting specifies the quantization matrices that
the encoder uses. Keep the default value, 0, to use the AWS
Elemental default matrices. Choose a value from 17 to 128 to use
planar interpolation. Increasing values from 17 to 128 result in
increasing reduction of high-frequency data. The value 128 results
in the softest video.
@return [Integer]

@!attribute [rw] spatial_adaptive_quantization

Keep the default value, Enabled (ENABLED), to adjust quantization
within each frame based on spatial variation of content complexity.
When you enable this feature, the encoder uses fewer bits on areas
that can sustain more distortion with no noticeable visual
degradation and uses more bits on areas where any small distortion
will be noticeable. For example, complex textured blocks are encoded
with fewer bits and smooth textured blocks are encoded with more
bits. Enabling this feature will almost always improve your video
quality. Note, though, that this feature doesn't take into account
where the viewer's attention is likely to be. If viewers are likely
to be focusing their attention on a part of the screen with a lot of
complex texture, you might choose to disable this feature. Related
setting: When you enable spatial adaptive quantization, set the
value for Adaptive quantization (adaptiveQuantization) depending on
your content. For homogeneous content, such as cartoons and video
games, set it to Low. For content with a wider variety of textures,
set it to High or Higher.
@return [String]

@!attribute [rw] syntax

Specify whether this output's video uses the D10 syntax. Keep the
default value to not use the syntax. Related settings: When you
choose D10 (D\_10) for your MXF profile (profile), you must also set
this value to to D10 (D\_10).
@return [String]

@!attribute [rw] telecine

When you do frame rate conversion from 23.976 frames per second
(fps) to 29.97 fps, and your output scan type is interlaced, you can
optionally enable hard or soft telecine to create a smoother
picture. Hard telecine (HARD) produces a 29.97i output. Soft
telecine (SOFT) produces an output with a 23.976 output that signals
to the video player device to do the conversion during play back.
When you keep the default value, None (NONE), MediaConvert does a
standard frame rate conversion to 29.97 without doing anything with
the field polarity to create a smoother picture.
@return [String]

@!attribute [rw] temporal_adaptive_quantization

Keep the default value, Enabled (ENABLED), to adjust quantization
within each frame based on temporal variation of content complexity.
When you enable this feature, the encoder uses fewer bits on areas
of the frame that aren't moving and uses more bits on complex
objects with sharp edges that move a lot. For example, this feature
improves the readability of text tickers on newscasts and
scoreboards on sports matches. Enabling this feature will almost
always improve your video quality. Note, though, that this feature
doesn't take into account where the viewer's attention is likely
to be. If viewers are likely to be focusing their attention on a
part of the screen that doesn't have moving objects with sharp
edges, such as sports athletes' faces, you might choose to disable
this feature. Related setting: When you enable temporal
quantization, adjust the strength of the filter with the setting
Adaptive quantization (adaptiveQuantization).
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/Mpeg2Settings AWS API Documentation

Constants

SENSITIVE