HlsGroupSettings

public struct HlsGroupSettings : AWSShape

Undocumented

  • Declaration

    Swift

    public static var _members: [AWSShapeMember]
  • 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.

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

    public let audioOnlyHeader: HlsAudioOnlyHeader?
  • 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 baseUrl: String?
  • Language to be used on Caption outputs

    Declaration

    Swift

    public let captionLanguageMappings: [HlsCaptionLanguageMapping]?
  • 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 ENABLED, sets #EXT-X-ALLOW-CACHE:no tag, which prevents client 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?
  • 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.

    Declaration

    Swift

    public let destination: String?
  • Settings associated with the destination. Will vary based on the type of destination

    Declaration

    Swift

    public let destinationSettings: DestinationSettings?
  • Indicates whether segments should be placed in subdirectories.

    Declaration

    Swift

    public let directoryStructure: HlsDirectoryStructure?
  • DRM settings.

    Declaration

    Swift

    public let encryption: HlsEncryptionSettings?
  • When set to GZIP, compresses HLS playlist.

    Declaration

    Swift

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

    Declaration

    Swift

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

    Declaration

    Swift

    public let minFinalSegmentLength: Double?
  • 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.

    Declaration

    Swift

    public let minSegmentLength: Int?
  • Indicates whether the .m3u8 manifest file should be generated for this HLS 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 timestamp_offset.

    Declaration

    Swift

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

    Declaration

    Swift

    public let programDateTimePeriod: Int?
  • When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback.

    Declaration

    Swift

    public let segmentControl: HlsSegmentControl?
  • 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 SINGLE_DIRECTORY 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?
  • Undocumented

    Declaration

    Swift

    public init(additionalManifests: [HlsAdditionalManifest]? = nil, adMarkers: [HlsAdMarkers]? = nil, audioOnlyHeader: HlsAudioOnlyHeader? = nil, baseUrl: String? = nil, captionLanguageMappings: [HlsCaptionLanguageMapping]? = nil, captionLanguageSetting: HlsCaptionLanguageSetting? = nil, clientCache: HlsClientCache? = nil, codecSpecification: HlsCodecSpecification? = nil, destination: String? = nil, destinationSettings: DestinationSettings? = nil, directoryStructure: HlsDirectoryStructure? = nil, encryption: HlsEncryptionSettings? = nil, manifestCompression: HlsManifestCompression? = nil, manifestDurationFormat: HlsManifestDurationFormat? = nil, minFinalSegmentLength: Double? = nil, minSegmentLength: Int? = nil, outputSelection: HlsOutputSelection? = nil, programDateTime: HlsProgramDateTime? = nil, programDateTimePeriod: Int? = nil, segmentControl: HlsSegmentControl? = nil, segmentLength: Int? = nil, segmentsPerSubdirectory: Int? = nil, streamInfResolution: HlsStreamInfResolution? = nil, timedMetadataId3Frame: HlsTimedMetadataId3Frame? = nil, timedMetadataId3Period: Int? = nil, timestampDeltaMilliseconds: Int? = nil)
  • Declaration

    Swift

    public func validate(name: String) throws