Interface H264Settings.Builder

All Superinterfaces:
Buildable, CopyableBuilder<H264Settings.Builder,H264Settings>, SdkBuilder<H264Settings.Builder,H264Settings>, SdkPojo
Enclosing class:
H264Settings

public static interface H264Settings.Builder extends SdkPojo, CopyableBuilder<H264Settings.Builder,H264Settings>
  • Method Details

    • adaptiveQuantization

      H264Settings.Builder adaptiveQuantization(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • adaptiveQuantization

      H264Settings.Builder adaptiveQuantization(H264AdaptiveQuantization 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • afdSignaling

      H264Settings.Builder afdSignaling(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • afdSignaling

      H264Settings.Builder afdSignaling(AfdSignaling 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • bitrate

      H264Settings.Builder bitrate(Integer 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.
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • bufFillPct

      H264Settings.Builder bufFillPct(Integer bufFillPct)
      Percentage of the buffer that should initially be filled (HRD buffer model).
      Parameters:
      bufFillPct - Percentage of the buffer that should initially be filled (HRD buffer model).
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • bufSize

      H264Settings.Builder bufSize(Integer bufSize)
      Size of buffer (HRD buffer model) in bits.
      Parameters:
      bufSize - Size of buffer (HRD buffer model) in bits.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • colorMetadata

      H264Settings.Builder colorMetadata(String colorMetadata)
      Includes colorspace metadata in the output.
      Parameters:
      colorMetadata - Includes colorspace metadata in the output.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • colorMetadata

      H264Settings.Builder colorMetadata(H264ColorMetadata colorMetadata)
      Includes colorspace metadata in the output.
      Parameters:
      colorMetadata - Includes colorspace metadata in the output.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • colorSpaceSettings

      H264Settings.Builder colorSpaceSettings(H264ColorSpaceSettings colorSpaceSettings)
      Color Space settings
      Parameters:
      colorSpaceSettings - Color Space settings
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • colorSpaceSettings

      default H264Settings.Builder colorSpaceSettings(Consumer<H264ColorSpaceSettings.Builder> colorSpaceSettings)
      Color Space settings This is a convenience method that creates an instance of the H264ColorSpaceSettings.Builder avoiding the need to create one manually via H264ColorSpaceSettings.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to colorSpaceSettings(H264ColorSpaceSettings).

      Parameters:
      colorSpaceSettings - a consumer that will call methods on H264ColorSpaceSettings.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • entropyEncoding

      H264Settings.Builder entropyEncoding(String entropyEncoding)
      Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
      Parameters:
      entropyEncoding - Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • entropyEncoding

      H264Settings.Builder entropyEncoding(H264EntropyEncoding entropyEncoding)
      Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
      Parameters:
      entropyEncoding - Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • filterSettings

      H264Settings.Builder filterSettings(H264FilterSettings filterSettings)
      Optional filters that you can apply to an encode.
      Parameters:
      filterSettings - Optional filters that you can apply to an encode.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • filterSettings

      default H264Settings.Builder filterSettings(Consumer<H264FilterSettings.Builder> filterSettings)
      Optional filters that you can apply to an encode. This is a convenience method that creates an instance of the H264FilterSettings.Builder avoiding the need to create one manually via H264FilterSettings.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to filterSettings(H264FilterSettings).

      Parameters:
      filterSettings - a consumer that will call methods on H264FilterSettings.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • fixedAfd

      H264Settings.Builder fixedAfd(String fixedAfd)
      Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.
      Parameters:
      fixedAfd - Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • fixedAfd

      H264Settings.Builder fixedAfd(FixedAfd fixedAfd)
      Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.
      Parameters:
      fixedAfd - Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • flickerAq

      H264Settings.Builder flickerAq(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • flickerAq

      H264Settings.Builder flickerAq(H264FlickerAq 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • forceFieldPictures

      H264Settings.Builder forceFieldPictures(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • forceFieldPictures

      H264Settings.Builder forceFieldPictures(H264ForceFieldPictures 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • framerateControl

      H264Settings.Builder framerateControl(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • framerateControl

      H264Settings.Builder framerateControl(H264FramerateControl 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • framerateDenominator

      H264Settings.Builder framerateDenominator(Integer framerateDenominator)
      Framerate denominator.
      Parameters:
      framerateDenominator - Framerate denominator.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • framerateNumerator

      H264Settings.Builder framerateNumerator(Integer framerateNumerator)
      Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.
      Parameters:
      framerateNumerator - Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • gopBReference

      H264Settings.Builder gopBReference(String gopBReference)
      Documentation update needed
      Parameters:
      gopBReference - Documentation update needed
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • gopBReference

      H264Settings.Builder gopBReference(H264GopBReference gopBReference)
      Documentation update needed
      Parameters:
      gopBReference - Documentation update needed
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • gopClosedCadence

      H264Settings.Builder gopClosedCadence(Integer 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.
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • gopNumBFrames

      H264Settings.Builder gopNumBFrames(Integer gopNumBFrames)
      Number of B-frames between reference frames.
      Parameters:
      gopNumBFrames - Number of B-frames between reference frames.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • gopSize

      H264Settings.Builder gopSize(Double 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.
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • gopSizeUnits

      H264Settings.Builder gopSizeUnits(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • gopSizeUnits

      H264Settings.Builder gopSizeUnits(H264GopSizeUnits 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • level

      H.264 Level.
      Parameters:
      level - H.264 Level.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • level

      H.264 Level.
      Parameters:
      level - H.264 Level.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • lookAheadRateControl

      H264Settings.Builder lookAheadRateControl(String lookAheadRateControl)
      Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.
      Parameters:
      lookAheadRateControl - Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • lookAheadRateControl

      H264Settings.Builder lookAheadRateControl(H264LookAheadRateControl lookAheadRateControl)
      Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.
      Parameters:
      lookAheadRateControl - Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • maxBitrate

      H264Settings.Builder maxBitrate(Integer 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.
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • minIInterval

      H264Settings.Builder minIInterval(Integer 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
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • numRefFrames

      H264Settings.Builder numRefFrames(Integer numRefFrames)
      Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.
      Parameters:
      numRefFrames - Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • parControl

      H264Settings.Builder parControl(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • parControl

      H264Settings.Builder parControl(H264ParControl 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • parDenominator

      H264Settings.Builder parDenominator(Integer parDenominator)
      Pixel Aspect Ratio denominator.
      Parameters:
      parDenominator - Pixel Aspect Ratio denominator.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • parNumerator

      H264Settings.Builder parNumerator(Integer parNumerator)
      Pixel Aspect Ratio numerator.
      Parameters:
      parNumerator - Pixel Aspect Ratio numerator.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • profile

      H264Settings.Builder profile(String profile)
      H.264 Profile.
      Parameters:
      profile - H.264 Profile.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • profile

      H.264 Profile.
      Parameters:
      profile - H.264 Profile.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • qualityLevel

      H264Settings.Builder qualityLevel(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • qualityLevel

      H264Settings.Builder qualityLevel(H264QualityLevel 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • qvbrQualityLevel

      H264Settings.Builder qvbrQualityLevel(Integer 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
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • rateControlMode

      H264Settings.Builder rateControlMode(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • rateControlMode

      H264Settings.Builder rateControlMode(H264RateControlMode 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • scanType

      H264Settings.Builder scanType(String scanType)
      Sets the scan type of the output to progressive or top-field-first interlaced.
      Parameters:
      scanType - Sets the scan type of the output to progressive or top-field-first interlaced.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • scanType

      H264Settings.Builder scanType(H264ScanType scanType)
      Sets the scan type of the output to progressive or top-field-first interlaced.
      Parameters:
      scanType - Sets the scan type of the output to progressive or top-field-first interlaced.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • sceneChangeDetect

      H264Settings.Builder sceneChangeDetect(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • sceneChangeDetect

      H264Settings.Builder sceneChangeDetect(H264SceneChangeDetect 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • slices

      H264Settings.Builder slices(Integer 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.
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • softness

      H264Settings.Builder softness(Integer 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.
      Parameters:
      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:
      Returns a reference to this object so that method calls can be chained together.
    • spatialAq

      H264Settings.Builder spatialAq(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • spatialAq

      H264Settings.Builder spatialAq(H264SpatialAq 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • subgopLength

      H264Settings.Builder subgopLength(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • subgopLength

      H264Settings.Builder subgopLength(H264SubGopLength 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • syntax

      H264Settings.Builder syntax(String syntax)
      Produces a bitstream compliant with SMPTE RP-2027.
      Parameters:
      syntax - Produces a bitstream compliant with SMPTE RP-2027.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • syntax

      Produces a bitstream compliant with SMPTE RP-2027.
      Parameters:
      syntax - Produces a bitstream compliant with SMPTE RP-2027.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • temporalAq

      H264Settings.Builder temporalAq(String 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • temporalAq

      H264Settings.Builder temporalAq(H264TemporalAq 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.
      Parameters:
      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.
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • timecodeInsertion

      H264Settings.Builder timecodeInsertion(String 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 Config
      Parameters:
      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 Config
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • timecodeInsertion

      H264Settings.Builder timecodeInsertion(H264TimecodeInsertionBehavior 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 Config
      Parameters:
      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 Config
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also:
    • timecodeBurninSettings

      H264Settings.Builder timecodeBurninSettings(TimecodeBurninSettings timecodeBurninSettings)
      Timecode burn-in settings
      Parameters:
      timecodeBurninSettings - Timecode burn-in settings
      Returns:
      Returns a reference to this object so that method calls can be chained together.
    • timecodeBurninSettings

      default H264Settings.Builder timecodeBurninSettings(Consumer<TimecodeBurninSettings.Builder> timecodeBurninSettings)
      Timecode burn-in settings This is a convenience method that creates an instance of the TimecodeBurninSettings.Builder avoiding the need to create one manually via TimecodeBurninSettings.builder().

      When the Consumer completes, SdkBuilder.build() is called immediately and its result is passed to timecodeBurninSettings(TimecodeBurninSettings).

      Parameters:
      timecodeBurninSettings - a consumer that will call methods on TimecodeBurninSettings.Builder
      Returns:
      Returns a reference to this object so that method calls can be chained together.
      See Also: