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

Class: Aws::MediaConvert::Types::CmafGroupSettings

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

Overview

Note:

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

{
  additional_manifests: [
    {
      manifest_name_modifier: "__stringMin1",
      selected_outputs: ["__stringMin1"],
    },
  ],
  base_url: "__string",
  client_cache: "DISABLED", # accepts DISABLED, ENABLED
  codec_specification: "RFC_6381", # accepts RFC_6381, RFC_4281
  destination: "__stringPatternS3",
  destination_settings: {
    s3_settings: {
      access_control: {
        canned_acl: "PUBLIC_READ", # accepts PUBLIC_READ, AUTHENTICATED_READ, BUCKET_OWNER_READ, BUCKET_OWNER_FULL_CONTROL
      },
      encryption: {
        encryption_type: "SERVER_SIDE_ENCRYPTION_S3", # accepts SERVER_SIDE_ENCRYPTION_S3, SERVER_SIDE_ENCRYPTION_KMS
        kms_key_arn: "__stringPatternArnAwsUsGovCnKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912",
      },
    },
  },
  encryption: {
    constant_initialization_vector: "__stringMin32Max32Pattern09aFAF32",
    encryption_method: "SAMPLE_AES", # accepts SAMPLE_AES, AES_CTR
    initialization_vector_in_manifest: "INCLUDE", # accepts INCLUDE, EXCLUDE
    speke_key_provider: {
      certificate_arn: "__stringPatternArnAwsUsGovAcm",
      dash_signaled_system_ids: ["__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12"],
      hls_signaled_system_ids: ["__stringMin36Max36Pattern09aFAF809aFAF409aFAF409aFAF409aFAF12"],
      resource_id: "__stringPatternW",
      url: "__stringPatternHttps",
    },
    static_key_provider: {
      key_format: "__stringPatternIdentityAZaZ26AZaZ09163",
      key_format_versions: "__stringPatternDD",
      static_key_value: "__stringPatternAZaZ0932",
      url: "__string",
    },
    type: "SPEKE", # accepts SPEKE, STATIC_KEY
  },
  fragment_length: 1,
  manifest_compression: "GZIP", # accepts GZIP, NONE
  manifest_duration_format: "FLOATING_POINT", # accepts FLOATING_POINT, INTEGER
  min_buffer_time: 1,
  min_final_segment_length: 1.0,
  mpd_profile: "MAIN_PROFILE", # accepts MAIN_PROFILE, ON_DEMAND_PROFILE
  segment_control: "SINGLE_FILE", # accepts SINGLE_FILE, SEGMENTED_FILES
  segment_length: 1,
  stream_inf_resolution: "INCLUDE", # accepts INCLUDE, EXCLUDE
  write_dash_manifest: "DISABLED", # accepts DISABLED, ENABLED
  write_hls_manifest: "DISABLED", # accepts DISABLED, ENABLED
  write_segment_timeline_in_representation: "ENABLED", # accepts ENABLED, DISABLED
}

Required when you set (Type) under (OutputGroups)>(OutputGroupSettings) to CMAF_GROUP_SETTINGS. Each output in a CMAF Output Group may only contain a single video, audio, or caption output.

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#additional_manifestsArray<Types::CmafAdditionalManifest>

By default, the service creates one top-level .m3u8 HLS manifest and one top -level .mpd DASH manifest for each CMAF output group in your job. These default manifests reference every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here. For each additional manifest that you specify, the service creates one HLS manifest and one DASH manifest.

Returns:

  • (Array<Types::CmafAdditionalManifest>)

    By default, the service creates one top-level .m3u8 HLS manifest and one top -level .mpd DASH manifest for each CMAF output group in your job.

#base_urlString

A partial URI prefix that will be put in the manifest file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file.

Returns:

  • (String)

    A partial URI prefix that will be put in the manifest file at the top level BaseURL element.

#client_cacheString

When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    When set to ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client from saving media segments for later replay.

#codec_specificationString

Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.

Possible values:

  • RFC_6381
  • RFC_4281

Returns:

  • (String)

    Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.

#destinationString

Use Destination (Destination) to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file.

Returns:

  • (String)

    Use Destination (Destination) to specify the S3 output location and the output filename base.

#destination_settingsTypes::DestinationSettings

Settings associated with the destination. Will vary based on the type of destination

Returns:

#encryptionTypes::CmafEncryptionSettings

DRM settings.

Returns:

#fragment_lengthInteger

Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types.

Returns:

  • (Integer)

    Length of fragments to generate (in seconds).

#manifest_compressionString

When set to GZIP, compresses HLS playlist.

Possible values:

  • GZIP
  • NONE

Returns:

  • (String)

    When set to GZIP, compresses HLS playlist.

#manifest_duration_formatString

Indicates whether the output manifest should use floating point values for segment duration.

Possible values:

  • FLOATING_POINT
  • INTEGER

Returns:

  • (String)

    Indicates whether the output manifest should use floating point values for segment duration.

#min_buffer_timeInteger

Minimum time of initially buffered media that is needed to ensure smooth playout.

Returns:

  • (Integer)

    Minimum time of initially buffered media that is needed to ensure smooth playout.

#min_final_segment_lengthFloat

Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds.

Returns:

  • (Float)

    Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset.

#mpd_profileString

Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE).

Possible values:

  • MAIN_PROFILE
  • ON_DEMAND_PROFILE

Returns:

  • (String)

    Specify whether your DASH profile is on-demand or main.

#segment_controlString

When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.

Possible values:

  • SINGLE_FILE
  • SEGMENTED_FILES

Returns:

  • (String)

    When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length.

#segment_lengthInteger

Use this setting to specify the length, in seconds, of each individual CMAF segment. This value applies to the whole package; that is, to every output in the output group. Note that segments end on the first keyframe after this number of seconds, so the actual segment length might be slightly longer. If you set Segment control (CmafSegmentControl) to single file, the service puts the content of each output in a single file that has metadata that marks these segments. If you set it to segmented files, the service creates multiple files for each output, each with the content of one segment.

Returns:

  • (Integer)

    Use this setting to specify the length, in seconds, of each individual CMAF segment.

#stream_inf_resolutionString

Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.

Possible values:

  • INCLUDE
  • EXCLUDE

Returns:

  • (String)

    Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.

#write_dash_manifestString

When set to ENABLED, a DASH MPD manifest will be generated for this output.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    When set to ENABLED, a DASH MPD manifest will be generated for this output.

#write_hls_manifestString

When set to ENABLED, an Apple HLS manifest will be generated for this output.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    When set to ENABLED, an Apple HLS manifest will be generated for this output.

#write_segment_timeline_in_representationString

When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn\'t enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element.

Possible values:

  • ENABLED
  • DISABLED

Returns:

  • (String)

    When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations.