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::MediaLive::Types::HlsGroupSettings

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

Overview

Note:

When passing HlsGroupSettings as input to an Aws::Client method, you can use a vanilla 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_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
}

Hls Group Settings

Returned by:

Instance Attribute Summary collapse

Instance Attribute Details

#ad_markersArray<String>

Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.

Returns:

  • (Array<String>)

    Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.

#base_url_contentString

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.

Returns:

  • (String)

    A partial URI prefix that will be prepended to each output in the media .m3u8 file.

#base_url_content_1String

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.

Returns:

  • (String)

    Optional.

#base_url_manifestString

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.

Returns:

  • (String)

    A partial URI prefix that will be prepended to each output in the media .m3u8 file.

#base_url_manifest_1String

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.

Returns:

  • (String)

    Optional.

#caption_language_mappingsArray<Types::CaptionLanguageMapping>

Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to \"insert\".

Returns:

#caption_language_settingString

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.

Possible values:

  • INSERT
  • NONE
  • OMIT

Returns:

  • (String)

    Applies only to 608 Embedded output captions.

#client_cacheString

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.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    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.

#codec_specificationString

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

Possible values:

  • RFC_4281
  • RFC_6381

Returns:

  • (String)

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

#constant_ivString

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.

Returns:

  • (String)

    For use with encryptionType.

#destinationTypes::OutputLocationRef

A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled).

Returns:

  • (Types::OutputLocationRef)

    A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled).

#directory_structureString

Place segments in subdirectories.

Possible values:

  • SINGLE_DIRECTORY
  • SUBDIRECTORY_PER_STREAM

Returns:

  • (String)

    Place segments in subdirectories.

#discontinuity_tagsString

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.

Possible values:

  • INSERT
  • NEVER_INSERT

Returns:

  • (String)

    Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests for this output group.

#encryption_typeString

Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired.

Possible values:

  • AES128
  • SAMPLE_AES

Returns:

  • (String)

    Encrypts the segments with the given encryption scheme.

#hls_cdn_settingsTypes::HlsCdnSettings

Parameters that control interactions with the CDN.

Returns:

#hls_id_3_segment_taggingString

State of HLS ID3 Segment Tagging

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    State of HLS ID3 Segment Tagging.

#i_frame_only_playlistsString

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\"

Possible values:

  • DISABLED
  • STANDARD

Returns:

  • (String)

    DISABLED: Do not create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field).

#incomplete_segment_behaviorString

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.

Possible values:

  • AUTO
  • SUPPRESS

Returns:

  • (String)

    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.

#index_n_segmentsInteger

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.

Returns:

  • (Integer)

    Applies only if Mode field is LIVE.

#input_loss_actionString

Parameter that control output group behavior on input loss.

Possible values:

  • EMIT_OUTPUT
  • PAUSE_OUTPUT

Returns:

  • (String)

    Parameter that control output group behavior on input loss.

#iv_in_manifestString

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.

Possible values:

  • EXCLUDE
  • INCLUDE

Returns:

  • (String)

    For use with encryptionType.

#iv_sourceString

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.

Possible values:

  • EXPLICIT
  • FOLLOWS_SEGMENT_NUMBER

Returns:

  • (String)

    For use with encryptionType.

#keep_segmentsInteger

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.

Returns:

  • (Integer)

    Applies only if Mode field is LIVE.

#key_formatString

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.

Returns:

  • (String)

    The value specifies how the key is represented in the resource identified by the URI.

#key_format_versionsString

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

Returns:

  • (String)

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

#key_provider_settingsTypes::KeyProviderSettings

The key provider settings.

Returns:

#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 or integer values for segment duration.

Possible values:

  • FLOATING_POINT
  • INTEGER

Returns:

  • (String)

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

#min_segment_lengthInteger

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.

Returns:

  • (Integer)

    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.

#modeString

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.

Possible values:

  • LIVE
  • VOD

Returns:

  • (String)

    If \"vod\", all segments are indexed and kept permanently in the destination and manifest.

#output_selectionString

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.

Possible values:

  • MANIFESTS_AND_SEGMENTS
  • SEGMENTS_ONLY
  • VARIANT_MANIFESTS_AND_SEGMENTS

Returns:

  • (String)

    MANIFESTS_AND_SEGMENTS: Generates manifests (master manifest, if applicable, and media manifests) for this output group.

#program_date_timeString

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.

Possible values:

  • EXCLUDE
  • INCLUDE

Returns:

  • (String)

    Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.

#program_date_time_periodInteger

Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.

Returns:

  • (Integer)

    Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.

#redundant_manifestString

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.

Possible values:

  • DISABLED
  • ENABLED

Returns:

  • (String)

    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.

#segment_lengthInteger

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.

Returns:

  • (Integer)

    Length of MPEG-2 Transport Stream segments to create (in seconds).

#segmentation_modeString

useInputSegmentation has been deprecated. The configured segment size is always used.

Possible values:

  • USE_INPUT_SEGMENTATION
  • USE_SEGMENT_DURATION

Returns:

  • (String)

    useInputSegmentation has been deprecated.

#segments_per_subdirectoryInteger

Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect.

Returns:

  • (Integer)

    Number of segments to write to a subdirectory before starting a new one.

#stream_inf_resolutionString

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

Possible values:

  • EXCLUDE
  • INCLUDE

Returns:

  • (String)

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

#timed_metadata_id_3_frameString

Indicates ID3 frame that has the timecode.

Possible values:

  • NONE
  • PRIV
  • TDRL

Returns:

  • (String)

    Indicates ID3 frame that has the timecode.

#timed_metadata_id_3_periodInteger

Timed Metadata interval in seconds.

Returns:

  • (Integer)

    Timed Metadata interval in seconds.

#timestamp_delta_millisecondsInteger

Provides an extra millisecond delta offset to fine tune the timestamps.

Returns:

  • (Integer)

    Provides an extra millisecond delta offset to fine tune the timestamps.

#ts_file_modeString

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.

Possible values:

  • SEGMENTED_FILES
  • SINGLE_FILE

Returns:

  • (String)

    SEGMENTED_FILES: Emit the program as segments - multiple .ts media files.