class Aws::MediaConvert::Types::HlsGroupSettings

Settings related to your HLS output package. For more information, see docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html. When you work directly in your JSON job specification, include this object and any required children when you set Type, under OutputGroupSettings, to HLS_GROUP_SETTINGS.

@note When making an API call, you may pass HlsGroupSettings

data as a hash:

    {
      ad_markers: ["ELEMENTAL"], # accepts ELEMENTAL, ELEMENTAL_SCTE35
      additional_manifests: [
        {
          manifest_name_modifier: "__stringMin1",
          selected_outputs: ["__stringMin1"],
        },
      ],
      audio_only_header: "INCLUDE", # accepts INCLUDE, EXCLUDE
      base_url: "__string",
      caption_language_mappings: [
        {
          caption_channel: 1,
          custom_language_code: "__stringMin3Max3PatternAZaZ3",
          language_code: "ENG", # accepts ENG, SPA, FRA, DEU, GER, ZHO, ARA, HIN, JPN, RUS, POR, ITA, URD, VIE, KOR, PAN, ABK, AAR, AFR, AKA, SQI, AMH, ARG, HYE, ASM, AVA, AVE, AYM, AZE, BAM, BAK, EUS, BEL, BEN, BIH, BIS, BOS, BRE, BUL, MYA, CAT, KHM, CHA, CHE, NYA, CHU, CHV, COR, COS, CRE, HRV, CES, DAN, DIV, NLD, DZO, ENM, EPO, EST, EWE, FAO, FIJ, FIN, FRM, FUL, GLA, GLG, LUG, KAT, ELL, GRN, GUJ, HAT, HAU, HEB, HER, HMO, HUN, ISL, IDO, IBO, IND, INA, ILE, IKU, IPK, GLE, JAV, KAL, KAN, KAU, KAS, KAZ, KIK, KIN, KIR, KOM, KON, KUA, KUR, LAO, LAT, LAV, LIM, LIN, LIT, LUB, LTZ, MKD, MLG, MSA, MAL, MLT, GLV, MRI, MAR, MAH, MON, NAU, NAV, NDE, NBL, NDO, NEP, SME, NOR, NOB, NNO, OCI, OJI, ORI, ORM, OSS, PLI, FAS, POL, PUS, QUE, QAA, RON, ROH, RUN, SMO, SAG, SAN, SRD, SRB, SNA, III, SND, SIN, SLK, SLV, SOM, SOT, SUN, SWA, SSW, SWE, TGL, TAH, TGK, TAM, TAT, TEL, THA, BOD, TIR, TON, TSO, TSN, TUR, TUK, TWI, UIG, UKR, UZB, VEN, VOL, WLN, CYM, FRY, WOL, XHO, YID, YOR, ZHA, ZUL, ORJ, QPC, TNG
          language_description: "__string",
        },
      ],
      caption_language_setting: "INSERT", # accepts INSERT, OMIT, NONE
      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_encryption_context: "__stringPatternAZaZ0902",
            kms_key_arn: "__stringPatternArnAwsUsGovCnKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912",
          },
        },
      },
      directory_structure: "SINGLE_DIRECTORY", # accepts SINGLE_DIRECTORY, SUBDIRECTORY_PER_STREAM
      encryption: {
        constant_initialization_vector: "__stringMin32Max32Pattern09aFAF32",
        encryption_method: "AES128", # accepts AES128, SAMPLE_AES
        initialization_vector_in_manifest: "INCLUDE", # accepts INCLUDE, EXCLUDE
        offline_encrypted: "ENABLED", # accepts ENABLED, DISABLED
        speke_key_provider: {
          certificate_arn: "__stringPatternArnAwsUsGovAcm",
          resource_id: "__string",
          system_ids: ["__stringPattern09aFAF809aFAF409aFAF409aFAF409aFAF12"],
          url: "__stringPatternHttps",
        },
        static_key_provider: {
          key_format: "__stringPatternIdentityAZaZ26AZaZ09163",
          key_format_versions: "__stringPatternDD",
          static_key_value: "__stringPatternAZaZ0932",
          url: "__string",
        },
        type: "SPEKE", # accepts SPEKE, STATIC_KEY
      },
      image_based_trick_play: "NONE", # accepts NONE, THUMBNAIL, THUMBNAIL_AND_FULLFRAME
      manifest_compression: "GZIP", # accepts GZIP, NONE
      manifest_duration_format: "FLOATING_POINT", # accepts FLOATING_POINT, INTEGER
      min_final_segment_length: 1.0,
      min_segment_length: 1,
      output_selection: "MANIFESTS_AND_SEGMENTS", # accepts MANIFESTS_AND_SEGMENTS, SEGMENTS_ONLY
      program_date_time: "INCLUDE", # accepts INCLUDE, EXCLUDE
      program_date_time_period: 1,
      segment_control: "SINGLE_FILE", # accepts SINGLE_FILE, SEGMENTED_FILES
      segment_length: 1,
      segment_length_control: "EXACT", # accepts EXACT, GOP_MULTIPLE
      segments_per_subdirectory: 1,
      stream_inf_resolution: "INCLUDE", # accepts INCLUDE, EXCLUDE
      target_duration_compatibility_mode: "LEGACY", # accepts LEGACY, SPEC_COMPLIANT
      timed_metadata_id_3_frame: "NONE", # accepts NONE, PRIV, TDRL
      timed_metadata_id_3_period: 1,
      timestamp_delta_milliseconds: 1,
    }

@!attribute [rw] ad_markers

Choose one or more ad marker types to decorate your Apple HLS
manifest. This setting does not determine whether SCTE-35 markers
appear in the outputs themselves.
@return [Array<String>]

@!attribute [rw] additional_manifests

By default, the service creates one top-level .m3u8 HLS manifest for
each HLS output group in your job. This default manifest references
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.
@return [Array<Types::HlsAdditionalManifest>]

@!attribute [rw] audio_only_header

Ignore this setting unless you are using FairPlay DRM with
Verimatrix and you encounter playback issues. Keep the default
value, Include (INCLUDE), to output audio-only headers. Choose
Exclude (EXCLUDE) to remove the audio-only headers from your audio
segments.
@return [String]

@!attribute [rw] base_url

A partial URI prefix that will be prepended to each output in the
media .m3u8 file. Can be used if base manifest is delivered from a
different URL than the main .m3u8 file.
@return [String]

@!attribute [rw] caption_language_mappings

Language to be used on Caption outputs
@return [Array<Types::HlsCaptionLanguageMapping>]

@!attribute [rw] caption_language_setting

Applies only to 608 Embedded output captions. Insert: Include
CLOSED-CAPTIONS lines in the manifest. Specify at least one language
in the CC1 Language Code field. One CLOSED-CAPTION line is added for
each Language Code you specify. Make sure to specify the languages
in the order in which they appear in the original source (if the
source is embedded format) or the order of the caption selectors (if
the source is other than embedded). Otherwise, languages in the
manifest will not match up properly with the output captions. None:
Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any
CLOSED-CAPTIONS line from the manifest.
@return [String]

@!attribute [rw] client_cache

Disable this setting only when your workflow requires the
#EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled
(ENABLED) and control caching in your video distribution set up. For
example, use the Cache-Control http header.
@return [String]

@!attribute [rw] codec_specification

Specification to use (RFC-6381 or the default RFC-4281) during m3u8
playlist generation.
@return [String]

@!attribute [rw] destination

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.
@return [String]

@!attribute [rw] destination_settings

Settings associated with the destination. Will vary based on the
type of destination
@return [Types::DestinationSettings]

@!attribute [rw] directory_structure

Indicates whether segments should be placed in subdirectories.
@return [String]

@!attribute [rw] encryption

DRM settings.
@return [Types::HlsEncryptionSettings]

@!attribute [rw] image_based_trick_play

Specify whether MediaConvert generates images for trick play. Keep
the default value, None (NONE), to not generate any images. Choose
Thumbnail (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail
and full frame (THUMBNAIL\_AND\_FULLFRAME) to generate tiled
thumbnails and full-resolution images of single frames. MediaConvert
creates a child manifest for each set of images that you generate
and adds corresponding entries to the parent manifest. A common
application for these images is Roku trick mode. The thumbnails and
full-frame images that MediaConvert creates with this feature are
compatible with this Roku specification:
https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md
@return [String]

@!attribute [rw] manifest_compression

When set to GZIP, compresses HLS playlist.
@return [String]

@!attribute [rw] manifest_duration_format

Indicates whether the output manifest should use floating point
values for segment duration.
@return [String]

@!attribute [rw] min_final_segment_length

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.
@return [Float]

@!attribute [rw] min_segment_length

When set, Minimum Segment Size is enforced by looking ahead and back
within the specified range for a nearby avail and extending the
segment size if needed.
@return [Integer]

@!attribute [rw] output_selection

Indicates whether the .m3u8 manifest file should be generated for
this HLS output group.
@return [String]

@!attribute [rw] program_date_time

Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest
files. The value is calculated as follows: either the program date
and time are initialized using the input timecode source, or the
time is initialized using the input timecode source and the date is
initialized using the timestamp\_offset.
@return [String]

@!attribute [rw] program_date_time_period

Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
@return [Integer]

@!attribute [rw] segment_control

When set to SINGLE\_FILE, emits program as a single media resource
(.ts) file, uses #EXT-X-BYTERANGE tags to index segment for
playback.
@return [String]

@!attribute [rw] segment_length

Specify the length, in whole seconds, of each segment. When you
don't specify a value, MediaConvert defaults to 10. Related
settings: Use Segment length control (SegmentLengthControl) to
specify whether the encoder enforces this value strictly. Use
Segment control (HlsSegmentControl) to specify whether MediaConvert
creates separate segment files or one content file that has metadata
to mark the segment boundaries.
@return [Integer]

@!attribute [rw] segment_length_control

Specify how you want MediaConvert to determine the segment length.
Choose Exact (EXACT) to have the encoder use the exact length that
you specify with the setting Segment length (SegmentLength). This
might result in extra I-frames. Choose Multiple of GOP
(GOP\_MULTIPLE) to have the encoder round up the segment lengths to
match the next GOP boundary.
@return [String]

@!attribute [rw] segments_per_subdirectory

Number of segments to write to a subdirectory before starting a new
one. directoryStructure must be SINGLE\_DIRECTORY for this setting
to have an effect.
@return [Integer]

@!attribute [rw] stream_inf_resolution

Include or exclude RESOLUTION attribute for video in
EXT-X-STREAM-INF tag of variant manifest.
@return [String]

@!attribute [rw] target_duration_compatibility_mode

When set to LEGACY, the segment target duration is always rounded up
to the nearest integer value above its current value in seconds.
When set to SPEC\\\\\_COMPLIANT, the segment target duration is
rounded up to the nearest integer value if fraction seconds are
greater than or equal to 0.5 (>= 0.5) and rounded down if less than
0.5 (< 0.5). You may need to use LEGACY if your client needs to
ensure that the target duration is always longer than the actual
duration of the segment. Some older players may experience
interrupted playback when the actual duration of a track in a
segment is longer than the target duration.
@return [String]

@!attribute [rw] timed_metadata_id_3_frame

Indicates ID3 frame that has the timecode.
@return [String]

@!attribute [rw] timed_metadata_id_3_period

Timed Metadata interval in seconds.
@return [Integer]

@!attribute [rw] timestamp_delta_milliseconds

Provides an extra millisecond delta offset to fine tune the
timestamps.
@return [Integer]

@see docs.aws.amazon.com/goto/WebAPI/mediaconvert-2017-08-29/HlsGroupSettings AWS API Documentation

Constants

SENSITIVE