HlsGroupSettings

public struct HlsGroupSettings : AWSShape

Undocumented

  • Declaration

    Swift

    public static var _members: [AWSShapeMember]
  • Choose one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.

    Declaration

    Swift

    public let adMarkers: [HlsAdMarkers]?
  • 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.

    Declaration

    Swift

    public let baseUrlContent: String?
  • 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.

    Declaration

    Swift

    public let baseUrlContent1: String?
  • 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.

    Declaration

    Swift

    public let baseUrlManifest: String?
  • 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.

    Declaration

    Swift

    public let baseUrlManifest1: String?
  • Mapping of up to 4 caption channels to caption languages. Is only meaningful if captionLanguageSetting is set to “insert”.

    Declaration

    Swift

    public let captionLanguageMappings: [CaptionLanguageMapping]?
  • 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.

    Declaration

    Swift

    public let captionLanguageSetting: HlsCaptionLanguageSetting?
  • 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.

    Declaration

    Swift

    public let clientCache: HlsClientCache?
  • Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.

    Declaration

    Swift

    public let codecSpecification: HlsCodecSpecification?
  • 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.

    Declaration

    Swift

    public let constantIv: String?
  • A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled).

    Declaration

    Swift

    public let destination: OutputLocationRef
  • Place segments in subdirectories.

    Declaration

    Swift

    public let directoryStructure: HlsDirectoryStructure?
  • Encrypts the segments with the given encryption scheme. Exclude this parameter if no encryption is desired.

    Declaration

    Swift

    public let encryptionType: HlsEncryptionType?
  • Parameters that control interactions with the CDN.

    Declaration

    Swift

    public let hlsCdnSettings: HlsCdnSettings?
  • State of HLS ID3 Segment Tagging

    Declaration

    Swift

    public let hlsId3SegmentTagging: HlsId3SegmentTaggingState?
  • 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"

    Declaration

    Swift

    public let iFrameOnlyPlaylists: IFrameOnlyPlaylistType?
  • 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 less than or equal to the Keep Segments field.

    Declaration

    Swift

    public let indexNSegments: Int?
  • Parameter that control output group behavior on input loss.

    Declaration

    Swift

    public let inputLossAction: InputLossActionForHlsOut?
  • 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.

    Declaration

    Swift

    public let ivInManifest: HlsIvInManifest?
  • 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.

    Declaration

    Swift

    public let ivSource: HlsIvSource?
  • Applies only if Mode field is LIVE. Specifies the number of media segments (.ts files) to retain in the destination directory.

    Declaration

    Swift

    public let keepSegments: Int?
  • 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.

    Declaration

    Swift

    public let keyFormat: String?
  • Either a single positive integer version value or a slash delimited list of version values (1/2/3).

    Declaration

    Swift

    public let keyFormatVersions: String?
  • The key provider settings.

    Declaration

    Swift

    public let keyProviderSettings: KeyProviderSettings?
  • When set to gzip, compresses HLS playlist.

    Declaration

    Swift

    public let manifestCompression: HlsManifestCompression?
  • Indicates whether the output manifest should use floating point or integer values for segment duration.

    Declaration

    Swift

    public let manifestDurationFormat: HlsManifestDurationFormat?
  • 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.

    Declaration

    Swift

    public let minSegmentLength: Int?
  • 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.

    Declaration

    Swift

    public let mode: HlsMode?
  • 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.

    Declaration

    Swift

    public let outputSelection: HlsOutputSelection?
  • 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.

    Declaration

    Swift

    public let programDateTime: HlsProgramDateTime?
  • Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.

    Declaration

    Swift

    public let programDateTimePeriod: Int?
  • 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.

    Declaration

    Swift

    public let redundantManifest: HlsRedundantManifest?
  • useInputSegmentation has been deprecated. The configured segment size is always used.

    Declaration

    Swift

    public let segmentationMode: HlsSegmentationMode?
  • 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.

    Declaration

    Swift

    public let segmentLength: Int?
  • Number of segments to write to a subdirectory before starting a new one. directoryStructure must be subdirectoryPerStream for this setting to have an effect.

    Declaration

    Swift

    public let segmentsPerSubdirectory: Int?
  • Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.

    Declaration

    Swift

    public let streamInfResolution: HlsStreamInfResolution?
  • Indicates ID3 frame that has the timecode.

    Declaration

    Swift

    public let timedMetadataId3Frame: HlsTimedMetadataId3Frame?
  • Timed Metadata interval in seconds.

    Declaration

    Swift

    public let timedMetadataId3Period: Int?
  • Provides an extra millisecond delta offset to fine tune the timestamps.

    Declaration

    Swift

    public let timestampDeltaMilliseconds: Int?
  • 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.

    Declaration

    Swift

    public let tsFileMode: HlsTsFileMode?
  • Undocumented

    Declaration

    Swift

    public init(adMarkers: [HlsAdMarkers]? = nil, baseUrlContent: String? = nil, baseUrlContent1: String? = nil, baseUrlManifest: String? = nil, baseUrlManifest1: String? = nil, captionLanguageMappings: [CaptionLanguageMapping]? = nil, captionLanguageSetting: HlsCaptionLanguageSetting? = nil, clientCache: HlsClientCache? = nil, codecSpecification: HlsCodecSpecification? = nil, constantIv: String? = nil, destination: OutputLocationRef, directoryStructure: HlsDirectoryStructure? = nil, encryptionType: HlsEncryptionType? = nil, hlsCdnSettings: HlsCdnSettings? = nil, hlsId3SegmentTagging: HlsId3SegmentTaggingState? = nil, iFrameOnlyPlaylists: IFrameOnlyPlaylistType? = nil, indexNSegments: Int? = nil, inputLossAction: InputLossActionForHlsOut? = nil, ivInManifest: HlsIvInManifest? = nil, ivSource: HlsIvSource? = nil, keepSegments: Int? = nil, keyFormat: String? = nil, keyFormatVersions: String? = nil, keyProviderSettings: KeyProviderSettings? = nil, manifestCompression: HlsManifestCompression? = nil, manifestDurationFormat: HlsManifestDurationFormat? = nil, minSegmentLength: Int? = nil, mode: HlsMode? = nil, outputSelection: HlsOutputSelection? = nil, programDateTime: HlsProgramDateTime? = nil, programDateTimePeriod: Int? = nil, redundantManifest: HlsRedundantManifest? = nil, segmentationMode: HlsSegmentationMode? = nil, segmentLength: Int? = nil, segmentsPerSubdirectory: Int? = nil, streamInfResolution: HlsStreamInfResolution? = nil, timedMetadataId3Frame: HlsTimedMetadataId3Frame? = nil, timedMetadataId3Period: Int? = nil, timestampDeltaMilliseconds: Int? = nil, tsFileMode: HlsTsFileMode? = nil)
  • Declaration

    Swift

    public func validate(name: String) throws