Class H264Settings
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<H264Settings.Builder,
H264Settings>
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionfinal H264AdaptiveQuantization
Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality.final String
Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality.final AfdSignaling
Indicates that AFD values will be written into the output stream.final String
Indicates that AFD values will be written into the output stream.final Integer
bitrate()
Average bitrate in bits/second.final Integer
Percentage of the buffer that should initially be filled (HRD buffer model).final Integer
bufSize()
Size of buffer (HRD buffer model) in bits.static H264Settings.Builder
builder()
final H264ColorMetadata
Includes colorspace metadata in the output.final String
Includes colorspace metadata in the output.final H264ColorSpaceSettings
Color Space settingsfinal H264EntropyEncoding
Entropy encoding mode.final String
Entropy encoding mode.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final H264FilterSettings
Optional.final FixedAfd
fixedAfd()
Four bit AFD value to write on all frames of video in the output stream.final String
Four bit AFD value to write on all frames of video in the output stream.final H264FlickerAq
Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames.final String
Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames.final H264ForceFieldPictures
This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis.final String
This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis.final H264FramerateControl
This field indicates how the output video frame rate is specified.final String
This field indicates how the output video frame rate is specified.final Integer
Framerate denominator.final Integer
Framerate numerator - framerate is a fraction, e.g.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final H264GopBReference
Documentation update neededfinal String
Documentation update neededfinal Integer
Frequency of closed GOPs.final Integer
Number of B-frames between reference frames.final Double
gopSize()
GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.final H264GopSizeUnits
Indicates if the gopSize is specified in frames or seconds.final String
Indicates if the gopSize is specified in frames or seconds.final int
hashCode()
final H264Level
level()
H.264 Level.final String
H.264 Level.final H264LookAheadRateControl
Amount of lookahead.final String
Amount of lookahead.final Integer
For QVBR: See the tooltip for Quality level For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.final Integer
Only meaningful if sceneChangeDetect is set to enabled.final Integer
Number of reference frames to use.final H264ParControl
This field indicates how the output pixel aspect ratio is specified.final String
This field indicates how the output pixel aspect ratio is specified.final Integer
Pixel Aspect Ratio denominator.final Integer
Pixel Aspect Ratio numerator.final H264Profile
profile()
H.264 Profile.final String
H.264 Profile.final H264QualityLevel
Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel).final String
Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel).final Integer
Controls the target quality for the video encode.final H264RateControlMode
Rate control mode.final String
Rate control mode.final H264ScanType
scanType()
Sets the scan type of the output to progressive or top-field-first interlaced.final String
Sets the scan type of the output to progressive or top-field-first interlaced.final H264SceneChangeDetect
Scene change detection.final String
Scene change detection.static Class
<? extends H264Settings.Builder> final Integer
slices()
Number of slices per picture.final Integer
softness()
Softness.final H264SpatialAq
Spatial AQ makes adjustments within each frame based on spatial variation of content complexity.final String
Spatial AQ makes adjustments within each frame based on spatial variation of content complexity.final H264SubGopLength
If set to fixed, use gopNumBFrames B-frames per sub-GOP.final String
If set to fixed, use gopNumBFrames B-frames per sub-GOP.final H264Syntax
syntax()
Produces a bitstream compliant with SMPTE RP-2027.final String
Produces a bitstream compliant with SMPTE RP-2027.final H264TemporalAq
Temporal makes adjustments within each frame based on temporal variation of content complexity.final String
Temporal makes adjustments within each frame based on temporal variation of content complexity.final TimecodeBurninSettings
Timecode burn-in settingsDetermines how timecodes should be inserted into the video elementary stream.final String
Determines how timecodes should be inserted into the video elementary stream.Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
adaptiveQuantization
Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality. There are three types of adaptive quantization: flicker, spatial, and temporal. Set the field in one of these ways: Set to Auto. Recommended. For each type of AQ, MediaLive will determine if AQ is needed, and if so, the appropriate strength. Set a strength (a value other than Auto or Disable). This strength will apply to any of the AQ fields that you choose to enable. Set to Disabled to disable all types of adaptive quantization.If the service returns an enum value that is not available in the current SDK version,
adaptiveQuantization
will returnH264AdaptiveQuantization.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromadaptiveQuantizationAsString()
.- Returns:
- Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality. There are three types of adaptive quantization: flicker, spatial, and temporal. Set the field in one of these ways: Set to Auto. Recommended. For each type of AQ, MediaLive will determine if AQ is needed, and if so, the appropriate strength. Set a strength (a value other than Auto or Disable). This strength will apply to any of the AQ fields that you choose to enable. Set to Disabled to disable all types of adaptive quantization.
- See Also:
-
adaptiveQuantizationAsString
Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality. There are three types of adaptive quantization: flicker, spatial, and temporal. Set the field in one of these ways: Set to Auto. Recommended. For each type of AQ, MediaLive will determine if AQ is needed, and if so, the appropriate strength. Set a strength (a value other than Auto or Disable). This strength will apply to any of the AQ fields that you choose to enable. Set to Disabled to disable all types of adaptive quantization.If the service returns an enum value that is not available in the current SDK version,
adaptiveQuantization
will returnH264AdaptiveQuantization.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromadaptiveQuantizationAsString()
.- Returns:
- Enables or disables adaptive quantization, which is a technique MediaLive can apply to video on a frame-by-frame basis to produce more compression without losing quality. There are three types of adaptive quantization: flicker, spatial, and temporal. Set the field in one of these ways: Set to Auto. Recommended. For each type of AQ, MediaLive will determine if AQ is needed, and if so, the appropriate strength. Set a strength (a value other than Auto or Disable). This strength will apply to any of the AQ fields that you choose to enable. Set to Disabled to disable all types of adaptive quantization.
- See Also:
-
afdSignaling
Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter.If the service returns an enum value that is not available in the current SDK version,
afdSignaling
will returnAfdSignaling.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromafdSignalingAsString()
.- Returns:
- Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter.
- See Also:
-
afdSignalingAsString
Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter.If the service returns an enum value that is not available in the current SDK version,
afdSignaling
will returnAfdSignaling.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromafdSignalingAsString()
.- Returns:
- Indicates that AFD values will be written into the output stream. If afdSignaling is "auto", the system will try to preserve the input AFD value (in cases where multiple AFD values are valid). If set to "fixed", the AFD value will be the value configured in the fixedAfd parameter.
- See Also:
-
bitrate
Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000.- Returns:
- Average bitrate in bits/second. Required when the rate control mode is VBR or CBR. Not used for QVBR. In an MS Smooth output group, each output must have a unique value when its bitrate is rounded down to the nearest multiple of 1000.
-
bufFillPct
Percentage of the buffer that should initially be filled (HRD buffer model).- Returns:
- Percentage of the buffer that should initially be filled (HRD buffer model).
-
bufSize
Size of buffer (HRD buffer model) in bits.- Returns:
- Size of buffer (HRD buffer model) in bits.
-
colorMetadata
Includes colorspace metadata in the output.If the service returns an enum value that is not available in the current SDK version,
colorMetadata
will returnH264ColorMetadata.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromcolorMetadataAsString()
.- Returns:
- Includes colorspace metadata in the output.
- See Also:
-
colorMetadataAsString
Includes colorspace metadata in the output.If the service returns an enum value that is not available in the current SDK version,
colorMetadata
will returnH264ColorMetadata.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromcolorMetadataAsString()
.- Returns:
- Includes colorspace metadata in the output.
- See Also:
-
colorSpaceSettings
Color Space settings- Returns:
- Color Space settings
-
entropyEncoding
Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.If the service returns an enum value that is not available in the current SDK version,
entropyEncoding
will returnH264EntropyEncoding.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromentropyEncodingAsString()
.- Returns:
- Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
- See Also:
-
entropyEncodingAsString
Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.If the service returns an enum value that is not available in the current SDK version,
entropyEncoding
will returnH264EntropyEncoding.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromentropyEncodingAsString()
.- Returns:
- Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
- See Also:
-
filterSettings
Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower.- Returns:
- Optional. Both filters reduce bandwidth by removing imperceptible details. You can enable one of the filters. We recommend that you try both filters and observe the results to decide which one to use. The Temporal Filter reduces bandwidth by removing imperceptible details in the content. It combines perceptual filtering and motion compensated temporal filtering (MCTF). It operates independently of the compression level. The Bandwidth Reduction filter is a perceptual filter located within the encoding loop. It adapts to the current compression level to filter imperceptible signals. This filter works only when the resolution is 1080p or lower.
-
fixedAfd
Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.If the service returns an enum value that is not available in the current SDK version,
fixedAfd
will returnFixedAfd.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromfixedAfdAsString()
.- Returns:
- Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.
- See Also:
-
fixedAfdAsString
Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.If the service returns an enum value that is not available in the current SDK version,
fixedAfd
will returnFixedAfd.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromfixedAfdAsString()
.- Returns:
- Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.
- See Also:
-
flickerAq
Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if flicker AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply flicker AQ using the specified strength. Disabled: MediaLive won't apply flicker AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply flicker AQ.If the service returns an enum value that is not available in the current SDK version,
flickerAq
will returnH264FlickerAq.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromflickerAqAsString()
.- Returns:
- Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if flicker AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply flicker AQ using the specified strength. Disabled: MediaLive won't apply flicker AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply flicker AQ.
- See Also:
-
flickerAqAsString
Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if flicker AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply flicker AQ using the specified strength. Disabled: MediaLive won't apply flicker AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply flicker AQ.If the service returns an enum value that is not available in the current SDK version,
flickerAq
will returnH264FlickerAq.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromflickerAqAsString()
.- Returns:
- Flicker AQ makes adjustments within each frame to reduce flicker or 'pop' on I-frames. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if flicker AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply flicker AQ using the specified strength. Disabled: MediaLive won't apply flicker AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply flicker AQ.
- See Also:
-
forceFieldPictures
This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content.If the service returns an enum value that is not available in the current SDK version,
forceFieldPictures
will returnH264ForceFieldPictures.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromforceFieldPicturesAsString()
.- Returns:
- This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content.
- See Also:
-
forceFieldPicturesAsString
This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content.If the service returns an enum value that is not available in the current SDK version,
forceFieldPictures
will returnH264ForceFieldPictures.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromforceFieldPicturesAsString()
.- Returns:
- This setting applies only when scan type is "interlaced." It controls whether coding is performed on a field basis or on a frame basis. (When the video is progressive, the coding is always performed on a frame basis.) enabled: Force MediaLive to code on a field basis, so that odd and even sets of fields are coded separately. disabled: Code the two sets of fields separately (on a field basis) or together (on a frame basis using PAFF), depending on what is most appropriate for the content.
- See Also:
-
framerateControl
This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input.If the service returns an enum value that is not available in the current SDK version,
framerateControl
will returnH264FramerateControl.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromframerateControlAsString()
.- Returns:
- This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input.
- See Also:
-
framerateControlAsString
This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input.If the service returns an enum value that is not available in the current SDK version,
framerateControl
will returnH264FramerateControl.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromframerateControlAsString()
.- Returns:
- This field indicates how the output video frame rate is specified. If "specified" is selected then the output video frame rate is determined by framerateNumerator and framerateDenominator, else if "initializeFromSource" is selected then the output video frame rate will be set equal to the input video frame rate of the first input.
- See Also:
-
framerateDenominator
Framerate denominator.- Returns:
- Framerate denominator.
-
framerateNumerator
Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.- Returns:
- Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.
-
gopBReference
Documentation update neededIf the service returns an enum value that is not available in the current SDK version,
gopBReference
will returnH264GopBReference.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromgopBReferenceAsString()
.- Returns:
- Documentation update needed
- See Also:
-
gopBReferenceAsString
Documentation update neededIf the service returns an enum value that is not available in the current SDK version,
gopBReference
will returnH264GopBReference.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromgopBReferenceAsString()
.- Returns:
- Documentation update needed
- See Also:
-
gopClosedCadence
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.- Returns:
- 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.
-
gopNumBFrames
Number of B-frames between reference frames.- Returns:
- Number of B-frames between reference frames.
-
gopSize
GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer.- Returns:
- GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits. If gopSizeUnits is frames, gopSize must be an integer and must be greater than or equal to 1. If gopSizeUnits is seconds, gopSize must be greater than 0, but need not be an integer.
-
gopSizeUnits
Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time.If the service returns an enum value that is not available in the current SDK version,
gopSizeUnits
will returnH264GopSizeUnits.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromgopSizeUnitsAsString()
.- Returns:
- Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time.
- See Also:
-
gopSizeUnitsAsString
Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time.If the service returns an enum value that is not available in the current SDK version,
gopSizeUnits
will returnH264GopSizeUnits.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromgopSizeUnitsAsString()
.- Returns:
- Indicates if the gopSize is specified in frames or seconds. If seconds the system will convert the gopSize into a frame count at run time.
- See Also:
-
level
H.264 Level.If the service returns an enum value that is not available in the current SDK version,
level
will returnH264Level.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromlevelAsString()
.- Returns:
- H.264 Level.
- See Also:
-
levelAsString
H.264 Level.If the service returns an enum value that is not available in the current SDK version,
level
will returnH264Level.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromlevelAsString()
.- Returns:
- H.264 Level.
- See Also:
-
lookAheadRateControl
Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.If the service returns an enum value that is not available in the current SDK version,
lookAheadRateControl
will returnH264LookAheadRateControl.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromlookAheadRateControlAsString()
.- Returns:
- Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.
- See Also:
-
lookAheadRateControlAsString
Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.If the service returns an enum value that is not available in the current SDK version,
lookAheadRateControl
will returnH264LookAheadRateControl.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromlookAheadRateControlAsString()
.- Returns:
- Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.
- See Also:
-
maxBitrate
For QVBR: See the tooltip for Quality level For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.- Returns:
- For QVBR: See the tooltip for Quality level For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.
-
minIInterval
Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. 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. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1- Returns:
- Only meaningful if sceneChangeDetect is set to enabled. Defaults to 5 if multiplex rate control is used. 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. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1
-
numRefFrames
Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.- Returns:
- Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.
-
parControl
This field indicates how the output pixel aspect ratio is specified. If "specified" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input.If the service returns an enum value that is not available in the current SDK version,
parControl
will returnH264ParControl.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromparControlAsString()
.- Returns:
- This field indicates how the output pixel aspect ratio is specified. If "specified" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input.
- See Also:
-
parControlAsString
This field indicates how the output pixel aspect ratio is specified. If "specified" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input.If the service returns an enum value that is not available in the current SDK version,
parControl
will returnH264ParControl.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromparControlAsString()
.- Returns:
- This field indicates how the output pixel aspect ratio is specified. If "specified" is selected then the output video pixel aspect ratio is determined by parNumerator and parDenominator, else if "initializeFromSource" is selected then the output pixsel aspect ratio will be set equal to the input video pixel aspect ratio of the first input.
- See Also:
-
parDenominator
Pixel Aspect Ratio denominator.- Returns:
- Pixel Aspect Ratio denominator.
-
parNumerator
Pixel Aspect Ratio numerator.- Returns:
- Pixel Aspect Ratio numerator.
-
profile
H.264 Profile.If the service returns an enum value that is not available in the current SDK version,
profile
will returnH264Profile.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromprofileAsString()
.- Returns:
- H.264 Profile.
- See Also:
-
profileAsString
H.264 Profile.If the service returns an enum value that is not available in the current SDK version,
profile
will returnH264Profile.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromprofileAsString()
.- Returns:
- H.264 Profile.
- See Also:
-
qualityLevel
Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). - ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY. - STANDARD_QUALITY: Valid for any Rate control mode.If the service returns an enum value that is not available in the current SDK version,
qualityLevel
will returnH264QualityLevel.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromqualityLevelAsString()
.- Returns:
- Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). - ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY. - STANDARD_QUALITY: Valid for any Rate control mode.
- See Also:
-
qualityLevelAsString
Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). - ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY. - STANDARD_QUALITY: Valid for any Rate control mode.If the service returns an enum value that is not available in the current SDK version,
qualityLevel
will returnH264QualityLevel.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromqualityLevelAsString()
.- Returns:
- Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel). - ENHANCED_QUALITY: Produces a slightly better video quality without an increase in the bitrate. Has an effect only when the Rate control mode is QVBR or CBR. If this channel is in a MediaLive multiplex, the value must be ENHANCED_QUALITY. - STANDARD_QUALITY: Valid for any Rate control mode.
- See Also:
-
qvbrQualityLevel
Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. You can set a target quality or you can let MediaLive determine the best quality. To set a target quality, enter values in the QVBR quality level field and the Max bitrate field. Enter values that suit your most important viewing devices. Recommended values are: - Primary screen: Quality level: 8 to 10. Max bitrate: 4M - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M To let MediaLive decide, leave the QVBR quality level field empty, and in Max bitrate enter the maximum rate you want in the video. For more information, see the section called "Video - rate control mode" in the MediaLive user guide- Returns:
- Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. You can set a target quality or you can let MediaLive determine the best quality. To set a target quality, enter values in the QVBR quality level field and the Max bitrate field. Enter values that suit your most important viewing devices. Recommended values are: - Primary screen: Quality level: 8 to 10. Max bitrate: 4M - PC or tablet: Quality level: 7. Max bitrate: 1.5M to 3M - Smartphone: Quality level: 6. Max bitrate: 1M to 1.5M To let MediaLive decide, leave the QVBR quality level field empty, and in Max bitrate enter the maximum rate you want in the video. For more information, see the section called "Video - rate control mode" in the MediaLive user guide
-
rateControlMode
Rate control mode. QVBR: Quality will match the specified quality level except when it is constrained by the maximum bitrate. Recommended if you or your viewers pay for bandwidth. VBR: Quality and bitrate vary, depending on the video complexity. Recommended instead of QVBR if you want to maintain a specific average bitrate over the duration of the channel. CBR: Quality varies, depending on the video complexity. Recommended only if you distribute your assets to devices that cannot handle variable bitrates. Multiplex: This rate control mode is only supported (and is required) when the video is being delivered to a MediaLive Multiplex in which case the rate control configuration is controlled by the properties within the Multiplex Program.If the service returns an enum value that is not available in the current SDK version,
rateControlMode
will returnH264RateControlMode.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromrateControlModeAsString()
.- Returns:
- Rate control mode. QVBR: Quality will match the specified quality level except when it is constrained by the maximum bitrate. Recommended if you or your viewers pay for bandwidth. VBR: Quality and bitrate vary, depending on the video complexity. Recommended instead of QVBR if you want to maintain a specific average bitrate over the duration of the channel. CBR: Quality varies, depending on the video complexity. Recommended only if you distribute your assets to devices that cannot handle variable bitrates. Multiplex: This rate control mode is only supported (and is required) when the video is being delivered to a MediaLive Multiplex in which case the rate control configuration is controlled by the properties within the Multiplex Program.
- See Also:
-
rateControlModeAsString
Rate control mode. QVBR: Quality will match the specified quality level except when it is constrained by the maximum bitrate. Recommended if you or your viewers pay for bandwidth. VBR: Quality and bitrate vary, depending on the video complexity. Recommended instead of QVBR if you want to maintain a specific average bitrate over the duration of the channel. CBR: Quality varies, depending on the video complexity. Recommended only if you distribute your assets to devices that cannot handle variable bitrates. Multiplex: This rate control mode is only supported (and is required) when the video is being delivered to a MediaLive Multiplex in which case the rate control configuration is controlled by the properties within the Multiplex Program.If the service returns an enum value that is not available in the current SDK version,
rateControlMode
will returnH264RateControlMode.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromrateControlModeAsString()
.- Returns:
- Rate control mode. QVBR: Quality will match the specified quality level except when it is constrained by the maximum bitrate. Recommended if you or your viewers pay for bandwidth. VBR: Quality and bitrate vary, depending on the video complexity. Recommended instead of QVBR if you want to maintain a specific average bitrate over the duration of the channel. CBR: Quality varies, depending on the video complexity. Recommended only if you distribute your assets to devices that cannot handle variable bitrates. Multiplex: This rate control mode is only supported (and is required) when the video is being delivered to a MediaLive Multiplex in which case the rate control configuration is controlled by the properties within the Multiplex Program.
- See Also:
-
scanType
Sets the scan type of the output to progressive or top-field-first interlaced.If the service returns an enum value that is not available in the current SDK version,
scanType
will returnH264ScanType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromscanTypeAsString()
.- Returns:
- Sets the scan type of the output to progressive or top-field-first interlaced.
- See Also:
-
scanTypeAsString
Sets the scan type of the output to progressive or top-field-first interlaced.If the service returns an enum value that is not available in the current SDK version,
scanType
will returnH264ScanType.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromscanTypeAsString()
.- Returns:
- Sets the scan type of the output to progressive or top-field-first interlaced.
- See Also:
-
sceneChangeDetect
Scene change detection. - On: inserts I-frames when scene change is detected. - Off: does not force an I-frame when scene change is detected.If the service returns an enum value that is not available in the current SDK version,
sceneChangeDetect
will returnH264SceneChangeDetect.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsceneChangeDetectAsString()
.- Returns:
- Scene change detection. - On: inserts I-frames when scene change is detected. - Off: does not force an I-frame when scene change is detected.
- See Also:
-
sceneChangeDetectAsString
Scene change detection. - On: inserts I-frames when scene change is detected. - Off: does not force an I-frame when scene change is detected.If the service returns an enum value that is not available in the current SDK version,
sceneChangeDetect
will returnH264SceneChangeDetect.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsceneChangeDetectAsString()
.- Returns:
- Scene change detection. - On: inserts I-frames when scene change is detected. - Off: does not force an I-frame when scene change is detected.
- See Also:
-
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. This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution.- Returns:
- 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. This field is optional; when no value is specified the encoder will choose the number of slices based on encode resolution.
-
softness
Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. If not set to zero, must be greater than 15.- Returns:
- Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. If not set to zero, must be greater than 15.
-
spatialAq
Spatial AQ makes adjustments within each frame based on spatial variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if spatial AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply spatial AQ using the specified strength. Disabled: MediaLive won't apply spatial AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply spatial AQ.If the service returns an enum value that is not available in the current SDK version,
spatialAq
will returnH264SpatialAq.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromspatialAqAsString()
.- Returns:
- Spatial AQ makes adjustments within each frame based on spatial variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if spatial AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply spatial AQ using the specified strength. Disabled: MediaLive won't apply spatial AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply spatial AQ.
- See Also:
-
spatialAqAsString
Spatial AQ makes adjustments within each frame based on spatial variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if spatial AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply spatial AQ using the specified strength. Disabled: MediaLive won't apply spatial AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply spatial AQ.If the service returns an enum value that is not available in the current SDK version,
spatialAq
will returnH264SpatialAq.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromspatialAqAsString()
.- Returns:
- Spatial AQ makes adjustments within each frame based on spatial variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if spatial AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply spatial AQ using the specified strength. Disabled: MediaLive won't apply spatial AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply spatial AQ.
- See Also:
-
subgopLength
If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality.If the service returns an enum value that is not available in the current SDK version,
subgopLength
will returnH264SubGopLength.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsubgopLengthAsString()
.- Returns:
- If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality.
- See Also:
-
subgopLengthAsString
If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality.If the service returns an enum value that is not available in the current SDK version,
subgopLength
will returnH264SubGopLength.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsubgopLengthAsString()
.- Returns:
- If set to fixed, use gopNumBFrames B-frames per sub-GOP. If set to dynamic, optimize the number of B-frames used for each sub-GOP to improve visual quality.
- See Also:
-
syntax
Produces a bitstream compliant with SMPTE RP-2027.If the service returns an enum value that is not available in the current SDK version,
syntax
will returnH264Syntax.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsyntaxAsString()
.- Returns:
- Produces a bitstream compliant with SMPTE RP-2027.
- See Also:
-
syntaxAsString
Produces a bitstream compliant with SMPTE RP-2027.If the service returns an enum value that is not available in the current SDK version,
syntax
will returnH264Syntax.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromsyntaxAsString()
.- Returns:
- Produces a bitstream compliant with SMPTE RP-2027.
- See Also:
-
temporalAq
Temporal makes adjustments within each frame based on temporal variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if temporal AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply temporal AQ using the specified strength. Disabled: MediaLive won't apply temporal AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply temporal AQ.If the service returns an enum value that is not available in the current SDK version,
temporalAq
will returnH264TemporalAq.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromtemporalAqAsString()
.- Returns:
- Temporal makes adjustments within each frame based on temporal variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if temporal AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply temporal AQ using the specified strength. Disabled: MediaLive won't apply temporal AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply temporal AQ.
- See Also:
-
temporalAqAsString
Temporal makes adjustments within each frame based on temporal variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if temporal AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply temporal AQ using the specified strength. Disabled: MediaLive won't apply temporal AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply temporal AQ.If the service returns an enum value that is not available in the current SDK version,
temporalAq
will returnH264TemporalAq.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromtemporalAqAsString()
.- Returns:
- Temporal makes adjustments within each frame based on temporal variation of content complexity. The value to enter in this field depends on the value in the Adaptive quantization field: If you have set the Adaptive quantization field to Auto, MediaLive ignores any value in this field. MediaLive will determine if temporal AQ is appropriate and will apply the appropriate strength. If you have set the Adaptive quantization field to a strength, you can set this field to Enabled or Disabled. Enabled: MediaLive will apply temporal AQ using the specified strength. Disabled: MediaLive won't apply temporal AQ. If you have set the Adaptive quantization to Disabled, MediaLive ignores any value in this field and doesn't apply temporal AQ.
- See Also:
-
timecodeInsertion
Determines how timecodes should be inserted into the video elementary stream. - 'disabled': Do not include timecodes - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode ConfigIf the service returns an enum value that is not available in the current SDK version,
timecodeInsertion
will returnH264TimecodeInsertionBehavior.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromtimecodeInsertionAsString()
.- Returns:
- Determines how timecodes should be inserted into the video elementary stream. - 'disabled': Do not include timecodes - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config
- See Also:
-
timecodeInsertionAsString
Determines how timecodes should be inserted into the video elementary stream. - 'disabled': Do not include timecodes - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode ConfigIf the service returns an enum value that is not available in the current SDK version,
timecodeInsertion
will returnH264TimecodeInsertionBehavior.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromtimecodeInsertionAsString()
.- Returns:
- Determines how timecodes should be inserted into the video elementary stream. - 'disabled': Do not include timecodes - 'picTimingSei': Pass through picture timing SEI messages from the source specified in Timecode Config
- See Also:
-
timecodeBurninSettings
Timecode burn-in settings- Returns:
- Timecode burn-in settings
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<H264Settings.Builder,
H264Settings> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
-
sdkFields
-