public static interface H264Settings.Builder extends SdkPojo, CopyableBuilder<H264Settings.Builder,H264Settings>
Modifier and Type | Method and Description |
---|---|
H264Settings.Builder |
adaptiveQuantization(H264AdaptiveQuantization adaptiveQuantization)
Keep the default value, Auto (AUTO), for this setting to have MediaConvert automatically apply the best types
of quantization for your video content.
|
H264Settings.Builder |
adaptiveQuantization(String adaptiveQuantization)
Keep the default value, Auto (AUTO), for this setting to have MediaConvert automatically apply the best types
of quantization for your video content.
|
H264Settings.Builder |
bitrate(Integer bitrate)
Specify the average bitrate in bits per second.
|
H264Settings.Builder |
codecLevel(H264CodecLevel codecLevel)
Specify an H.264 level that is consistent with your output video settings.
|
H264Settings.Builder |
codecLevel(String codecLevel)
Specify an H.264 level that is consistent with your output video settings.
|
H264Settings.Builder |
codecProfile(H264CodecProfile codecProfile)
H.264 Profile.
|
H264Settings.Builder |
codecProfile(String codecProfile)
H.264 Profile.
|
H264Settings.Builder |
dynamicSubGop(H264DynamicSubGop dynamicSubGop)
Choose Adaptive to improve subjective video quality for high-motion content.
|
H264Settings.Builder |
dynamicSubGop(String dynamicSubGop)
Choose Adaptive to improve subjective video quality for high-motion content.
|
H264Settings.Builder |
entropyEncoding(H264EntropyEncoding entropyEncoding)
Entropy encoding mode.
|
H264Settings.Builder |
entropyEncoding(String entropyEncoding)
Entropy encoding mode.
|
H264Settings.Builder |
fieldEncoding(H264FieldEncoding fieldEncoding)
The video encoding method for your MPEG-4 AVC output.
|
H264Settings.Builder |
fieldEncoding(String fieldEncoding)
The video encoding method for your MPEG-4 AVC output.
|
H264Settings.Builder |
flickerAdaptiveQuantization(H264FlickerAdaptiveQuantization flickerAdaptiveQuantization)
Only use this setting when you change the default value, AUTO, for the setting H264AdaptiveQuantization.
|
H264Settings.Builder |
flickerAdaptiveQuantization(String flickerAdaptiveQuantization)
Only use this setting when you change the default value, AUTO, for the setting H264AdaptiveQuantization.
|
H264Settings.Builder |
framerateControl(H264FramerateControl framerateControl)
If you are using the console, use the Framerate setting to specify the frame rate for this output.
|
H264Settings.Builder |
framerateControl(String framerateControl)
If you are using the console, use the Framerate setting to specify the frame rate for this output.
|
H264Settings.Builder |
framerateConversionAlgorithm(H264FramerateConversionAlgorithm framerateConversionAlgorithm)
Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate.
|
H264Settings.Builder |
framerateConversionAlgorithm(String framerateConversionAlgorithm)
Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate.
|
H264Settings.Builder |
framerateDenominator(Integer framerateDenominator)
When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction.
|
H264Settings.Builder |
framerateNumerator(Integer framerateNumerator)
When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction.
|
H264Settings.Builder |
gopBReference(H264GopBReference gopBReference)
If enable, use reference B frames for GOP structures that have B frames > 1.
|
H264Settings.Builder |
gopBReference(String gopBReference)
If enable, use reference B frames for GOP structures that have B frames > 1.
|
H264Settings.Builder |
gopClosedCadence(Integer gopClosedCadence)
Specify the relative frequency of open to closed GOPs in this output.
|
H264Settings.Builder |
gopSize(Double gopSize)
Use this setting only when you set GOP mode control (GopSizeUnits) to Specified, frames (FRAMES) or
Specified, seconds (SECONDS).
|
H264Settings.Builder |
gopSizeUnits(H264GopSizeUnits gopSizeUnits)
Specify how the transcoder determines GOP size for this output.
|
H264Settings.Builder |
gopSizeUnits(String gopSizeUnits)
Specify how the transcoder determines GOP size for this output.
|
H264Settings.Builder |
hrdBufferInitialFillPercentage(Integer hrdBufferInitialFillPercentage)
Percentage of the buffer that should initially be filled (HRD buffer model).
|
H264Settings.Builder |
hrdBufferSize(Integer hrdBufferSize)
Size of buffer (HRD buffer model) in bits.
|
H264Settings.Builder |
interlaceMode(H264InterlaceMode interlaceMode)
Choose the scan line type for the output.
|
H264Settings.Builder |
interlaceMode(String interlaceMode)
Choose the scan line type for the output.
|
H264Settings.Builder |
maxBitrate(Integer maxBitrate)
Maximum bitrate in bits/second.
|
H264Settings.Builder |
minIInterval(Integer minIInterval)
Use this setting only when you also enable Scene change detection (SceneChangeDetect).
|
H264Settings.Builder |
numberBFramesBetweenReferenceFrames(Integer numberBFramesBetweenReferenceFrames)
This setting to determines the number of B-frames that MediaConvert puts between reference frames in this
output.
|
H264Settings.Builder |
numberReferenceFrames(Integer numberReferenceFrames)
Number of reference frames to use.
|
H264Settings.Builder |
parControl(H264ParControl parControl)
Optional.
|
H264Settings.Builder |
parControl(String parControl)
Optional.
|
H264Settings.Builder |
parDenominator(Integer parDenominator)
Required when you set Pixel aspect ratio (parControl) to SPECIFIED.
|
H264Settings.Builder |
parNumerator(Integer parNumerator)
Required when you set Pixel aspect ratio (parControl) to SPECIFIED.
|
H264Settings.Builder |
qualityTuningLevel(H264QualityTuningLevel qualityTuningLevel)
Optional.
|
H264Settings.Builder |
qualityTuningLevel(String qualityTuningLevel)
Optional.
|
default H264Settings.Builder |
qvbrSettings(Consumer<H264QvbrSettings.Builder> qvbrSettings)
Settings for quality-defined variable bitrate encoding with the H.265 codec.
|
H264Settings.Builder |
qvbrSettings(H264QvbrSettings qvbrSettings)
Settings for quality-defined variable bitrate encoding with the H.265 codec.
|
H264Settings.Builder |
rateControlMode(H264RateControlMode rateControlMode)
Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or
quality-defined variable bitrate (QVBR).
|
H264Settings.Builder |
rateControlMode(String rateControlMode)
Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or
quality-defined variable bitrate (QVBR).
|
H264Settings.Builder |
repeatPps(H264RepeatPps repeatPps)
Places a PPS header on each encoded picture, even if repeated.
|
H264Settings.Builder |
repeatPps(String repeatPps)
Places a PPS header on each encoded picture, even if repeated.
|
H264Settings.Builder |
scanTypeConversionMode(H264ScanTypeConversionMode scanTypeConversionMode)
Use this setting for interlaced outputs, when your output frame rate is half of your input frame rate.
|
H264Settings.Builder |
scanTypeConversionMode(String scanTypeConversionMode)
Use this setting for interlaced outputs, when your output frame rate is half of your input frame rate.
|
H264Settings.Builder |
sceneChangeDetect(H264SceneChangeDetect sceneChangeDetect)
Enable this setting to insert I-frames at scene changes that the service automatically detects.
|
H264Settings.Builder |
sceneChangeDetect(String sceneChangeDetect)
Enable this setting to insert I-frames at scene changes that the service automatically detects.
|
H264Settings.Builder |
slices(Integer slices)
Number of slices per picture.
|
H264Settings.Builder |
slowPal(H264SlowPal slowPal)
Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps).
|
H264Settings.Builder |
slowPal(String slowPal)
Ignore this setting unless your input frame rate is 23.976 or 24 frames per second (fps).
|
H264Settings.Builder |
softness(Integer softness)
Ignore this setting unless you need to comply with a specification that requires a specific value.
|
H264Settings.Builder |
spatialAdaptiveQuantization(H264SpatialAdaptiveQuantization spatialAdaptiveQuantization)
Only use this setting when you change the default value, Auto (AUTO), for the setting
H264AdaptiveQuantization.
|
H264Settings.Builder |
spatialAdaptiveQuantization(String spatialAdaptiveQuantization)
Only use this setting when you change the default value, Auto (AUTO), for the setting
H264AdaptiveQuantization.
|
H264Settings.Builder |
syntax(H264Syntax syntax)
Produces a bitstream compliant with SMPTE RP-2027.
|
H264Settings.Builder |
syntax(String syntax)
Produces a bitstream compliant with SMPTE RP-2027.
|
H264Settings.Builder |
telecine(H264Telecine 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.
|
H264Settings.Builder |
telecine(String 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.
|
H264Settings.Builder |
temporalAdaptiveQuantization(H264TemporalAdaptiveQuantization temporalAdaptiveQuantization)
Only use this setting when you change the default value, AUTO, for the setting H264AdaptiveQuantization.
|
H264Settings.Builder |
temporalAdaptiveQuantization(String temporalAdaptiveQuantization)
Only use this setting when you change the default value, AUTO, for the setting H264AdaptiveQuantization.
|
H264Settings.Builder |
unregisteredSeiTimecode(H264UnregisteredSeiTimecode unregisteredSeiTimecode)
Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
|
H264Settings.Builder |
unregisteredSeiTimecode(String unregisteredSeiTimecode)
Inserts timecode for each frame as 4 bytes of an unregistered SEI message.
|
equalsBySdkFields, sdkFields
copy
applyMutation, build
H264Settings.Builder adaptiveQuantization(String adaptiveQuantization)
adaptiveQuantization
- Keep the default value, Auto (AUTO), for this setting to have MediaConvert automatically apply the
best types of quantization for your video content. When you want to apply your quantization settings
manually, you must set H264AdaptiveQuantization to a value other than Auto (AUTO). Use this setting to
specify the strength of any adaptive quantization filters that you enable. If you don't want
MediaConvert to do any adaptive quantization in this transcode, set Adaptive quantization
(H264AdaptiveQuantization) to Off (OFF). Related settings: The value that you choose here applies to
the following settings: H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and
H264TemporalAdaptiveQuantization.H264AdaptiveQuantization
,
H264AdaptiveQuantization
H264Settings.Builder adaptiveQuantization(H264AdaptiveQuantization adaptiveQuantization)
adaptiveQuantization
- Keep the default value, Auto (AUTO), for this setting to have MediaConvert automatically apply the
best types of quantization for your video content. When you want to apply your quantization settings
manually, you must set H264AdaptiveQuantization to a value other than Auto (AUTO). Use this setting to
specify the strength of any adaptive quantization filters that you enable. If you don't want
MediaConvert to do any adaptive quantization in this transcode, set Adaptive quantization
(H264AdaptiveQuantization) to Off (OFF). Related settings: The value that you choose here applies to
the following settings: H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and
H264TemporalAdaptiveQuantization.H264AdaptiveQuantization
,
H264AdaptiveQuantization
H264Settings.Builder bitrate(Integer bitrate)
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.H264Settings.Builder codecLevel(String codecLevel)
codecLevel
- Specify an H.264 level that is consistent with your output video settings. If you aren't sure what
level to specify, choose Auto (AUTO).H264CodecLevel
,
H264CodecLevel
H264Settings.Builder codecLevel(H264CodecLevel codecLevel)
codecLevel
- Specify an H.264 level that is consistent with your output video settings. If you aren't sure what
level to specify, choose Auto (AUTO).H264CodecLevel
,
H264CodecLevel
H264Settings.Builder codecProfile(String codecProfile)
codecProfile
- H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License.H264CodecProfile
,
H264CodecProfile
H264Settings.Builder codecProfile(H264CodecProfile codecProfile)
codecProfile
- H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License.H264CodecProfile
,
H264CodecProfile
H264Settings.Builder dynamicSubGop(String dynamicSubGop)
dynamicSubGop
- 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).H264DynamicSubGop
,
H264DynamicSubGop
H264Settings.Builder dynamicSubGop(H264DynamicSubGop dynamicSubGop)
dynamicSubGop
- 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).H264DynamicSubGop
,
H264DynamicSubGop
H264Settings.Builder entropyEncoding(String entropyEncoding)
entropyEncoding
- Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.H264EntropyEncoding
,
H264EntropyEncoding
H264Settings.Builder entropyEncoding(H264EntropyEncoding entropyEncoding)
entropyEncoding
- Entropy encoding mode. Use CABAC (must be in Main or High profile) or CAVLC.H264EntropyEncoding
,
H264EntropyEncoding
H264Settings.Builder fieldEncoding(String fieldEncoding)
fieldEncoding
- The video encoding method for your MPEG-4 AVC output. Keep the default value, PAFF, to have
MediaConvert use PAFF encoding for interlaced outputs. Choose Force field (FORCE_FIELD) to disable
PAFF encoding and create separate interlaced fields. Choose MBAFF to disable PAFF and have
MediaConvert use MBAFF encoding for interlaced outputs.H264FieldEncoding
,
H264FieldEncoding
H264Settings.Builder fieldEncoding(H264FieldEncoding fieldEncoding)
fieldEncoding
- The video encoding method for your MPEG-4 AVC output. Keep the default value, PAFF, to have
MediaConvert use PAFF encoding for interlaced outputs. Choose Force field (FORCE_FIELD) to disable
PAFF encoding and create separate interlaced fields. Choose MBAFF to disable PAFF and have
MediaConvert use MBAFF encoding for interlaced outputs.H264FieldEncoding
,
H264FieldEncoding
H264Settings.Builder flickerAdaptiveQuantization(String flickerAdaptiveQuantization)
flickerAdaptiveQuantization
- Only use this setting when you change the default value, AUTO, for the setting
H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization and all other
adaptive quantization from your JSON job specification, MediaConvert automatically applies the best
types of quantization for your video content. When you set H264AdaptiveQuantization to a value other
than AUTO, the default value for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change this
value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears as a visual flicker that can
arise when the encoder saves bits by copying some macroblocks many times from frame to frame, and then
refreshes them at the I-frame. When you enable this setting, the encoder updates these macroblocks
slightly more often to smooth out the flicker. To manually enable or disable
H264FlickerAdaptiveQuantization, you must set Adaptive quantization (H264AdaptiveQuantization) to a
value other than AUTO.H264FlickerAdaptiveQuantization
,
H264FlickerAdaptiveQuantization
H264Settings.Builder flickerAdaptiveQuantization(H264FlickerAdaptiveQuantization flickerAdaptiveQuantization)
flickerAdaptiveQuantization
- Only use this setting when you change the default value, AUTO, for the setting
H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization and all other
adaptive quantization from your JSON job specification, MediaConvert automatically applies the best
types of quantization for your video content. When you set H264AdaptiveQuantization to a value other
than AUTO, the default value for H264FlickerAdaptiveQuantization is Disabled (DISABLED). Change this
value to Enabled (ENABLED) to reduce I-frame pop. I-frame pop appears as a visual flicker that can
arise when the encoder saves bits by copying some macroblocks many times from frame to frame, and then
refreshes them at the I-frame. When you enable this setting, the encoder updates these macroblocks
slightly more often to smooth out the flicker. To manually enable or disable
H264FlickerAdaptiveQuantization, you must set Adaptive quantization (H264AdaptiveQuantization) to a
value other than AUTO.H264FlickerAdaptiveQuantization
,
H264FlickerAdaptiveQuantization
H264Settings.Builder framerateControl(String framerateControl)
framerateControl
- 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.H264FramerateControl
,
H264FramerateControl
H264Settings.Builder framerateControl(H264FramerateControl framerateControl)
framerateControl
- 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.H264FramerateControl
,
H264FramerateControl
H264Settings.Builder framerateConversionAlgorithm(String framerateConversionAlgorithm)
framerateConversionAlgorithm
- 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.H264FramerateConversionAlgorithm
,
H264FramerateConversionAlgorithm
H264Settings.Builder framerateConversionAlgorithm(H264FramerateConversionAlgorithm framerateConversionAlgorithm)
framerateConversionAlgorithm
- 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.H264FramerateConversionAlgorithm
,
H264FramerateConversionAlgorithm
H264Settings.Builder framerateDenominator(Integer framerateDenominator)
framerateDenominator
- 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.H264Settings.Builder framerateNumerator(Integer framerateNumerator)
framerateNumerator
- 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.H264Settings.Builder gopBReference(String gopBReference)
gopBReference
- If enable, use reference B frames for GOP structures that have B frames > 1.H264GopBReference
,
H264GopBReference
H264Settings.Builder gopBReference(H264GopBReference gopBReference)
gopBReference
- If enable, use reference B frames for GOP structures that have B frames > 1.H264GopBReference
,
H264GopBReference
H264Settings.Builder gopClosedCadence(Integer gopClosedCadence)
gopClosedCadence
- Specify the relative frequency of open to closed GOPs in this output. For example, if you want to
allow four open GOPs and then require a closed GOP, set this value to 5. We recommend that you have
the transcoder automatically choose this value for you based on characteristics of your input video.
To enable this automatic behavior, keep the default value by leaving this setting out of your JSON job
specification. In the console, do this by keeping the default empty value. If you do explicitly
specify a value, for segmented outputs, don't set this value to 0.H264Settings.Builder gopSize(Double gopSize)
gopSize
- Use this setting only when you set GOP mode control (GopSizeUnits) to Specified, frames (FRAMES) or
Specified, seconds (SECONDS). Specify the GOP length using a whole number of frames or a decimal value
of seconds. MediaConvert will interpret this value as frames or seconds depending on the value you
choose for GOP mode control (GopSizeUnits). If you want to allow MediaConvert to automatically
determine GOP size, leave GOP size blank and set GOP mode control to Auto (AUTO). If your output group
specifies HLS, DASH, or CMAF, leave GOP size blank and set GOP mode control to Auto in each output in
your output group.H264Settings.Builder gopSizeUnits(String gopSizeUnits)
gopSizeUnits
- Specify how the transcoder determines GOP size for this output. We recommend that you have the
transcoder automatically choose this value for you based on characteristics of your input video. To
enable this automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize) blank. By default,
if you don't specify GOP mode control (GopSizeUnits), MediaConvert will use automatic behavior. If
your output group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and leave GOP size blank
in each output in your output group. To explicitly specify the GOP length, choose Specified, frames
(FRAMES) or Specified, seconds (SECONDS) and then provide the GOP length in the related setting GOP
size (GopSize).H264GopSizeUnits
,
H264GopSizeUnits
H264Settings.Builder gopSizeUnits(H264GopSizeUnits gopSizeUnits)
gopSizeUnits
- Specify how the transcoder determines GOP size for this output. We recommend that you have the
transcoder automatically choose this value for you based on characteristics of your input video. To
enable this automatic behavior, choose Auto (AUTO) and and leave GOP size (GopSize) blank. By default,
if you don't specify GOP mode control (GopSizeUnits), MediaConvert will use automatic behavior. If
your output group specifies HLS, DASH, or CMAF, set GOP mode control to Auto and leave GOP size blank
in each output in your output group. To explicitly specify the GOP length, choose Specified, frames
(FRAMES) or Specified, seconds (SECONDS) and then provide the GOP length in the related setting GOP
size (GopSize).H264GopSizeUnits
,
H264GopSizeUnits
H264Settings.Builder hrdBufferInitialFillPercentage(Integer hrdBufferInitialFillPercentage)
hrdBufferInitialFillPercentage
- Percentage of the buffer that should initially be filled (HRD buffer model).H264Settings.Builder hrdBufferSize(Integer hrdBufferSize)
hrdBufferSize
- Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000.H264Settings.Builder interlaceMode(String interlaceMode)
interlaceMode
- 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.H264InterlaceMode
,
H264InterlaceMode
H264Settings.Builder interlaceMode(H264InterlaceMode interlaceMode)
interlaceMode
- 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.H264InterlaceMode
,
H264InterlaceMode
H264Settings.Builder maxBitrate(Integer maxBitrate)
maxBitrate
- Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when
Rate control mode is QVBR.H264Settings.Builder minIInterval(Integer minIInterval)
minIInterval
- Use this setting only when you also enable Scene change detection (SceneChangeDetect). This setting
determines how the encoder manages the spacing between I-frames that it inserts as part of the I-frame
cadence and the I-frames that it inserts for Scene change detection. We recommend that you have the
transcoder automatically choose this value for you based on characteristics of your input video. To
enable this automatic behavior, keep the default value by leaving this setting out of your JSON job
specification. In the console, do this by keeping the default empty value. When you explicitly specify
a value for this setting, the encoder determines whether to skip a cadence-driven I-frame by the value
you set. For example, if you set Min I interval (minIInterval) to 5 and a cadence-driven I-frame would
fall within 5 frames of a scene-change I-frame, then the encoder skips the cadence-driven I-frame. In
this way, one GOP is shrunk slightly and one GOP is stretched slightly. When the cadence-driven
I-frames are farther from the scene-change I-frame than the value you set, then the encoder leaves all
I-frames in place and the GOPs surrounding the scene change are smaller than the usual cadence GOPs.H264Settings.Builder numberBFramesBetweenReferenceFrames(Integer numberBFramesBetweenReferenceFrames)
numberBFramesBetweenReferenceFrames
- This setting to determines the number of B-frames that MediaConvert puts between reference frames in
this output. We recommend that you use automatic behavior to allow the transcoder to choose the best
value based on characteristics of your input video. In the console, choose AUTO to select this
automatic behavior. When you manually edit your JSON job specification, leave this setting out to
choose automatic behavior. When you want to specify this number explicitly, choose a whole number from
0 through 7.H264Settings.Builder numberReferenceFrames(Integer numberReferenceFrames)
numberReferenceFrames
- Number of reference frames to use. The encoder may use more than requested if using B-frames and/or
interlaced encoding.H264Settings.Builder parControl(String parControl)
parControl
- 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.H264ParControl
,
H264ParControl
H264Settings.Builder parControl(H264ParControl parControl)
parControl
- 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.H264ParControl
,
H264ParControl
H264Settings.Builder parDenominator(Integer parDenominator)
parDenominator
- 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.H264Settings.Builder parNumerator(Integer parNumerator)
parNumerator
- 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.H264Settings.Builder qualityTuningLevel(String qualityTuningLevel)
qualityTuningLevel
- 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.H264QualityTuningLevel
,
H264QualityTuningLevel
H264Settings.Builder qualityTuningLevel(H264QualityTuningLevel qualityTuningLevel)
qualityTuningLevel
- 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.H264QualityTuningLevel
,
H264QualityTuningLevel
H264Settings.Builder qvbrSettings(H264QvbrSettings qvbrSettings)
qvbrSettings
- Settings for quality-defined variable bitrate encoding with the H.265 codec. Use these settings only
when you set QVBR for Rate control mode (RateControlMode).default H264Settings.Builder qvbrSettings(Consumer<H264QvbrSettings.Builder> qvbrSettings)
H264QvbrSettings.Builder
avoiding the need to create one manually via
H264QvbrSettings.builder()
.
When the Consumer
completes, SdkBuilder.build()
is called immediately and its
result is passed to qvbrSettings(H264QvbrSettings)
.
qvbrSettings
- a consumer that will call methods on H264QvbrSettings.Builder
qvbrSettings(H264QvbrSettings)
H264Settings.Builder rateControlMode(String rateControlMode)
rateControlMode
- Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR)
or quality-defined variable bitrate (QVBR).H264RateControlMode
,
H264RateControlMode
H264Settings.Builder rateControlMode(H264RateControlMode rateControlMode)
rateControlMode
- Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR)
or quality-defined variable bitrate (QVBR).H264RateControlMode
,
H264RateControlMode
H264Settings.Builder repeatPps(String repeatPps)
repeatPps
- Places a PPS header on each encoded picture, even if repeated.H264RepeatPps
,
H264RepeatPps
H264Settings.Builder repeatPps(H264RepeatPps repeatPps)
repeatPps
- Places a PPS header on each encoded picture, even if repeated.H264RepeatPps
,
H264RepeatPps
H264Settings.Builder scanTypeConversionMode(String scanTypeConversionMode)
scanTypeConversionMode
- 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).H264ScanTypeConversionMode
,
H264ScanTypeConversionMode
H264Settings.Builder scanTypeConversionMode(H264ScanTypeConversionMode scanTypeConversionMode)
scanTypeConversionMode
- 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).H264ScanTypeConversionMode
,
H264ScanTypeConversionMode
H264Settings.Builder sceneChangeDetect(String sceneChangeDetect)
sceneChangeDetect
- Enable this setting to insert I-frames at scene changes that the service automatically detects. This
improves video quality and is enabled by default. If this output uses QVBR, choose Transition
detection (TRANSITION_DETECTION) for further video quality improvement. For more information about
QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.H264SceneChangeDetect
,
H264SceneChangeDetect
H264Settings.Builder sceneChangeDetect(H264SceneChangeDetect sceneChangeDetect)
sceneChangeDetect
- Enable this setting to insert I-frames at scene changes that the service automatically detects. This
improves video quality and is enabled by default. If this output uses QVBR, choose Transition
detection (TRANSITION_DETECTION) for further video quality improvement. For more information about
QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.H264SceneChangeDetect
,
H264SceneChangeDetect
H264Settings.Builder slices(Integer slices)
slices
- Number of slices per picture. Must be less than or equal to the number of macroblock rows for
progressive pictures, and less than or equal to half the number of macroblock rows for interlaced
pictures.H264Settings.Builder slowPal(String slowPal)
slowPal
- 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.H264SlowPal
,
H264SlowPal
H264Settings.Builder slowPal(H264SlowPal slowPal)
slowPal
- 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.H264SlowPal
,
H264SlowPal
H264Settings.Builder softness(Integer softness)
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, for flat quantization. Choose the value 1 or 16 to use the
default JVT softening quantization matricies from the H.264 specification. 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.H264Settings.Builder spatialAdaptiveQuantization(String spatialAdaptiveQuantization)
spatialAdaptiveQuantization
- Only use this setting when you change the default value, Auto (AUTO), for the setting
H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization and all other
adaptive quantization from your JSON job specification, MediaConvert automatically applies the best
types of quantization for your video content. When you set H264AdaptiveQuantization to a value other
than AUTO, the default value for H264SpatialAdaptiveQuantization is Enabled (ENABLED). Keep this
default value 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 set H264SpatialAdaptiveQuantization to
Disabled (DISABLED). Related setting: When you enable spatial adaptive quantization, set the value for
Adaptive quantization (H264AdaptiveQuantization) 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. To manually enable or disable H264SpatialAdaptiveQuantization, you must set
Adaptive quantization (H264AdaptiveQuantization) to a value other than AUTO.H264SpatialAdaptiveQuantization
,
H264SpatialAdaptiveQuantization
H264Settings.Builder spatialAdaptiveQuantization(H264SpatialAdaptiveQuantization spatialAdaptiveQuantization)
spatialAdaptiveQuantization
- Only use this setting when you change the default value, Auto (AUTO), for the setting
H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization and all other
adaptive quantization from your JSON job specification, MediaConvert automatically applies the best
types of quantization for your video content. When you set H264AdaptiveQuantization to a value other
than AUTO, the default value for H264SpatialAdaptiveQuantization is Enabled (ENABLED). Keep this
default value 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 set H264SpatialAdaptiveQuantization to
Disabled (DISABLED). Related setting: When you enable spatial adaptive quantization, set the value for
Adaptive quantization (H264AdaptiveQuantization) 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. To manually enable or disable H264SpatialAdaptiveQuantization, you must set
Adaptive quantization (H264AdaptiveQuantization) to a value other than AUTO.H264SpatialAdaptiveQuantization
,
H264SpatialAdaptiveQuantization
H264Settings.Builder syntax(String syntax)
syntax
- Produces a bitstream compliant with SMPTE RP-2027.H264Syntax
,
H264Syntax
H264Settings.Builder syntax(H264Syntax syntax)
syntax
- Produces a bitstream compliant with SMPTE RP-2027.H264Syntax
,
H264Syntax
H264Settings.Builder telecine(String telecine)
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.H264Telecine
,
H264Telecine
H264Settings.Builder telecine(H264Telecine telecine)
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.H264Telecine
,
H264Telecine
H264Settings.Builder temporalAdaptiveQuantization(String temporalAdaptiveQuantization)
temporalAdaptiveQuantization
- Only use this setting when you change the default value, AUTO, for the setting
H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization and all other
adaptive quantization from your JSON job specification, MediaConvert automatically applies the best
types of quantization for your video content. When you set H264AdaptiveQuantization to a value other
than AUTO, the default value for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this
default value 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 set H264TemporalAdaptiveQuantization to Disabled
(DISABLED). Related setting: When you enable temporal quantization, adjust the strength of the filter
with the setting Adaptive quantization (adaptiveQuantization). To manually enable or disable
H264TemporalAdaptiveQuantization, you must set Adaptive quantization (H264AdaptiveQuantization) to a
value other than AUTO.H264TemporalAdaptiveQuantization
,
H264TemporalAdaptiveQuantization
H264Settings.Builder temporalAdaptiveQuantization(H264TemporalAdaptiveQuantization temporalAdaptiveQuantization)
temporalAdaptiveQuantization
- Only use this setting when you change the default value, AUTO, for the setting
H264AdaptiveQuantization. When you keep all defaults, excluding H264AdaptiveQuantization and all other
adaptive quantization from your JSON job specification, MediaConvert automatically applies the best
types of quantization for your video content. When you set H264AdaptiveQuantization to a value other
than AUTO, the default value for H264TemporalAdaptiveQuantization is Enabled (ENABLED). Keep this
default value 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 set H264TemporalAdaptiveQuantization to Disabled
(DISABLED). Related setting: When you enable temporal quantization, adjust the strength of the filter
with the setting Adaptive quantization (adaptiveQuantization). To manually enable or disable
H264TemporalAdaptiveQuantization, you must set Adaptive quantization (H264AdaptiveQuantization) to a
value other than AUTO.H264TemporalAdaptiveQuantization
,
H264TemporalAdaptiveQuantization
H264Settings.Builder unregisteredSeiTimecode(String unregisteredSeiTimecode)
unregisteredSeiTimecode
- Inserts timecode for each frame as 4 bytes of an unregistered SEI message.H264UnregisteredSeiTimecode
,
H264UnregisteredSeiTimecode
H264Settings.Builder unregisteredSeiTimecode(H264UnregisteredSeiTimecode unregisteredSeiTimecode)
unregisteredSeiTimecode
- Inserts timecode for each frame as 4 bytes of an unregistered SEI message.H264UnregisteredSeiTimecode
,
H264UnregisteredSeiTimecode
Copyright © 2022. All rights reserved.