CmafGroupSettings
public struct CmafGroupSettings : AWSShape
Undocumented
-
Declaration
Swift
public static var _members: [AWSShapeMember]
-
By default, the service creates one top-level .m3u8 HLS manifest and one top -level .mpd DASH manifest for each CMAF output group in your job. These default manifests reference 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. For each additional manifest that you specify, the service creates one HLS manifest and one DASH manifest.
Declaration
Swift
public let additionalManifests: [CmafAdditionalManifest]?
-
A partial URI prefix that will be put in the manifest file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file.
Declaration
Swift
public let baseUrl: String?
-
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: CmafClientCache?
-
Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
Declaration
Swift
public let codecSpecification: CmafCodecSpecification?
-
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?
-
DRM settings.
Declaration
Swift
public let encryption: CmafEncryptionSettings?
-
Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types.
Declaration
Swift
public let fragmentLength: Int?
-
When set to GZIP, compresses HLS playlist.
Declaration
Swift
public let manifestCompression: CmafManifestCompression?
-
Indicates whether the output manifest should use floating point values for segment duration.
Declaration
Swift
public let manifestDurationFormat: CmafManifestDurationFormat?
-
Minimum time of initially buffered media that is needed to ensure smooth playout.
Declaration
Swift
public let minBufferTime: Int?
-
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?
-
Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control (SegmentControl) to Single file (SINGLE_FILE).
Declaration
Swift
public let mpdProfile: CmafMpdProfile?
-
When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.
Declaration
Swift
public let segmentControl: CmafSegmentControl?
-
Use this setting to specify the length, in seconds, of each individual CMAF segment. This value applies to the whole package; that is, to every output in the output group. Note that segments end on the first keyframe after this number of seconds, so the actual segment length might be slightly longer. If you set Segment control (CmafSegmentControl) to single file, the service puts the content of each output in a single file that has metadata that marks these segments. If you set it to segmented files, the service creates multiple files for each output, each with the content of one segment.
Declaration
Swift
public let segmentLength: Int?
-
Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.
Declaration
Swift
public let streamInfResolution: CmafStreamInfResolution?
-
When set to ENABLED, a DASH MPD manifest will be generated for this output.
Declaration
Swift
public let writeDashManifest: CmafWriteDASHManifest?
-
When set to ENABLED, an Apple HLS manifest will be generated for this output.
Declaration
Swift
public let writeHlsManifest: CmafWriteHLSManifest?
-
When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn’t enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element.
Declaration
Swift
public let writeSegmentTimelineInRepresentation: CmafWriteSegmentTimelineInRepresentation?
-
init(additionalManifests:baseUrl:clientCache:codecSpecification:destination:destinationSettings:encryption:fragmentLength:manifestCompression:manifestDurationFormat:minBufferTime:minFinalSegmentLength:mpdProfile:segmentControl:segmentLength:streamInfResolution:writeDashManifest:writeHlsManifest:writeSegmentTimelineInRepresentation:)
Undocumented
Declaration
Swift
public init(additionalManifests: [CmafAdditionalManifest]? = nil, baseUrl: String? = nil, clientCache: CmafClientCache? = nil, codecSpecification: CmafCodecSpecification? = nil, destination: String? = nil, destinationSettings: DestinationSettings? = nil, encryption: CmafEncryptionSettings? = nil, fragmentLength: Int? = nil, manifestCompression: CmafManifestCompression? = nil, manifestDurationFormat: CmafManifestDurationFormat? = nil, minBufferTime: Int? = nil, minFinalSegmentLength: Double? = nil, mpdProfile: CmafMpdProfile? = nil, segmentControl: CmafSegmentControl? = nil, segmentLength: Int? = nil, streamInfResolution: CmafStreamInfResolution? = nil, writeDashManifest: CmafWriteDASHManifest? = nil, writeHlsManifest: CmafWriteHLSManifest? = nil, writeSegmentTimelineInRepresentation: CmafWriteSegmentTimelineInRepresentation? = nil)
-
Declaration
Swift
public func validate(name: String) throws