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

Class: Aws::MediaConvert::Types::Av1Settings

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

Overview

Note:

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

{
  adaptive_quantization: "OFF", # accepts OFF, LOW, MEDIUM, HIGH, HIGHER, MAX
  framerate_control: "INITIALIZE_FROM_SOURCE", # accepts INITIALIZE_FROM_SOURCE, SPECIFIED
  framerate_conversion_algorithm: "DUPLICATE_DROP", # accepts DUPLICATE_DROP, INTERPOLATE, FRAMEFORMER
  framerate_denominator: 1,
  framerate_numerator: 1,
  gop_size: 1.0,
  max_bitrate: 1,
  number_b_frames_between_reference_frames: 1,
  qvbr_settings: {
    qvbr_quality_level: 1,
    qvbr_quality_level_fine_tune: 1.0,
  },
  rate_control_mode: "QVBR", # accepts QVBR
  slices: 1,
  spatial_adaptive_quantization: "DISABLED", # accepts DISABLED, ENABLED
}

Required when you set Codec, under VideoDescription>CodecSettings to the value AV1.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#adaptive_quantizationString

Specify the strength of any adaptive quantization filters that you enable. The value that you choose here applies to Spatial adaptive quantization (spatialAdaptiveQuantization).

Possible values:

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

Returns:

  • (String)

    Specify the strength of any adaptive quantization filters that you enable.

#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

Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate. We recommend using drop duplicate (DUPLICATE_DROP) for numerically simple conversions, such as 60 fps to 30 fps. For numerically complex conversions, you can use interpolate (INTERPOLATE) to avoid stutter. This results in a smooth picture, but might introduce undesirable video artifacts. For complex frame rate conversions, especially if your source video has already been converted from its original cadence, use FrameFormer (FRAMEFORMER) to do motion-compensated interpolation. FrameFormer chooses the best conversion method frame by frame. Note that using FrameFormer increases the transcoding time and incurs a significant add-on cost.

Possible values:

  • DUPLICATE_DROP
  • INTERPOLATE
  • FRAMEFORMER

Returns:

  • (String)

    Choose the method that you want MediaConvert to use when increasing or decreasing the frame rate.

#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

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 FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. 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.

#gop_sizeFloat

Specify the GOP length (keyframe interval) in frames. With AV1, MediaConvert doesn\'t support GOP length in seconds. This value must be greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x), where x is an integer value.

Returns:

  • (Float)

    Specify the GOP length (keyframe interval) in frames.

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

#number_b_frames_between_reference_framesInteger

Specify the number of B-frames. With AV1, MediaConvert supports only 7 or 15.

Returns:

  • (Integer)

    Specify the number of B-frames.

#qvbr_settingsTypes::Av1QvbrSettings

Settings for quality-defined variable bitrate encoding with the AV1 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

\'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR). You can\'\'t use CBR or VBR.\'

Possible values:

  • QVBR

Returns:

  • (String)

    \'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR).

#slicesInteger

Specify the number of slices per picture. This value must be 1, 2, 4, 8, 16, or 32. For progressive pictures, this value must be less than or equal to the number of macroblock rows. For interlaced pictures, this value must be less than or equal to half the number of macroblock rows.

Returns:

  • (Integer)

    Specify the number of slices per picture.

#spatial_adaptive_quantizationString

Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on spatial variation of content complexity. When you enable this feature, the encoder uses fewer bits on areas that can sustain more distortion with no noticeable visual degradation and uses more bits on areas where any small distortion will be noticeable. For example, complex textured blocks are encoded with fewer bits and smooth textured blocks are encoded with more bits. Enabling this feature will almost always improve your video quality. Note, though, that this feature doesn\'t take into account where the viewer\'s attention is likely to be. If viewers are likely to be focusing their attention on a part of the screen with a lot of complex texture, you might choose to disable this feature. Related setting: When you enable spatial adaptive quantization, set the value for Adaptive quantization (adaptiveQuantization) depending on your content. For homogeneous content, such as cartoons and video games, set it to Low. For content with a wider variety of textures, set it to High or Higher.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    Keep the default value, Enabled (ENABLED), to adjust quantization within each frame based on spatial variation of content complexity.