Class CfnChannel.HlsGroupSettingsProperty
The settings for an HLS output group.
Inheritance
Implements
Namespace: Amazon.CDK.AWS.MediaLive
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class HlsGroupSettingsProperty : Object, CfnChannel.IHlsGroupSettingsProperty
Syntax (vb)
Public Class HlsGroupSettingsProperty
Inherits Object
Implements CfnChannel.IHlsGroupSettingsProperty
Remarks
The parent of this entity is OutputGroupSettings.
ExampleMetadata: fixture=_generated
Examples
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
using Amazon.CDK.AWS.MediaLive;
var hlsGroupSettingsProperty = new HlsGroupSettingsProperty {
AdMarkers = new [] { "adMarkers" },
BaseUrlContent = "baseUrlContent",
BaseUrlContent1 = "baseUrlContent1",
BaseUrlManifest = "baseUrlManifest",
BaseUrlManifest1 = "baseUrlManifest1",
CaptionLanguageMappings = new [] { new CaptionLanguageMappingProperty {
CaptionChannel = 123,
LanguageCode = "languageCode",
LanguageDescription = "languageDescription"
} },
CaptionLanguageSetting = "captionLanguageSetting",
ClientCache = "clientCache",
CodecSpecification = "codecSpecification",
ConstantIv = "constantIv",
Destination = new OutputLocationRefProperty {
DestinationRefId = "destinationRefId"
},
DirectoryStructure = "directoryStructure",
DiscontinuityTags = "discontinuityTags",
EncryptionType = "encryptionType",
HlsCdnSettings = new HlsCdnSettingsProperty {
HlsAkamaiSettings = new HlsAkamaiSettingsProperty {
ConnectionRetryInterval = 123,
FilecacheDuration = 123,
HttpTransferMode = "httpTransferMode",
NumRetries = 123,
RestartDelay = 123,
Salt = "salt",
Token = "token"
},
HlsBasicPutSettings = new HlsBasicPutSettingsProperty {
ConnectionRetryInterval = 123,
FilecacheDuration = 123,
NumRetries = 123,
RestartDelay = 123
},
HlsMediaStoreSettings = new HlsMediaStoreSettingsProperty {
ConnectionRetryInterval = 123,
FilecacheDuration = 123,
MediaStoreStorageClass = "mediaStoreStorageClass",
NumRetries = 123,
RestartDelay = 123
},
HlsS3Settings = new HlsS3SettingsProperty {
CannedAcl = "cannedAcl"
},
HlsWebdavSettings = new HlsWebdavSettingsProperty {
ConnectionRetryInterval = 123,
FilecacheDuration = 123,
HttpTransferMode = "httpTransferMode",
NumRetries = 123,
RestartDelay = 123
}
},
HlsId3SegmentTagging = "hlsId3SegmentTagging",
IFrameOnlyPlaylists = "iFrameOnlyPlaylists",
IncompleteSegmentBehavior = "incompleteSegmentBehavior",
IndexNSegments = 123,
InputLossAction = "inputLossAction",
IvInManifest = "ivInManifest",
IvSource = "ivSource",
KeepSegments = 123,
KeyFormat = "keyFormat",
KeyFormatVersions = "keyFormatVersions",
KeyProviderSettings = new KeyProviderSettingsProperty {
StaticKeySettings = new StaticKeySettingsProperty {
KeyProviderServer = new InputLocationProperty {
PasswordParam = "passwordParam",
Uri = "uri",
Username = "username"
},
StaticKeyValue = "staticKeyValue"
}
},
ManifestCompression = "manifestCompression",
ManifestDurationFormat = "manifestDurationFormat",
MinSegmentLength = 123,
Mode = "mode",
OutputSelection = "outputSelection",
ProgramDateTime = "programDateTime",
ProgramDateTimeClock = "programDateTimeClock",
ProgramDateTimePeriod = 123,
RedundantManifest = "redundantManifest",
SegmentationMode = "segmentationMode",
SegmentLength = 123,
SegmentsPerSubdirectory = 123,
StreamInfResolution = "streamInfResolution",
TimedMetadataId3Frame = "timedMetadataId3Frame",
TimedMetadataId3Period = 123,
TimestampDeltaMilliseconds = 123,
TsFileMode = "tsFileMode"
};
Synopsis
Constructors
HlsGroupSettingsProperty() |
Properties
AdMarkers | Chooses one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. |
BaseUrlContent | A partial URI prefix that will be prepended to each output in the media .m3u8 file. The partial URI prefix can be used if the base manifest is delivered from a different URL than the main .m3u8 file. |
BaseUrlContent1 | Optional. |
BaseUrlManifest | A partial URI prefix that will be prepended to each output in the media .m3u8 file. The partial URI prefix can be used if the base manifest is delivered from a different URL than the main .m3u8 file. |
BaseUrlManifest1 | Optional. |
CaptionLanguageMappings | A mapping of up to 4 captions channels to captions languages. |
CaptionLanguageSetting | Applies only to 608 embedded output captions. |
ClientCache | 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. |
CodecSpecification | The specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. |
ConstantIv | Used with encryptionType. |
Destination | A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled). |
DirectoryStructure | Places segments in subdirectories. |
DiscontinuityTags | Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests for this output group. |
EncryptionType | Encrypts the segments with the specified encryption scheme. |
HlsCdnSettings | The parameters that control interactions with the CDN. |
HlsId3SegmentTagging | State of HLS ID3 Segment Tagging. |
IFrameOnlyPlaylists | DISABLED: Don't create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field). |
IncompleteSegmentBehavior | 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. |
IndexNSegments | Applies only if the Mode field is LIVE. |
InputLossAction | A parameter that controls output group behavior on an input loss. |
IvInManifest | Used with encryptionType. |
IvSource | Used with encryptionType. |
KeepSegments | Applies only if the Mode field is LIVE. |
KeyFormat | Specifies how the key is represented in the resource identified by the URI. |
KeyFormatVersions | Either a single positive integer version value or a slash-delimited list of version values (1/2/3). |
KeyProviderSettings | The key provider settings. |
ManifestCompression | When set to gzip, compresses HLS playlist. |
ManifestDurationFormat | Indicates whether the output manifest should use a floating point or integer values for segment duration. |
MinSegmentLength | 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. |
Mode | If "vod," all segments are indexed and kept permanently in the destination and manifest. |
OutputSelection | MANIFESTSANDSEGMENTS: Generates manifests (the master manifest, if applicable, and media manifests) for this output group. |
ProgramDateTime | Includes or excludes the 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. |
ProgramDateTimeClock | Specifies the algorithm used to drive the HLS EXT-X-PROGRAM-DATE-TIME clock. |
ProgramDateTimePeriod | The period of insertion of the EXT-X-PROGRAM-DATE-TIME entry, in seconds. |
RedundantManifest | 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 a playout device that supports 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. |
SegmentationMode | useInputSegmentation has been deprecated. |
SegmentLength | The length of the MPEG-2 Transport Stream segments to create, in seconds. |
SegmentsPerSubdirectory | The number of segments to write to a subdirectory before starting a new one. |
StreamInfResolution | The include or exclude RESOLUTION attribute for a video in the EXT-X-STREAM-INF tag of a variant manifest. |
TimedMetadataId3Frame | Indicates the ID3 frame that has the timecode. |
TimedMetadataId3Period | The timed metadata interval, in seconds. |
TimestampDeltaMilliseconds | Provides an extra millisecond delta offset to fine tune the timestamps. |
TsFileMode | SEGMENTEDFILES: Emits the program as segments -multiple .ts media files. SINGLEFILE: Applies only if the Mode field is VOD. Emits 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. |
Constructors
HlsGroupSettingsProperty()
public HlsGroupSettingsProperty()
Properties
AdMarkers
Chooses one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.
public string[] AdMarkers { get; set; }
Property Value
System.String[]
Remarks
BaseUrlContent
A partial URI prefix that will be prepended to each output in the media .m3u8 file. The partial URI prefix can be used if the base manifest is delivered from a different URL than the main .m3u8 file.
public string BaseUrlContent { get; set; }
Property Value
System.String
Remarks
BaseUrlContent1
Optional.
public string BaseUrlContent1 { get; set; }
Property Value
System.String
Remarks
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.
BaseUrlManifest
A partial URI prefix that will be prepended to each output in the media .m3u8 file. The partial URI prefix can be used if the base manifest is delivered from a different URL than the main .m3u8 file.
public string BaseUrlManifest { get; set; }
Property Value
System.String
Remarks
BaseUrlManifest1
Optional.
public string BaseUrlManifest1 { get; set; }
Property Value
System.String
Remarks
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.
CaptionLanguageMappings
A mapping of up to 4 captions channels to captions languages.
public object CaptionLanguageMappings { get; set; }
Property Value
System.Object
Remarks
This is meaningful only if captionLanguageSetting is set to "insert."
CaptionLanguageSetting
Applies only to 608 embedded output captions.
public string CaptionLanguageSetting { get; set; }
Property Value
System.String
Remarks
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 that 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 captions selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match properly with the output captions. None: Include the CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest.
ClientCache
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.
public string ClientCache { get; set; }
Property Value
System.String
Remarks
CodecSpecification
The specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
public string CodecSpecification { get; set; }
Property Value
System.String
Remarks
ConstantIv
Used with encryptionType.
public string ConstantIv { get; set; }
Property Value
System.String
Remarks
This is a 128-bit, 16-byte hex value that is represented by a 32-character text string. If ivSource is set to "explicit," this parameter is required and is used as the IV for encryption.
Destination
A directory or HTTP destination for the HLS segments, manifest files, and encryption keys (if enabled).
public object Destination { get; set; }
Property Value
System.Object
Remarks
DirectoryStructure
Places segments in subdirectories.
public string DirectoryStructure { get; set; }
Property Value
System.String
Remarks
DiscontinuityTags
Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests for this output group.
public string DiscontinuityTags { get; set; }
Property Value
System.String
Remarks
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.
EncryptionType
Encrypts the segments with the specified encryption scheme.
public string EncryptionType { get; set; }
Property Value
System.String
Remarks
Exclude this parameter if you don't want encryption.
HlsCdnSettings
The parameters that control interactions with the CDN.
public object HlsCdnSettings { get; set; }
Property Value
System.Object
Remarks
HlsId3SegmentTagging
State of HLS ID3 Segment Tagging.
public string HlsId3SegmentTagging { get; set; }
Property Value
System.String
Remarks
IFrameOnlyPlaylists
DISABLED: Don't create an I-frame-only manifest, but do create the master and media manifests (according to the Output Selection field).
public string IFrameOnlyPlaylists { get; set; }
Property Value
System.String
Remarks
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".
IncompleteSegmentBehavior
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.
public string IncompleteSegmentBehavior { get; set; }
Property Value
System.String
Remarks
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.
IndexNSegments
Applies only if the Mode field is LIVE.
public Nullable<double> IndexNSegments { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
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.
InputLossAction
A parameter that controls output group behavior on an input loss.
public string InputLossAction { get; set; }
Property Value
System.String
Remarks
IvInManifest
Used with encryptionType.
public string IvInManifest { get; set; }
Property Value
System.String
Remarks
The IV (initialization vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If set to "include," the IV is listed in the manifest. Otherwise, the IV is not in the manifest.
IvSource
Used with encryptionType.
public string IvSource { get; set; }
Property Value
System.String
Remarks
The IV (initialization vector) is a 128-bit number used in conjunction with the key for encrypting blocks. If this setting is "followsSegmentNumber," it causes the IV to change every segment (to match the segment number). If this is set to "explicit," you must enter a constantIv value.
KeepSegments
Applies only if the Mode field is LIVE.
public Nullable<double> KeepSegments { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Specifies the number of media segments (.ts files) to retain in the destination directory.
KeyFormat
Specifies how the key is represented in the resource identified by the URI.
public string KeyFormat { get; set; }
Property Value
System.String
Remarks
If the parameter is absent, an implicit value of "identity" is used. A reverse DNS string can also be specified.
KeyFormatVersions
Either a single positive integer version value or a slash-delimited list of version values (1/2/3).
public string KeyFormatVersions { get; set; }
Property Value
System.String
Remarks
KeyProviderSettings
The key provider settings.
public object KeyProviderSettings { get; set; }
Property Value
System.Object
Remarks
ManifestCompression
When set to gzip, compresses HLS playlist.
public string ManifestCompression { get; set; }
Property Value
System.String
Remarks
ManifestDurationFormat
Indicates whether the output manifest should use a floating point or integer values for segment duration.
public string ManifestDurationFormat { get; set; }
Property Value
System.String
Remarks
MinSegmentLength
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.
public Nullable<double> MinSegmentLength { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Mode
If "vod," all segments are indexed and kept permanently in the destination and manifest.
public string Mode { get; set; }
Property Value
System.String
Remarks
If "live," only the number segments specified in keepSegments and indexNSegments are kept. Newer segments replace older segments, which might prevent players from rewinding all the way to the beginning of the channel. 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.
OutputSelection
MANIFESTSANDSEGMENTS: Generates manifests (the master manifest, if applicable, and media manifests) for this output group.
public string OutputSelection { get; set; }
Property Value
System.String
Remarks
SEGMENTSONLY: Doesn't generate any manifests for this output group.
ProgramDateTime
Includes or excludes the 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.
public string ProgramDateTime { get; set; }
Property Value
System.String
Remarks
ProgramDateTimeClock
Specifies the algorithm used to drive the HLS EXT-X-PROGRAM-DATE-TIME clock.
public string ProgramDateTimeClock { get; set; }
Property Value
System.String
Remarks
Options include: INITIALIZE_FROM_OUTPUT_TIMECODE: The PDT clock is initialized as a function of the first output timecode, then incremented by the EXTINF duration of each encoded segment. SYSTEM_CLOCK: The PDT clock is initialized as a function of the UTC wall clock, then incremented by the EXTINF duration of each encoded segment. If the PDT clock diverges from the wall clock by more than 500ms, it is resynchronized to the wall clock.
ProgramDateTimePeriod
The period of insertion of the EXT-X-PROGRAM-DATE-TIME entry, in seconds.
public Nullable<double> ProgramDateTimePeriod { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
RedundantManifest
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 a playout device that supports 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.
public string RedundantManifest { get; set; }
Property Value
System.String
Remarks
SegmentationMode
useInputSegmentation has been deprecated.
public string SegmentationMode { get; set; }
Property Value
System.String
Remarks
The configured segment size is always used.
SegmentLength
The length of the MPEG-2 Transport Stream segments to create, in seconds.
public Nullable<double> SegmentLength { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
Note that segments will end on the next keyframe after this number of seconds, so the actual segment length might be longer.
SegmentsPerSubdirectory
The number of segments to write to a subdirectory before starting a new one.
public Nullable<double> SegmentsPerSubdirectory { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
For this setting to have an effect, directoryStructure must be subdirectoryPerStream.
StreamInfResolution
The include or exclude RESOLUTION attribute for a video in the EXT-X-STREAM-INF tag of a variant manifest.
public string StreamInfResolution { get; set; }
Property Value
System.String
Remarks
TimedMetadataId3Frame
Indicates the ID3 frame that has the timecode.
public string TimedMetadataId3Frame { get; set; }
Property Value
System.String
Remarks
TimedMetadataId3Period
The timed metadata interval, in seconds.
public Nullable<double> TimedMetadataId3Period { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
TimestampDeltaMilliseconds
Provides an extra millisecond delta offset to fine tune the timestamps.
public Nullable<double> TimestampDeltaMilliseconds { get; set; }
Property Value
System.Nullable<System.Double>
Remarks
TsFileMode
SEGMENTEDFILES: Emits the program as segments -multiple .ts media files. SINGLEFILE: Applies only if the Mode field is VOD. Emits 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.
public string TsFileMode { get; set; }
Property Value
System.String