amazonka-medialive-2.0: Amazon Elemental MediaLive SDK.
Copyright(c) 2013-2023 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellSafe-Inferred
LanguageHaskell2010

Amazonka.MediaLive.Types.H264Settings

Description

 
Synopsis

Documentation

data H264Settings Source #

H264 Settings

See: newH264Settings smart constructor.

Constructors

H264Settings' 

Fields

  • adaptiveQuantization :: Maybe 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. 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.

  • afdSignaling :: Maybe 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.

  • bitrate :: Maybe Natural

    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 :: Maybe Natural

    Percentage of the buffer that should initially be filled (HRD buffer model).

  • bufSize :: Maybe Natural

    Size of buffer (HRD buffer model) in bits.

  • colorMetadata :: Maybe H264ColorMetadata

    Includes colorspace metadata in the output.

  • colorSpaceSettings :: Maybe H264ColorSpaceSettings

    Color Space settings

  • entropyEncoding :: Maybe H264EntropyEncoding

    Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.

  • filterSettings :: Maybe H264FilterSettings

    Optional filters that you can apply to an encode.

  • fixedAfd :: Maybe FixedAfd

    Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.

  • flickerAq :: Maybe H264FlickerAq

    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.

  • forceFieldPictures :: Maybe 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. (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.

  • framerateControl :: Maybe H264FramerateControl

    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.

  • framerateDenominator :: Maybe Natural

    Framerate denominator.

  • framerateNumerator :: Maybe Natural

    Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.

  • gopBReference :: Maybe H264GopBReference

    Documentation update needed

  • gopClosedCadence :: Maybe Natural

    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 :: Maybe Natural

    Number of B-frames between reference frames.

  • gopSize :: Maybe Double

    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 :: Maybe H264GopSizeUnits

    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.

  • level :: Maybe H264Level

    H.264 Level.

  • lookAheadRateControl :: Maybe H264LookAheadRateControl

    Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.

  • maxBitrate :: Maybe Natural

    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 :: Maybe Natural

    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 :: Maybe Natural

    Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.

  • parControl :: Maybe H264ParControl

    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.

  • parDenominator :: Maybe Natural

    Pixel Aspect Ratio denominator.

  • parNumerator :: Maybe Natural

    Pixel Aspect Ratio numerator.

  • profile :: Maybe H264Profile

    H.264 Profile.

  • qualityLevel :: Maybe H264QualityLevel

    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.

  • qvbrQualityLevel :: Maybe Natural

    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 :: Maybe H264RateControlMode

    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.

  • scanType :: Maybe H264ScanType

    Sets the scan type of the output to progressive or top-field-first interlaced.

  • sceneChangeDetect :: Maybe H264SceneChangeDetect

    Scene change detection. - On: inserts I-frames when scene change is detected. - Off: does not force an I-frame when scene change is detected.

  • slices :: Maybe Natural

    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 :: Maybe Natural

    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 :: Maybe H264SpatialAq

    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.

  • subgopLength :: Maybe H264SubGopLength

    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.

  • syntax :: Maybe H264Syntax

    Produces a bitstream compliant with SMPTE RP-2027.

  • temporalAq :: Maybe H264TemporalAq

    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.

  • timecodeBurninSettings :: Maybe TimecodeBurninSettings

    Timecode burn-in settings

  • timecodeInsertion :: Maybe H264TimecodeInsertionBehavior

    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

Instances

Instances details
FromJSON H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

ToJSON H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

Generic H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

Associated Types

type Rep H264Settings :: Type -> Type #

Read H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

Show H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

NFData H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

Methods

rnf :: H264Settings -> () #

Eq H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

Hashable H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

type Rep H264Settings Source # 
Instance details

Defined in Amazonka.MediaLive.Types.H264Settings

type Rep H264Settings = D1 ('MetaData "H264Settings" "Amazonka.MediaLive.Types.H264Settings" "amazonka-medialive-2.0-FK9HUAz0OmeIH2i6eRdod0" 'False) (C1 ('MetaCons "H264Settings'" 'PrefixI 'True) (((((S1 ('MetaSel ('Just "adaptiveQuantization") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264AdaptiveQuantization)) :*: S1 ('MetaSel ('Just "afdSignaling") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AfdSignaling))) :*: (S1 ('MetaSel ('Just "bitrate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: (S1 ('MetaSel ('Just "bufFillPct") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "bufSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural))))) :*: ((S1 ('MetaSel ('Just "colorMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264ColorMetadata)) :*: S1 ('MetaSel ('Just "colorSpaceSettings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264ColorSpaceSettings))) :*: (S1 ('MetaSel ('Just "entropyEncoding") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264EntropyEncoding)) :*: (S1 ('MetaSel ('Just "filterSettings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264FilterSettings)) :*: S1 ('MetaSel ('Just "fixedAfd") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FixedAfd)))))) :*: (((S1 ('MetaSel ('Just "flickerAq") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264FlickerAq)) :*: S1 ('MetaSel ('Just "forceFieldPictures") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264ForceFieldPictures))) :*: (S1 ('MetaSel ('Just "framerateControl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264FramerateControl)) :*: (S1 ('MetaSel ('Just "framerateDenominator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "framerateNumerator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural))))) :*: ((S1 ('MetaSel ('Just "gopBReference") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264GopBReference)) :*: (S1 ('MetaSel ('Just "gopClosedCadence") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "gopNumBFrames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)))) :*: (S1 ('MetaSel ('Just "gopSize") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Double)) :*: (S1 ('MetaSel ('Just "gopSizeUnits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264GopSizeUnits)) :*: S1 ('MetaSel ('Just "level") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264Level))))))) :*: ((((S1 ('MetaSel ('Just "lookAheadRateControl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264LookAheadRateControl)) :*: S1 ('MetaSel ('Just "maxBitrate") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural))) :*: (S1 ('MetaSel ('Just "minIInterval") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: (S1 ('MetaSel ('Just "numRefFrames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "parControl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264ParControl))))) :*: ((S1 ('MetaSel ('Just "parDenominator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "parNumerator") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural))) :*: (S1 ('MetaSel ('Just "profile") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264Profile)) :*: (S1 ('MetaSel ('Just "qualityLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264QualityLevel)) :*: S1 ('MetaSel ('Just "qvbrQualityLevel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)))))) :*: (((S1 ('MetaSel ('Just "rateControlMode") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264RateControlMode)) :*: S1 ('MetaSel ('Just "scanType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264ScanType))) :*: (S1 ('MetaSel ('Just "sceneChangeDetect") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264SceneChangeDetect)) :*: (S1 ('MetaSel ('Just "slices") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural)) :*: S1 ('MetaSel ('Just "softness") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Natural))))) :*: ((S1 ('MetaSel ('Just "spatialAq") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264SpatialAq)) :*: (S1 ('MetaSel ('Just "subgopLength") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264SubGopLength)) :*: S1 ('MetaSel ('Just "syntax") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264Syntax)))) :*: (S1 ('MetaSel ('Just "temporalAq") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264TemporalAq)) :*: (S1 ('MetaSel ('Just "timecodeBurninSettings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe TimecodeBurninSettings)) :*: S1 ('MetaSel ('Just "timecodeInsertion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe H264TimecodeInsertionBehavior)))))))))

newH264Settings :: H264Settings Source #

Create a value of H264Settings with all optional fields omitted.

Use generic-lens or optics to modify other optional fields.

The following record fields are available, with the corresponding lenses provided for backwards compatibility:

$sel:adaptiveQuantization:H264Settings', h264Settings_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.

$sel:afdSignaling:H264Settings', h264Settings_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.

$sel:bitrate:H264Settings', h264Settings_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.

$sel:bufFillPct:H264Settings', h264Settings_bufFillPct - Percentage of the buffer that should initially be filled (HRD buffer model).

$sel:bufSize:H264Settings', h264Settings_bufSize - Size of buffer (HRD buffer model) in bits.

$sel:colorMetadata:H264Settings', h264Settings_colorMetadata - Includes colorspace metadata in the output.

$sel:colorSpaceSettings:H264Settings', h264Settings_colorSpaceSettings - Color Space settings

$sel:entropyEncoding:H264Settings', h264Settings_entropyEncoding - Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.

$sel:filterSettings:H264Settings', h264Settings_filterSettings - Optional filters that you can apply to an encode.

$sel:fixedAfd:H264Settings', h264Settings_fixedAfd - Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.

$sel:flickerAq:H264Settings', h264Settings_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.

$sel:forceFieldPictures:H264Settings', h264Settings_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.

$sel:framerateControl:H264Settings', h264Settings_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.

$sel:framerateDenominator:H264Settings', h264Settings_framerateDenominator - Framerate denominator.

$sel:framerateNumerator:H264Settings', h264Settings_framerateNumerator - Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.

$sel:gopBReference:H264Settings', h264Settings_gopBReference - Documentation update needed

$sel:gopClosedCadence:H264Settings', h264Settings_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.

$sel:gopNumBFrames:H264Settings', h264Settings_gopNumBFrames - Number of B-frames between reference frames.

$sel:gopSize:H264Settings', h264Settings_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.

$sel:gopSizeUnits:H264Settings', h264Settings_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.

$sel:level:H264Settings', h264Settings_level - H.264 Level.

$sel:lookAheadRateControl:H264Settings', h264Settings_lookAheadRateControl - Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.

$sel:maxBitrate:H264Settings', h264Settings_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.

$sel:minIInterval:H264Settings', h264Settings_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

$sel:numRefFrames:H264Settings', h264Settings_numRefFrames - Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.

$sel:parControl:H264Settings', h264Settings_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.

$sel:parDenominator:H264Settings', h264Settings_parDenominator - Pixel Aspect Ratio denominator.

$sel:parNumerator:H264Settings', h264Settings_parNumerator - Pixel Aspect Ratio numerator.

$sel:profile:H264Settings', h264Settings_profile - H.264 Profile.

$sel:qualityLevel:H264Settings', h264Settings_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.

$sel:qvbrQualityLevel:H264Settings', h264Settings_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

$sel:rateControlMode:H264Settings', h264Settings_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.

$sel:scanType:H264Settings', h264Settings_scanType - Sets the scan type of the output to progressive or top-field-first interlaced.

$sel:sceneChangeDetect:H264Settings', h264Settings_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.

$sel:slices:H264Settings', h264Settings_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.

$sel:softness:H264Settings', h264Settings_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.

$sel:spatialAq:H264Settings', h264Settings_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.

$sel:subgopLength:H264Settings', h264Settings_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.

$sel:syntax:H264Settings', h264Settings_syntax - Produces a bitstream compliant with SMPTE RP-2027.

$sel:temporalAq:H264Settings', h264Settings_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.

$sel:timecodeBurninSettings:H264Settings', h264Settings_timecodeBurninSettings - Timecode burn-in settings

$sel:timecodeInsertion:H264Settings', h264Settings_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

h264Settings_adaptiveQuantization :: Lens' H264Settings (Maybe H264AdaptiveQuantization) Source #

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.

h264Settings_afdSignaling :: Lens' H264Settings (Maybe AfdSignaling) Source #

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.

h264Settings_bitrate :: Lens' H264Settings (Maybe Natural) Source #

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.

h264Settings_bufFillPct :: Lens' H264Settings (Maybe Natural) Source #

Percentage of the buffer that should initially be filled (HRD buffer model).

h264Settings_bufSize :: Lens' H264Settings (Maybe Natural) Source #

Size of buffer (HRD buffer model) in bits.

h264Settings_colorMetadata :: Lens' H264Settings (Maybe H264ColorMetadata) Source #

Includes colorspace metadata in the output.

h264Settings_entropyEncoding :: Lens' H264Settings (Maybe H264EntropyEncoding) Source #

Entropy encoding mode. Use cabac (must be in Main or High profile) or cavlc.

h264Settings_filterSettings :: Lens' H264Settings (Maybe H264FilterSettings) Source #

Optional filters that you can apply to an encode.

h264Settings_fixedAfd :: Lens' H264Settings (Maybe FixedAfd) Source #

Four bit AFD value to write on all frames of video in the output stream. Only valid when afdSignaling is set to 'Fixed'.

h264Settings_flickerAq :: Lens' H264Settings (Maybe H264FlickerAq) Source #

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.

h264Settings_forceFieldPictures :: Lens' H264Settings (Maybe H264ForceFieldPictures) Source #

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.

h264Settings_framerateControl :: Lens' H264Settings (Maybe H264FramerateControl) Source #

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.

h264Settings_framerateNumerator :: Lens' H264Settings (Maybe Natural) Source #

Framerate numerator - framerate is a fraction, e.g. 24000 / 1001 = 23.976 fps.

h264Settings_gopClosedCadence :: Lens' H264Settings (Maybe Natural) Source #

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.

h264Settings_gopNumBFrames :: Lens' H264Settings (Maybe Natural) Source #

Number of B-frames between reference frames.

h264Settings_gopSize :: Lens' H264Settings (Maybe Double) Source #

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.

h264Settings_gopSizeUnits :: Lens' H264Settings (Maybe H264GopSizeUnits) Source #

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.

h264Settings_lookAheadRateControl :: Lens' H264Settings (Maybe H264LookAheadRateControl) Source #

Amount of lookahead. A value of low can decrease latency and memory usage, while high can produce better quality for certain content.

h264Settings_maxBitrate :: Lens' H264Settings (Maybe Natural) Source #

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.

h264Settings_minIInterval :: Lens' H264Settings (Maybe Natural) Source #

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

h264Settings_numRefFrames :: Lens' H264Settings (Maybe Natural) Source #

Number of reference frames to use. The encoder may use more than requested if using B-frames and/or interlaced encoding.

h264Settings_parControl :: Lens' H264Settings (Maybe H264ParControl) Source #

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.

h264Settings_parDenominator :: Lens' H264Settings (Maybe Natural) Source #

Pixel Aspect Ratio denominator.

h264Settings_qualityLevel :: Lens' H264Settings (Maybe H264QualityLevel) Source #

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.

h264Settings_qvbrQualityLevel :: Lens' H264Settings (Maybe Natural) Source #

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

h264Settings_rateControlMode :: Lens' H264Settings (Maybe H264RateControlMode) Source #

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.

h264Settings_scanType :: Lens' H264Settings (Maybe H264ScanType) Source #

Sets the scan type of the output to progressive or top-field-first interlaced.

h264Settings_sceneChangeDetect :: Lens' H264Settings (Maybe H264SceneChangeDetect) Source #

Scene change detection. - On: inserts I-frames when scene change is detected. - Off: does not force an I-frame when scene change is detected.

h264Settings_slices :: Lens' H264Settings (Maybe Natural) Source #

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.

h264Settings_softness :: Lens' H264Settings (Maybe Natural) Source #

Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image. If not set to zero, must be greater than 15.

h264Settings_spatialAq :: Lens' H264Settings (Maybe H264SpatialAq) Source #

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.

h264Settings_subgopLength :: Lens' H264Settings (Maybe H264SubGopLength) Source #

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.

h264Settings_syntax :: Lens' H264Settings (Maybe H264Syntax) Source #

Produces a bitstream compliant with SMPTE RP-2027.

h264Settings_temporalAq :: Lens' H264Settings (Maybe H264TemporalAq) Source #

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.

h264Settings_timecodeInsertion :: Lens' H264Settings (Maybe H264TimecodeInsertionBehavior) Source #

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