class Aws::MediaLive::Types::HlsGroupSettings

Hls Group Settings

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

data as a hash:

    {
      ad_markers: ["ADOBE"], # accepts ADOBE, ELEMENTAL, ELEMENTAL_SCTE35
      base_url_content: "__string",
      base_url_content_1: "__string",
      base_url_manifest: "__string",
      base_url_manifest_1: "__string",
      caption_language_mappings: [
        {
          caption_channel: 1, # required
          language_code: "__stringMin3Max3", # required
          language_description: "__stringMin1", # required
        },
      ],
      caption_language_setting: "INSERT", # accepts INSERT, NONE, OMIT
      client_cache: "DISABLED", # accepts DISABLED, ENABLED
      codec_specification: "RFC_4281", # accepts RFC_4281, RFC_6381
      constant_iv: "__stringMin32Max32",
      destination: { # required
        destination_ref_id: "__string",
      },
      directory_structure: "SINGLE_DIRECTORY", # accepts SINGLE_DIRECTORY, SUBDIRECTORY_PER_STREAM
      discontinuity_tags: "INSERT", # accepts INSERT, NEVER_INSERT
      encryption_type: "AES128", # accepts AES128, SAMPLE_AES
      hls_cdn_settings: {
        hls_akamai_settings: {
          connection_retry_interval: 1,
          filecache_duration: 1,
          http_transfer_mode: "CHUNKED", # accepts CHUNKED, NON_CHUNKED
          num_retries: 1,
          restart_delay: 1,
          salt: "__string",
          token: "__string",
        },
        hls_basic_put_settings: {
          connection_retry_interval: 1,
          filecache_duration: 1,
          num_retries: 1,
          restart_delay: 1,
        },
        hls_media_store_settings: {
          connection_retry_interval: 1,
          filecache_duration: 1,
          media_store_storage_class: "TEMPORAL", # accepts TEMPORAL
          num_retries: 1,
          restart_delay: 1,
        },
        hls_s3_settings: {
          canned_acl: "AUTHENTICATED_READ", # accepts AUTHENTICATED_READ, BUCKET_OWNER_FULL_CONTROL, BUCKET_OWNER_READ, PUBLIC_READ
        },
        hls_webdav_settings: {
          connection_retry_interval: 1,
          filecache_duration: 1,
          http_transfer_mode: "CHUNKED", # accepts CHUNKED, NON_CHUNKED
          num_retries: 1,
          restart_delay: 1,
        },
      },
      hls_id_3_segment_tagging: "DISABLED", # accepts DISABLED, ENABLED
      i_frame_only_playlists: "DISABLED", # accepts DISABLED, STANDARD
      incomplete_segment_behavior: "AUTO", # accepts AUTO, SUPPRESS
      index_n_segments: 1,
      input_loss_action: "EMIT_OUTPUT", # accepts EMIT_OUTPUT, PAUSE_OUTPUT
      iv_in_manifest: "EXCLUDE", # accepts EXCLUDE, INCLUDE
      iv_source: "EXPLICIT", # accepts EXPLICIT, FOLLOWS_SEGMENT_NUMBER
      keep_segments: 1,
      key_format: "__string",
      key_format_versions: "__string",
      key_provider_settings: {
        static_key_settings: {
          key_provider_server: {
            password_param: "__string",
            uri: "__string", # required
            username: "__string",
          },
          static_key_value: "__stringMin32Max32", # required
        },
      },
      manifest_compression: "GZIP", # accepts GZIP, NONE
      manifest_duration_format: "FLOATING_POINT", # accepts FLOATING_POINT, INTEGER
      min_segment_length: 1,
      mode: "LIVE", # accepts LIVE, VOD
      output_selection: "MANIFESTS_AND_SEGMENTS", # accepts MANIFESTS_AND_SEGMENTS, SEGMENTS_ONLY, VARIANT_MANIFESTS_AND_SEGMENTS
      program_date_time: "EXCLUDE", # accepts EXCLUDE, INCLUDE
      program_date_time_period: 1,
      redundant_manifest: "DISABLED", # accepts DISABLED, ENABLED
      segment_length: 1,
      segmentation_mode: "USE_INPUT_SEGMENTATION", # accepts USE_INPUT_SEGMENTATION, USE_SEGMENT_DURATION
      segments_per_subdirectory: 1,
      stream_inf_resolution: "EXCLUDE", # accepts EXCLUDE, INCLUDE
      timed_metadata_id_3_frame: "NONE", # accepts NONE, PRIV, TDRL
      timed_metadata_id_3_period: 1,
      timestamp_delta_milliseconds: 1,
      ts_file_mode: "SEGMENTED_FILES", # accepts SEGMENTED_FILES, SINGLE_FILE
    }

@!attribute [rw] ad_markers

Choose one or more ad marker types to pass SCTE35 signals through to
this group of Apple HLS outputs.
@return [Array<String>]

@!attribute [rw] base_url_content

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] base_url_content_1

Optional. One value per output group. This field is required only if
you are completing Base URL content A, and the downstream system has
notified you that the media files for pipeline 1 of all outputs are
in a location different from the media files for pipeline 0.
@return [String]

@!attribute [rw] base_url_manifest

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] base_url_manifest_1

Optional. One value per output group. Complete this field only if
you are completing Base URL manifest A, and the downstream system
has notified you that the child manifest files for pipeline 1 of all
outputs are in a location different from the child manifest files
for pipeline 0.
@return [String]

@!attribute [rw] caption_language_mappings

Mapping of up to 4 caption channels to caption languages. Is only
meaningful if captionLanguageSetting is set to "insert".
@return [Array<Types::CaptionLanguageMapping>]

@!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

When set to "disabled", sets the #EXT-X-ALLOW-CACHE:no tag in the
manifest, which prevents clients from saving media segments for
later replay.
@return [String]

@!attribute [rw] codec_specification

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

@!attribute [rw] constant_iv

For use with encryptionType. This is a 128-bit, 16-byte hex value
represented by a 32-character text string. If ivSource is set to
"explicit" then this parameter is required and is used as the IV
for encryption.
@return [String]

@!attribute [rw] destination

A directory or HTTP destination for the HLS segments, manifest
files, and encryption keys (if enabled).
@return [Types::OutputLocationRef]

@!attribute [rw] directory_structure

Place segments in subdirectories.
@return [String]

@!attribute [rw] discontinuity_tags

Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS
child manifests for this output group. Typically, choose Insert
because these tags are required in the manifest (according to the
HLS specification) and serve an important purpose. Choose Never
Insert only if the downstream system is doing real-time failover
(without using the MediaLive automatic failover feature) and only if
that downstream system has advised you to exclude the tags.
@return [String]

@!attribute [rw] encryption_type

Encrypts the segments with the given encryption scheme. Exclude this
parameter if no encryption is desired.
@return [String]

@!attribute [rw] hls_cdn_settings

Parameters that control interactions with the CDN.
@return [Types::HlsCdnSettings]

@!attribute [rw] hls_id_3_segment_tagging

State of HLS ID3 Segment Tagging
@return [String]

@!attribute [rw] i_frame_only_playlists

DISABLED: Do not create an I-frame-only manifest, but do create the
master and media manifests (according to the Output Selection
field). STANDARD: Create an I-frame-only manifest for each output
that contains video, as well as the other manifests (according to
the Output Selection field). The I-frame manifest contains a
#EXT-X-I-FRAMES-ONLY tag to indicate it is I-frame only, and one or
more #EXT-X-BYTERANGE entries identifying the I-frame position. For
example, #EXT-X-BYTERANGE:160364@1461888"
@return [String]

@!attribute [rw] incomplete_segment_behavior

Specifies whether to include the final (incomplete) segment in the
media output when the pipeline stops producing output because of a
channel stop, a channel pause or a loss of input to the pipeline.
Auto means that MediaLive decides whether to include the final
segment, depending on the channel class and the types of output
groups. Suppress means to never include the incomplete segment. We
recommend you choose Auto and let MediaLive control the behavior.
@return [String]

@!attribute [rw] index_n_segments

Applies only if Mode field is LIVE. Specifies the maximum number of
segments in the media manifest file. After this maximum, older
segments are removed from the media manifest. This number must be
smaller than the number in the Keep Segments field.
@return [Integer]

@!attribute [rw] input_loss_action

Parameter that control output group behavior on input loss.
@return [String]

@!attribute [rw] iv_in_manifest

For use with encryptionType. The IV (Initialization Vector) is a
128-bit number used in conjunction with the key for encrypting
blocks. If set to "include", IV is listed in the manifest,
otherwise the IV is not in the manifest.
@return [String]

@!attribute [rw] iv_source

For use with encryptionType. The IV (Initialization Vector) is a
128-bit number used in conjunction with the key for encrypting
blocks. If this setting is "followsSegmentNumber", it will cause
the IV to change every segment (to match the segment number). If
this is set to "explicit", you must enter a constantIv value.
@return [String]

@!attribute [rw] keep_segments

Applies only if Mode field is LIVE. Specifies the number of media
segments to retain in the destination directory. This number should
be bigger than indexNSegments (Num segments). We recommend (value =
(2 x indexNsegments) + 1). If this "keep segments" number is too
low, the following might happen: the player is still reading a media
manifest file that lists this segment, but that segment has been
removed from the destination directory (as directed by
indexNSegments). This situation would result in a 404 HTTP error on
the player.
@return [Integer]

@!attribute [rw] key_format

The value specifies how the key is represented in the resource
identified by the URI. If parameter is absent, an implicit value of
"identity" is used. A reverse DNS string can also be given.
@return [String]

@!attribute [rw] key_format_versions

Either a single positive integer version value or a slash delimited
list of version values (1/2/3).
@return [String]

@!attribute [rw] key_provider_settings

The key provider settings.
@return [Types::KeyProviderSettings]

@!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 or
integer values for segment duration.
@return [String]

@!attribute [rw] min_segment_length

When set, minimumSegmentLength 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] mode

If "vod", all segments are indexed and kept permanently in the
destination and manifest. If "live", only the number segments
specified in keepSegments and indexNSegments are kept; newer
segments replace older segments, which may prevent players from
rewinding all the way to the beginning of the event. VOD mode uses
HLS EXT-X-PLAYLIST-TYPE of EVENT while the channel is running,
converting it to a "VOD" type manifest on completion of the
stream.
@return [String]

@!attribute [rw] output_selection

MANIFESTS\_AND\_SEGMENTS: Generates manifests (master manifest, if
applicable, and media manifests) for this output group.
VARIANT\_MANIFESTS\_AND\_SEGMENTS: Generates media manifests for
this output group, but not a master manifest. SEGMENTS\_ONLY: Does
not generate any manifests for this 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 timestampOffset.
@return [String]

@!attribute [rw] program_date_time_period

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

@!attribute [rw] redundant_manifest

ENABLED: The master manifest (.m3u8 file) for each pipeline includes
information about both pipelines: first its own media files, then
the media files of the other pipeline. This feature allows playout
device that support stale manifest detection to switch from one
manifest to the other, when the current manifest seems to be stale.
There are still two destinations and two master manifests, but both
master manifests reference the media files from both pipelines.
DISABLED: The master manifest (.m3u8 file) for each pipeline
includes information about its own pipeline only. For an HLS output
group with MediaPackage as the destination, the DISABLED behavior is
always followed. MediaPackage regenerates the manifests it serves to
players so a redundant manifest from MediaLive is irrelevant.
@return [String]

@!attribute [rw] segment_length

Length of MPEG-2 Transport Stream segments to create (in seconds).
Note that segments will end on the next keyframe after this number
of seconds, so actual segment length may be longer.
@return [Integer]

@!attribute [rw] segmentation_mode

useInputSegmentation has been deprecated. The configured segment
size is always used.
@return [String]

@!attribute [rw] segments_per_subdirectory

Number of segments to write to a subdirectory before starting a new
one. directoryStructure must be subdirectoryPerStream 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] 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]

@!attribute [rw] ts_file_mode

SEGMENTED\_FILES: Emit the program as segments - multiple .ts media
files. SINGLE\_FILE: Applies only if Mode field is VOD. Emit the
program as a single .ts media file. The media manifest includes
#EXT-X-BYTERANGE tags to index segments for playback. A typical use
for this value is when sending the output to AWS Elemental
MediaConvert, which can accept only a single media file. Playback
while the channel is running is not guaranteed due to HTTP server
caching.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/medialive-2017-10-14/HlsGroupSettings AWS API Documentation

Constants

SENSITIVE