You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::MediaLive::Types::H264Settings

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing H264Settings as input to an Aws::Client method, you can use a vanilla Hash:

{
  adaptive_quantization: "HIGH", # accepts HIGH, HIGHER, LOW, MAX, MEDIUM, OFF
  afd_signaling: "AUTO", # accepts AUTO, FIXED, NONE
  bitrate: 1,
  buf_fill_pct: 1,
  buf_size: 1,
  color_metadata: "IGNORE", # accepts IGNORE, INSERT
  color_space_settings: {
    color_space_passthrough_settings: {
    },
    rec_601_settings: {
    },
    rec_709_settings: {
    },
  },
  entropy_encoding: "CABAC", # accepts CABAC, CAVLC
  filter_settings: {
    temporal_filter_settings: {
      post_filter_sharpening: "AUTO", # accepts AUTO, DISABLED, ENABLED
      strength: "AUTO", # accepts AUTO, STRENGTH_1, STRENGTH_2, STRENGTH_3, STRENGTH_4, STRENGTH_5, STRENGTH_6, STRENGTH_7, STRENGTH_8, STRENGTH_9, STRENGTH_10, STRENGTH_11, STRENGTH_12, STRENGTH_13, STRENGTH_14, STRENGTH_15, STRENGTH_16
    },
  },
  fixed_afd: "AFD_0000", # accepts AFD_0000, AFD_0010, AFD_0011, AFD_0100, AFD_1000, AFD_1001, AFD_1010, AFD_1011, AFD_1101, AFD_1110, AFD_1111
  flicker_aq: "DISABLED", # accepts DISABLED, ENABLED
  force_field_pictures: "DISABLED", # accepts DISABLED, ENABLED
  framerate_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
  framerate_denominator: 1,
  framerate_numerator: 1,
  gop_b_reference: "DISABLED", # accepts DISABLED, ENABLED
  gop_closed_cadence: 1,
  gop_num_b_frames: 1,
  gop_size: 1.0,
  gop_size_units: "FRAMES", # accepts FRAMES, SECONDS
  level: "H264_LEVEL_1", # accepts H264_LEVEL_1, H264_LEVEL_1_1, H264_LEVEL_1_2, H264_LEVEL_1_3, H264_LEVEL_2, H264_LEVEL_2_1, H264_LEVEL_2_2, H264_LEVEL_3, H264_LEVEL_3_1, H264_LEVEL_3_2, H264_LEVEL_4, H264_LEVEL_4_1, H264_LEVEL_4_2, H264_LEVEL_5, H264_LEVEL_5_1, H264_LEVEL_5_2, H264_LEVEL_AUTO
  look_ahead_rate_control: "HIGH", # accepts HIGH, LOW, MEDIUM
  max_bitrate: 1,
  min_i_interval: 1,
  num_ref_frames: 1,
  par_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
  par_denominator: 1,
  par_numerator: 1,
  profile: "BASELINE", # accepts BASELINE, HIGH, HIGH_10BIT, HIGH_422, HIGH_422_10BIT, MAIN
  quality_level: "ENHANCED_QUALITY", # accepts ENHANCED_QUALITY, STANDARD_QUALITY
  qvbr_quality_level: 1,
  rate_control_mode: "CBR", # accepts CBR, MULTIPLEX, QVBR, VBR
  scan_type: "INTERLACED", # accepts INTERLACED, PROGRESSIVE
  scene_change_detect: "DISABLED", # accepts DISABLED, ENABLED
  slices: 1,
  softness: 1,
  spatial_aq: "DISABLED", # accepts DISABLED, ENABLED
  subgop_length: "DYNAMIC", # accepts DYNAMIC, FIXED
  syntax: "DEFAULT", # accepts DEFAULT, RP2027
  temporal_aq: "DISABLED", # accepts DISABLED, ENABLED
  timecode_insertion: "DISABLED", # accepts DISABLED, PIC_TIMING_SEI
}

H264 Settings

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#adaptive_quantizationString

Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.

Possible values:

  • HIGH
  • HIGHER
  • LOW
  • MAX
  • MEDIUM
  • OFF

Returns:

  • (String)

    Adaptive quantization.

#afd_signalingString

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.

Possible values:

  • AUTO
  • FIXED
  • NONE

Returns:

  • (String)

    Indicates that AFD values will be written into the output stream.

#bitrateInteger

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:

  • (Integer)

    Average bitrate in bits/second.

#buf_fill_pctInteger

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

Returns:

  • (Integer)

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

#buf_sizeInteger

Size of buffer (HRD buffer model) in bits.

Returns:

  • (Integer)

    Size of buffer (HRD buffer model) in bits.

#color_metadataString

Includes colorspace metadata in the output.

Possible values:

  • IGNORE
  • INSERT

Returns:

  • (String)

    Includes colorspace metadata in the output.

#color_space_settingsTypes::H264ColorSpaceSettings

Color Space settings

Returns:

#entropy_encodingString

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

Possible values:

  • CABAC
  • CAVLC

Returns:

  • (String)

    Entropy encoding mode.

#filter_settingsTypes::H264FilterSettings

Optional filters that you can apply to an encode.

Returns:

#fixed_afdString

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

Possible values:

  • AFD_0000
  • AFD_0010
  • AFD_0011
  • AFD_0100
  • AFD_1000
  • AFD_1001
  • AFD_1010
  • AFD_1011
  • AFD_1101
  • AFD_1110
  • AFD_1111

Returns:

  • (String)

    Four bit AFD value to write on all frames of video in the output stream.

#flicker_aqString

If set to enabled, adjust quantization within each frame to reduce flicker or \'pop\' on I-frames.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    If set to enabled, adjust quantization within each frame to reduce flicker or \'pop\' on I-frames.

#force_field_picturesString

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.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    This setting applies only when scan type is \"interlaced.\" It controls whether coding is performed on a field basis or on a frame basis.

#framerate_controlString

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.

Possible values:

  • INITIALIZE_FROM_SOURCE
  • SPECIFIED

Returns:

  • (String)

    This field indicates how the output video frame rate is specified.

#framerate_denominatorInteger

Framerate denominator.

Returns:

  • (Integer)

    Framerate denominator.

#framerate_numeratorInteger

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

Returns:

  • (Integer)

    Framerate numerator - framerate is a fraction, e.g.

#gop_b_referenceString

If enabled, use reference B frames for GOP structures that have B frames > 1.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    If enabled, use reference B frames for GOP structures that have B frames > 1.

#gop_closed_cadenceInteger

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:

  • (Integer)

    Frequency of closed GOPs.

#gop_num_b_framesInteger

Number of B-frames between reference frames.

Returns:

  • (Integer)

    Number of B-frames between reference frames.

#gop_sizeFloat

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:

  • (Float)

    GOP size (keyframe interval) in units of either frames or seconds per gopSizeUnits.

#gop_size_unitsString

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.

Possible values:

  • FRAMES
  • SECONDS

Returns:

  • (String)

    Indicates if the gopSize is specified in frames or seconds.

#levelString

H.264 Level.

Possible values:

  • H264_LEVEL_1
  • H264_LEVEL_1_1
  • H264_LEVEL_1_2
  • H264_LEVEL_1_3
  • H264_LEVEL_2
  • H264_LEVEL_2_1
  • H264_LEVEL_2_2
  • H264_LEVEL_3
  • H264_LEVEL_3_1
  • H264_LEVEL_3_2
  • H264_LEVEL_4
  • H264_LEVEL_4_1
  • H264_LEVEL_4_2
  • H264_LEVEL_5
  • H264_LEVEL_5_1
  • H264_LEVEL_5_2
  • H264_LEVEL_AUTO

Returns:

  • (String)

    H.264 Level.

#look_ahead_rate_controlString

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

Possible values:

  • HIGH
  • LOW
  • MEDIUM

Returns:

  • (String)

    Amount of lookahead.

#max_bitrateInteger

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:

  • (Integer)

    For QVBR: See the tooltip for Quality level For VBR: Set the maximum bitrate in order to accommodate expected spikes in the complexity of the video.

#min_i_intervalInteger

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:

  • (Integer)

    Only meaningful if sceneChangeDetect is set to enabled.

#num_ref_framesInteger

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

Returns:

  • (Integer)

    Number of reference frames to use.

#par_controlString

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.

Possible values:

  • INITIALIZE_FROM_SOURCE
  • SPECIFIED

Returns:

  • (String)

    This field indicates how the output pixel aspect ratio is specified.

#par_denominatorInteger

Pixel Aspect Ratio denominator.

Returns:

  • (Integer)

    Pixel Aspect Ratio denominator.

#par_numeratorInteger

Pixel Aspect Ratio numerator.

Returns:

  • (Integer)

    Pixel Aspect Ratio numerator.

#profileString

H.264 Profile.

Possible values:

  • BASELINE
  • HIGH
  • HIGH_10BIT
  • HIGH_422
  • HIGH_422_10BIT
  • MAIN

Returns:

  • (String)

    H.264 Profile.

#quality_levelString

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.

Possible values:

  • ENHANCED_QUALITY
  • STANDARD_QUALITY

Returns:

  • (String)

    Leave as STANDARD_QUALITY or choose a different value (which might result in additional costs to run the channel).

#qvbr_quality_levelInteger

Controls the target quality for the video encode. Applies only when the rate control mode is QVBR. Set values for the QVBR quality level field and Max bitrate field 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

Returns:

  • (Integer)

    Controls the target quality for the video encode.

#rate_control_modeString

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.

Possible values:

  • CBR
  • MULTIPLEX
  • QVBR
  • VBR

Returns:

  • (String)

    Rate control mode.

#scan_typeString

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

Possible values:

  • INTERLACED
  • PROGRESSIVE

Returns:

  • (String)

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

#scene_change_detectString

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

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Scene change detection.

#slicesInteger

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:

  • (Integer)

    Number of slices per picture.

#softnessInteger

Softness. Selects quantizer matrix, larger values reduce high-frequency content in the encoded image.

Returns:

  • (Integer)

    Softness.

#spatial_aqString

If set to enabled, adjust quantization within each frame based on spatial variation of content complexity.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    If set to enabled, adjust quantization within each frame based on spatial variation of content complexity.

#subgop_lengthString

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.

Possible values:

  • DYNAMIC
  • FIXED

Returns:

  • (String)

    If set to fixed, use gopNumBFrames B-frames per sub-GOP.

#syntaxString

Produces a bitstream compliant with SMPTE RP-2027.

Possible values:

  • DEFAULT
  • RP2027

Returns:

  • (String)

    Produces a bitstream compliant with SMPTE RP-2027.

#temporal_aqString

If set to enabled, adjust quantization within each frame based on temporal variation of content complexity.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    If set to enabled, adjust quantization within each frame based on temporal variation of content complexity.

#timecode_insertionString

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

Possible values:

  • DISABLED
  • PIC_TIMING_SEI

Returns:

  • (String)

    Determines how timecodes should be inserted into the video elementary stream.