AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

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

Class: Aws::MediaConvert::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: "OFF", # accepts OFF, LOW, MEDIUM, HIGH, HIGHER, MAX
  bitrate: 1,
  codec_level: "AUTO", # accepts AUTO, LEVEL_1, LEVEL_1_1, LEVEL_1_2, LEVEL_1_3, LEVEL_2, LEVEL_2_1, LEVEL_2_2, LEVEL_3, LEVEL_3_1, LEVEL_3_2, LEVEL_4, LEVEL_4_1, LEVEL_4_2, LEVEL_5, LEVEL_5_1, LEVEL_5_2
  codec_profile: "BASELINE", # accepts BASELINE, HIGH, HIGH_10BIT, HIGH_422, HIGH_422_10BIT, MAIN
  dynamic_sub_gop: "ADAPTIVE", # accepts ADAPTIVE, STATIC
  entropy_encoding: "CABAC", # accepts CABAC, CAVLC
  field_encoding: "PAFF", # accepts PAFF, FORCE_FIELD
  flicker_adaptive_quantization: "DISABLED", # accepts DISABLED, ENABLED
  framerate_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
  framerate_conversion_algorithm: "DUPLICATE_DROP", # accepts DUPLICATE_DROP, INTERPOLATE
  framerate_denominator: 1,
  framerate_numerator: 1,
  gop_b_reference: "DISABLED", # accepts DISABLED, ENABLED
  gop_closed_cadence: 1,
  gop_size: 1.0,
  gop_size_units: "FRAMES", # accepts FRAMES, SECONDS
  hrd_buffer_initial_fill_percentage: 1,
  hrd_buffer_size: 1,
  interlace_mode: "PROGRESSIVE", # accepts PROGRESSIVE, TOP_FIELD, BOTTOM_FIELD, FOLLOW_TOP_FIELD, FOLLOW_BOTTOM_FIELD
  max_bitrate: 1,
  min_i_interval: 1,
  number_b_frames_between_reference_frames: 1,
  number_reference_frames: 1,
  par_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
  par_denominator: 1,
  par_numerator: 1,
  quality_tuning_level: "SINGLE_PASS", # accepts SINGLE_PASS, SINGLE_PASS_HQ, MULTI_PASS_HQ
  qvbr_settings: {
    max_average_bitrate: 1,
    qvbr_quality_level: 1,
    qvbr_quality_level_fine_tune: 1.0,
  },
  rate_control_mode: "VBR", # accepts VBR, CBR, QVBR
  repeat_pps: "DISABLED", # accepts DISABLED, ENABLED
  scene_change_detect: "DISABLED", # accepts DISABLED, ENABLED, TRANSITION_DETECTION
  slices: 1,
  slow_pal: "DISABLED", # accepts DISABLED, ENABLED
  softness: 1,
  spatial_adaptive_quantization: "DISABLED", # accepts DISABLED, ENABLED
  syntax: "DEFAULT", # accepts DEFAULT, RP2027
  telecine: "NONE", # accepts NONE, SOFT, HARD
  temporal_adaptive_quantization: "DISABLED", # accepts DISABLED, ENABLED
  unregistered_sei_timecode: "DISABLED", # accepts DISABLED, ENABLED
}

Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value H_264.

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:

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

Returns:

  • (String)

    Adaptive quantization.

#bitrateInteger

Specify the average bitrate in bits per second. Required for VBR and CBR. For MS Smooth outputs, bitrates must be unique when rounded down to the nearest multiple of 1000.

Returns:

  • (Integer)

    Specify the average bitrate in bits per second.

#codec_levelString

Specify an H.264 level that is consistent with your output video settings. If you aren\'t sure what level to specify, choose Auto (AUTO).

Possible values:

  • AUTO
  • LEVEL_1
  • LEVEL_1_1
  • LEVEL_1_2
  • LEVEL_1_3
  • LEVEL_2
  • LEVEL_2_1
  • LEVEL_2_2
  • LEVEL_3
  • LEVEL_3_1
  • LEVEL_3_2
  • LEVEL_4
  • LEVEL_4_1
  • LEVEL_4_2
  • LEVEL_5
  • LEVEL_5_1
  • LEVEL_5_2

Returns:

  • (String)

    Specify an H.264 level that is consistent with your output video settings.

#codec_profileString

H.264 Profile. High 4:2:2 and 10-bit profiles are only available with the AVC-I License.

Possible values:

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

Returns:

  • (String)

    H.264 Profile.

#dynamic_sub_gopString

Choose Adaptive to improve subjective video quality for high-motion content. This will cause the service to use fewer B-frames (which infer information based on other frames) for high-motion portions of the video and more B-frames for low-motion portions. The maximum number of B-frames is limited by the value you provide for the setting B frames between reference frames (numberBFramesBetweenReferenceFrames).

Possible values:

  • ADAPTIVE
  • STATIC

Returns:

  • (String)

    Choose Adaptive to improve subjective video quality for high-motion content.

#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.

#field_encodingString

Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs.

Possible values:

  • PAFF
  • FORCE_FIELD

Returns:

  • (String)

    Choosing FORCE_FIELD disables PAFF encoding for interlaced outputs.

#flicker_adaptive_quantizationString

Adjust quantization within each frame to reduce flicker or \'pop\' on I-frames.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Adjust quantization within each frame to reduce flicker or \'pop\' on I-frames.

#framerate_controlString

If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.

Possible values:

  • INITIALIZE_FROM_SOURCE
  • SPECIFIED

Returns:

  • (String)

    If you are using the console, use the Framerate setting to specify the frame rate for this output.

#framerate_conversion_algorithmString

When set to INTERPOLATE, produces smoother motion during frame rate conversion.

Possible values:

  • DUPLICATE_DROP
  • INTERPOLATE

Returns:

  • (String)

    When set to INTERPOLATE, produces smoother motion during frame rate conversion.

#framerate_denominatorInteger

When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976.

Returns:

  • (Integer)

    When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction.

#framerate_numeratorInteger

Frame rate numerator - frame rate is a fraction, e.g. 24000 / 1001 = 23.976 fps.

Returns:

  • (Integer)

    Frame rate numerator - frame rate is a fraction, e.g.

#gop_b_referenceString

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

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    If enable, 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_sizeFloat

GOP Length (keyframe interval) in frames or seconds. Must be greater than zero.

Returns:

  • (Float)

    GOP Length (keyframe interval) in frames or seconds.

#gop_size_unitsString

Indicates if the GOP Size in H264 is specified in frames or seconds. If seconds the system will convert the GOP Size into a frame count at run time.

Possible values:

  • FRAMES
  • SECONDS

Returns:

  • (String)

    Indicates if the GOP Size in H264 is specified in frames or seconds.

#hrd_buffer_initial_fill_percentageInteger

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).

#hrd_buffer_sizeInteger

Size of buffer (HRD buffer model) in bits. For example, enter five megabits as 5000000.

Returns:

  • (Integer)

    Size of buffer (HRD buffer model) in bits.

#interlace_modeString

Use Interlace mode (InterlaceMode) to choose the scan line type for the output. * Top Field First (TOP_FIELD) and Bottom Field First (BOTTOM_FIELD) produce interlaced output with the entire output having the same field polarity (top or bottom first). * Follow, Default Top (FOLLOW_TOP_FIELD) and Follow, Default Bottom (FOLLOW_BOTTOM_FIELD) use the same field polarity as the source. Therefore, behavior depends on the input scan type, as follows. - If the source is interlaced, the output will be interlaced with the same polarity as the source (it will follow the source). The output could therefore be a mix of \"top field first\" and \"bottom field first\". - If the source is progressive, the output will be interlaced with \"top field first\" or \"bottom field first\" polarity, depending on which of the Follow options you chose.

Possible values:

  • PROGRESSIVE
  • TOP_FIELD
  • BOTTOM_FIELD
  • FOLLOW_TOP_FIELD
  • FOLLOW_BOTTOM_FIELD

Returns:

  • (String)

    Use Interlace mode (InterlaceMode) to choose the scan line type for the output.

#max_bitrateInteger

Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR.

Returns:

  • (Integer)

    Maximum bitrate in bits/second.

#min_i_intervalInteger

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. This setting is only used when Scene Change Detect is enabled. Note: Maximum GOP stretch = GOP size + Min-I-interval - 1

Returns:

  • (Integer)

    Enforces separation between repeated (cadence) I-frames and I-frames inserted by Scene Change Detection.

#number_b_frames_between_reference_framesInteger

Number of B-frames between reference frames.

Returns:

  • (Integer)

    Number of B-frames between reference frames.

#number_reference_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

Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input. Using the console, do this by choosing Follow source for Pixel aspect ratio.

Possible values:

  • INITIALIZE_FROM_SOURCE
  • SPECIFIED

Returns:

  • (String)

    Using the API, enable ParFollowSource if you want the service to use the pixel aspect ratio from the input.

#par_denominatorInteger

Pixel Aspect Ratio denominator.

Returns:

  • (Integer)

    Pixel Aspect Ratio denominator.

#par_numeratorInteger

Pixel Aspect Ratio numerator.

Returns:

  • (Integer)

    Pixel Aspect Ratio numerator.

#quality_tuning_levelString

Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding.

Possible values:

  • SINGLE_PASS
  • SINGLE_PASS_HQ
  • MULTI_PASS_HQ

Returns:

  • (String)

    Use Quality tuning level (H264QualityTuningLevel) to specifiy whether to use fast single-pass, high-quality singlepass, or high-quality multipass video encoding.

#qvbr_settingsTypes::H264QvbrSettings

Settings for quality-defined variable bitrate encoding with the H.264 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don\'t define Rate control mode.

Returns:

#rate_control_modeString

Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR).

Possible values:

  • VBR
  • CBR
  • QVBR

Returns:

  • (String)

    Use this setting to specify whether this output has a variable bitrate (VBR), constant bitrate (CBR) or quality-defined variable bitrate (QVBR).

#repeat_ppsString

Places a PPS header on each encoded picture, even if repeated.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Places a PPS header on each encoded picture, even if repeated.

#scene_change_detectString

Enable this setting to insert I-frames at scene changes that the service automatically detects. This improves video quality and is enabled by default. If this output uses QVBR, choose Transition detection (TRANSITION_DETECTION) for further video quality improvement. For more information about QVBR, see https://docs.aws.amazon.com/console/mediaconvert/cbr-vbr-qvbr.

Possible values:

  • DISABLED
  • ENABLED
  • TRANSITION_DETECTION

Returns:

  • (String)

    Enable this setting to insert I-frames at scene changes that the service automatically detects.

#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.

Returns:

  • (Integer)

    Number of slices per picture.

#slow_palString

Enables Slow PAL rate conversion. 23.976fps and 24fps input is relabeled as 25fps, and audio is sped up correspondingly.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Enables Slow PAL rate conversion.

#softnessInteger

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

Returns:

  • (Integer)

    Softness.

#spatial_adaptive_quantizationString

Adjust quantization within each frame based on spatial variation of content complexity.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Adjust quantization within each frame based on spatial variation of content complexity.

#syntaxString

Produces a bitstream compliant with SMPTE RP-2027.

Possible values:

  • DEFAULT
  • RP2027

Returns:

  • (String)

    Produces a bitstream compliant with SMPTE RP-2027.

#telecineString

This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970. This field works with the Streams > Advanced > Preprocessors > Deinterlacer field (deinterlace_mode) and the Streams > Advanced > Interlaced Mode field (interlace_mode) to identify the scan type for the output: Progressive, Interlaced, Hard Telecine or Soft Telecine. - Hard: produces 29.97i output from 23.976 input. - Soft: produces 23.976; the player converts this output to 29.97i.

Possible values:

  • NONE
  • SOFT
  • HARD

Returns:

  • (String)

    This field applies only if the Streams > Advanced > Framerate (framerate) field is set to 29.970.

#temporal_adaptive_quantizationString

Adjust quantization within each frame based on temporal variation of content complexity.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Adjust quantization within each frame based on temporal variation of content complexity.

#unregistered_sei_timecodeString

Inserts timecode for each frame as 4 bytes of an unregistered SEI message.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Inserts timecode for each frame as 4 bytes of an unregistered SEI message.