class Aws::MediaConvert::Types::H264Settings
@see docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/H264Settings AWS API Documentation
@return [String]
message.
Inserts timecode for each frame as 4 bytes of an unregistered SEI
@!attribute [rw] unregistered_sei_timecode
@return [String]
to a value other than AUTO.
H264TemporalAdaptiveQuantization, you must set Adaptive quantization
quantization. To manually enable or disable
adjust the strength of the filter with the setting Adaptive
Disabled. Related setting: When you enable temporal quantization,
faces, you might choose to set H264TemporalAdaptiveQuantization to
have moving objects with sharp edges, such as sports athletes’
to be focusing their attention on a part of the screen that doesn’t
where the viewer’s attention is likely to be. If viewers are likely
quality. Note, though, that this feature doesn’t take into account
matches. Enabling this feature will almost always improve your video
readability of text tickers on newscasts and scoreboards on sports
sharp edges that move a lot. For example, this feature improves the
frame that aren’t moving and uses more bits on complex objects with
enable this feature, the encoder uses fewer bits on areas of the
frame based on temporal variation of content complexity. When you
Enabled. Keep this default value to adjust quantization within each
AUTO, the default value for H264TemporalAdaptiveQuantization is
content. When you set H264AdaptiveQuantization to a value other than
automatically applies the best types of quantization for your video
quantization from your JSON job specification, MediaConvert
excluding H264AdaptiveQuantization and all other adaptive
the setting H264AdaptiveQuantization. When you keep all defaults,
Only use this setting when you change the default value, AUTO, for
@!attribute [rw] temporal_adaptive_quantization
@return [String]
to create a smoother picture.
conversion to 29.97 without doing anything with the field polarity
the default value, None, MediaConvert does a standard frame rate
player device to do the conversion during play back. When you keep
produces an output with a 23.976 output that signals to the video
picture. Hard telecine produces a 29.97i output. Soft telecine
optionally enable hard or soft telecine to create a smoother
(fps) to 29.97 fps, and your output scan type is interlaced, you can
When you do frame rate conversion from 23.976 frames per second
@!attribute [rw] telecine
@return [String]
Produces a bitstream compliant with SMPTE RP-2027.
@!attribute [rw] syntax
@return [String]
Adaptive quantization to a value other than AUTO.
enable or disable H264SpatialAdaptiveQuantization, you must set
wider variety of textures, set it to High or Higher. To manually
such as cartoons and video games, set it to Low. For content with a
quantization depending on your content. For homogeneous content,
you enable spatial adaptive quantization, set the value for Adaptive
H264SpatialAdaptiveQuantization to Disabled. Related setting: When
complex texture, you might choose to set
focusing their attention on a part of the screen with a lot of
viewer’s attention is likely to be. If viewers are likely to be
Note, though, that this feature doesn’t take into account where the
Enabling this feature will almost always improve your video quality.
fewer bits and smooth textured blocks are encoded with more bits.
noticeable. For example, complex textured blocks are encoded with
uses more bits on areas where any small distortion will be
sustain more distortion with no noticeable visual degradation and
enable this feature, the encoder uses fewer bits on areas that can
frame based on spatial variation of content complexity. When you
Enabled. Keep this default value to adjust quantization within each
AUTO, the default value for H264SpatialAdaptiveQuantization is
content. When you set H264AdaptiveQuantization to a value other than
automatically applies the best types of quantization for your video
quantization from your JSON job specification, MediaConvert
excluding H264AdaptiveQuantization and all other adaptive
the setting H264AdaptiveQuantization. When you keep all defaults,
Only use this setting when you change the default value, Auto, for
@!attribute [rw] spatial_adaptive_quantization
@return [Integer]
softest video.
reduction of high-frequency data. The value 128 results in the
interpolation. Increasing values from 17 to 128 result in increasing
specification. Choose a value from 17 to 128 to use planar
default JVT softening quantization matricies from the H.264
0, for flat quantization. Choose the value 1 or 16 to use the
quantization matrices that the encoder uses. Keep the default value,
enabling a noise reducer filter. The Softness setting specifies the
output by using a lower value for the setting Sharpness or by
requirement, we recommend that you adjust the softness of your
that requires a specific value. If you don’t have a specification
Ignore this setting unless you need to comply with a specification
@!attribute [rw] softness
@return [String]
Framerate to 25.
duration of your video. Required settings: You must also set
video. Note that enabling this setting will slightly reduce the
25 fps and resamples your audio to keep it synchronized with the
When you enable slow PAL, MediaConvert relabels the video frames to
frames per second (fps). Enable slow PAL to create a 25 fps output.
Ignore this setting unless your input frame rate is 23.976 or 24
@!attribute [rw] slow_pal
@return [Integer]
equal to half the number of macroblock rows for interlaced pictures.
number of macroblock rows for progressive pictures, and less than or
Number of slices per picture. Must be less than or equal to the
@!attribute [rw] slices
@return [String]
.
information about QVBR, see
detection for further video quality improvement. For more
enabled by default. If this output uses QVBR, choose Transition
service automatically detects. This improves video quality and is
Enable this setting to insert I-frames at scene changes that the
@!attribute [rw] scene_change_detect
@return [String]
must also set Interlace mode to a value other than Progressive.
You can’t use optimized interlacing for hard telecine outputs. You
use optimized interlacing, you must set Telecine to None or Soft.
automatically falls back to basic interlacing. Required settings: To
isn’t suitable for optimized interlacing, MediaConvert
interlacing and you set your output frame rate to a value that
and then interlaces the frames. When you choose Optimized
interlacing, MediaConvert performs any frame rate conversion first
interlacing, for all other output frame rates. With basic
an interlaced field in the output. Keep the default value, Basic
In this case, each progressive frame from the input corresponds to
Optimized interlacing to create a better quality interlaced output.
is half of your input frame rate. In this situation, choose
Use this setting for interlaced outputs, when your output frame rate
@!attribute [rw] scan_type_conversion_mode
@return [String]
Places a PPS header on each encoded picture, even if repeated.
@!attribute [rw] repeat_pps
@return [String]
bitrate (QVBR).
bitrate (VBR), constant bitrate (CBR) or quality-defined variable
Use this setting to specify whether this output has a variable
@!attribute [rw] rate_control_mode
@return [Types::H264QvbrSettings]
control mode.
H.265 codec. Use these settings only when you set QVBR for Rate
Settings for quality-defined variable bitrate encoding with the
@!attribute [rw] qvbr_settings
@return [String]
encoding pass. Outputs that use this feature incur pro-tier pricing.
MediaConvert performs an analysis pass on your input followed by an
video quality, at the cost of encoding speed: Choose Multi pass HQ.
Leave blank or keep the default value Single pass HQ. For the best
pass. For a good balance between encoding speed and video quality:
fastest encoding speed at the cost of video quality: Choose Single
the encoding speed of your job and the output video quality. For the
The Quality tuning level you choose represents a trade-off between
@!attribute [rw] quality_tuning_level
@return [Integer]
ratio 40:33. In this example, the value for parNumerator is 40.
ratio. For example, for D1/DV NTSC widescreen, you would specify the
different from your input video PAR, provide your output PAR as a
When you specify an output pixel aspect ratio (PAR) that is
console, this corresponds to any value other than Follow source.
Required when you set Pixel aspect ratio to SPECIFIED. On the
@!attribute [rw] par_numerator
@return [Integer]
ratio 40:33. In this example, the value for parDenominator is 33.
ratio. For example, for D1/DV NTSC widescreen, you would specify the
different from your input video PAR, provide your output PAR as a
When you specify an output pixel aspect ratio (PAR) that is
console, this corresponds to any value other than Follow source.
Required when you set Pixel aspect ratio to SPECIFIED. On the
@!attribute [rw] par_denominator
@return [String]
for the parNumerator and parDenominator settings.
you choose SPECIFIED for this setting, you must also specify values
PAR in the console, choose any value other than Follow source. When
PAR from your input video for your output. To specify a different
(PAR) for this output. The default behavior, Follow source, uses the
Optional. Specify how the service determines the pixel aspect ratio
@!attribute [rw] par_control
@return [Integer]
requested if using B-frames and/or interlaced encoding.
Number of reference frames to use. The encoder may use more than
@!attribute [rw] number_reference_frames
@return [Integer]
of B-frames between reference frames: Enter an integer from 0 to 7.
characteristics of your input video. To manually specify the number
automatically determines the number of B-frames to use based on the
output. For the best video quality: Leave blank. MediaConvert
Specify the number of B-frames between reference frames in this
@!attribute [rw] number_b_frames_between_reference_frames
@return [Integer]
the usual cadence GOPs.
in place and the GOPs surrounding the scene change are smaller than
I-frame than the value you set, then the encoder leaves all I-frames
When the cadence-driven I-frames are farther from the scene-change
way, one GOP is shrunk slightly and one GOP is stretched slightly.
I-frame, then the encoder skips the cadence-driven I-frame. In this
cadence-driven I-frame would fall within 5 frames of a scene-change
set. For example, if you set Min I interval to 5 and a
determines whether to skip a cadence-driven I-frame by the value you
you explicitly specify a value for this setting, the encoder
automatic behavior, do this by keeping the default empty value. When
based on characteristics of your input video. To enable this
that you have the transcoder automatically choose this value for you
I-frames that it inserts for Scene change detection. We recommend
I-frames that it inserts as part of the I-frame cadence and the
This setting determines how the encoder manages the spacing between
Use this setting only when you also enable Scene change detection.
@!attribute [rw] min_i_interval
@return [Integer]
second as 5000000. Required when Rate control mode is QVBR.
Maximum bitrate in bits/second. For example, enter five megabits per
@!attribute [rw] max_bitrate
@return [String]
field first, depending on which of the Follow options you choose.
progressive, the output will be interlaced with top field bottom
interlaced with the same polarity as the source. If the source is
scan type. If the source is interlaced, the output will be
over the course of the output. Follow behavior depends on the input
that have multiple inputs, the output field polarity might change
produce outputs with the same field polarity as the source. For jobs
throughout. Use Follow, default top or Follow, default bottom to
create an output that’s interlaced with the same field polarity
type of your input. Use Top field first or Bottom field first to
Progressive to create a progressive output, regardless of the scan
Choose the scan line type for the output. Keep the default value,
@!attribute [rw] interlace_mode
@return [Integer]
megabits as 5000000.
Size of buffer (HRD buffer model) in bits. For example, enter five
@!attribute [rw] hrd_buffer_size
@return [Integer]
model).
Percentage of the buffer that should initially be filled (HRD buffer
@!attribute [rw] hrd_buffer_initial_fill_percentage
@return [Integer]
percentage.
to 0 or leave blank to automatically determine the final buffer fill
end of each encoded video segment. For the best video quality: Set
the minimum percentage of the HRD buffer that’s available at the
If your downstream systems have strict buffer requirements: Specify
@!attribute [rw] hrd_buffer_final_fill_percentage
@return [String]
size.
seconds and then provide the GOP length in the related setting GOP
specify the GOP length, choose Specified, frames or Specified,
GOP size blank in each output in your output group. To explicitly
specifies HLS, DASH, or CMAF, set GOP mode control to Auto and leave
MediaConvert will use automatic behavior. If your output group
blank. By default, if you don’t specify GOP mode control,
enable this automatic behavior, choose Auto and and leave GOP size
value for you based on characteristics of your input video. To
recommend that you have the transcoder automatically choose this
Specify how the transcoder determines GOP size for this output. We
@!attribute [rw] gop_size_units
@return [Float]
output in your output group.
CMAF, leave GOP size blank and set GOP mode control to Auto in each
mode control to Auto. If your output group specifies HLS, DASH, or
automatically determine GOP size, leave GOP size blank and set GOP
choose for GOP mode control. If you want to allow MediaConvert to
interpret this value as frames or seconds depending on the value you
number of frames or a decimal value of seconds. MediaConvert will
frames or Specified, seconds. Specify the GOP length using a whole
Use this setting only when you set GOP mode control to Specified,
@!attribute [rw] gop_size
@return [Integer]
value, for segmented outputs, don’t set this value to 0.
keeping the default empty value. If you do explicitly specify a
characteristics of your input video. In the console, do this by
have the transcoder automatically choose this value for you based on
require a closed GOP, set this value to 5. We recommend that you
output. For example, if you want to allow four open GOPs and then
Specify the relative frequency of open to closed GOPs in this
@!attribute [rw] gop_closed_cadence
@return [String]
B-frames: Choose Disabled.
of your output relative to its bitrate. To not use reference
recommend that you choose Enabled to help improve the video quality
more B-frames: Leave blank or keep the default value Enabled. We
types. To use reference B-frames when your GOP structure has 1 or
Specify whether to allow B-frames to be referenced by other frame
@!attribute [rw] gop_b_reference
@return [Integer]
Framerate. In this example, specify 23.976.
use frame rate conversion, provide the value as a decimal number for
FramerateNumerator. When you use the console for transcode jobs that
of this fraction. In this example, use 24000 for the value of
/ 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator
conversion, specify the frame rate as a fraction. For example, 24000
When you use the API for transcode jobs that use frame rate
@!attribute [rw] framerate_numerator
@return [Integer]
a decimal number for Framerate. In this example, specify 23.976.
transcode jobs that use frame rate conversion, provide the value as
value of FramerateDenominator. When you use the console for
denominator of this fraction. In this example, use 1001 for the
/ 1001 = 23.976 fps. Use FramerateDenominator to specify the
conversion, specify the frame rate as a fraction. For example, 24000
When you use the API for transcode jobs that use frame rate
@!attribute [rw] framerate_denominator
@return [String]
least 128x96.
When you choose FrameFormer, your input video resolution must be at
increases the transcoding time and incurs a significant add-on cost.
conversion method frame by frame. Note that using FrameFormer
motion-compensated interpolation. FrameFormer uses the best
converted from its original cadence: Choose FrameFormer to do
conversions, especially if your source video has already been
might introduce undesirable video artifacts. For complex frame rate
stutter: Choose Interpolate. This results in a smooth picture, but
value, Drop duplicate. For numerically complex conversions, to avoid
such as 60 fps to 30 fps: We recommend that you keep the default
or decreasing the frame rate. For numerically simple conversions,
Choose the method that you want MediaConvert to use when increasing
@!attribute [rw] framerate_conversion_algorithm
@return [String]
frame rate as a fraction.
approximations of fractions. If you choose Custom, specify your
choose Custom. The framerates shown in the dropdown list are decimal
frame rate conversion, choose a frame rate from the dropdown list or
rate as the input video, choose Follow source. If you want to do
the frame rate for this output. If you want to keep the same frame
If you are using the console, use the Framerate setting to specify
@!attribute [rw] framerate_control
@return [String]
to a value other than AUTO.
H264FlickerAdaptiveQuantization, you must set Adaptive quantization
often to smooth out the flicker. To manually enable or disable
this setting, the encoder updates these macroblocks slightly more
to frame, and then refreshes them at the I-frame. When you enable
encoder saves bits by copying some macroblocks many times from frame
I-frame pop appears as a visual flicker that can arise when the
Disabled. Change this value to Enabled to reduce I-frame pop.
AUTO, the default value for H264FlickerAdaptiveQuantization is
content. When you set H264AdaptiveQuantization to a value other than
automatically applies the best types of quantization for your video
quantization from your JSON job specification, MediaConvert
excluding H264AdaptiveQuantization and all other adaptive
the setting H264AdaptiveQuantization. When you keep all defaults,
Only use this setting when you change the default value, AUTO, for
@!attribute [rw] flicker_adaptive_quantization
@return [String]
have MediaConvert use MBAFF encoding for interlaced outputs.
create separate interlaced fields. Choose MBAFF to disable PAFF and
interlaced outputs. Choose Force field to disable PAFF encoding and
default value, PAFF, to have MediaConvert use PAFF encoding for
The video encoding method for your MPEG-4 AVC output. Keep the
@!attribute [rw] field_encoding
@return [String]
or CAVLC.
Entropy encoding mode. Use CABAC (must be in Main or High profile)
@!attribute [rw] entropy_encoding
@return [String]
your output will be inserted into another stream.
include end of stream markers: Choose Suppress. This is useful when
markers: Leave blank or keep the default value, Include. To not
that signal the end of the video stream. To include end of stream
Optionally include or suppress markers at the end of your output
@!attribute [rw] end_of_stream_markers
@return [String]
Static.
To use the same number B-frames for all types of content: Choose
by the value that you choose for B-frames between reference frames.
than low-motion content. The maximum number of B- frames is limited
MediaConvert will use fewer B-frames for high-motion video content
high-motion content: Leave blank or keep the default value Adaptive.
improve the subjective video quality of your output that has
structure to vary or not depending on your input video content. To
Specify whether to allow the number of B-frames in your output GOP
@!attribute [rw] dynamic_sub_gop
@return [String]
with the AVC-I License.
H.264 Profile. High 4:2:2 and 10-bit profiles are only available
@!attribute [rw] codec_profile
@return [String]
settings. If you aren’t sure what level to specify, choose Auto.
Specify an H.264 level that is consistent with your output video
@!attribute [rw] codec_level
@return [Integer]
down to the nearest multiple of 1000.
CBR. For MS Smooth outputs, bitrates must be unique when rounded
Specify the average bitrate in bits per second. Required for VBR and
@!attribute [rw] bitrate
@return [Types::BandwidthReductionFilter]
reducer preprocessor.
you include Bandwidth reduction filter, you cannot include the Noise
or noisy. Outputs that use this feature incur pro-tier pricing. When
Bandwidth reduction increases further when your input is low quality
other rate control modes relative to the bitrate that you specify.
in quality. Or, use to increase the video quality of outputs with
constant quality QVBR output, with little or no perceptual decrease
output relative to its bitrate. Use to lower the bitrate of your
The Bandwidth reduction filter increases the video quality of your
@!attribute [rw] bandwidth_reduction_filter
@return [String]
and H264TemporalAdaptiveQuantization.
H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization,
choose here applies to the following settings:
Adaptive quantization to Off. Related settings: The value that you
MediaConvert to do any adaptive quantization in this transcode, set
quantization filters that you enable. If you don’t want
Use this setting to specify the strength of any adaptive
you must set H264AdaptiveQuantization to a value other than Auto.
content. When you want to apply your quantization settings manually,
automatically apply the best types of quantization for your video
Keep the default value, Auto, for this setting to have MediaConvert
@!attribute [rw] adaptive_quantization
Required when you set Codec to the value H_264.