Skip to content
v2.274.0

Experimental

@aws-cdk/aws-medialive-alpha is an experimental (alpha) package: its API may change in any release, without a major version bump.

HlsOutputGroupProps Struct ​

Properties for an HLS output group.

Example ​

ts
declare const stack: Stack;
declare const input: medialive.IInput;
declare const bucket: s3.IBucket;
declare const video: medialive.EncodeConfiguration;

new medialive.Channel(stack, 'Channel', {
  inputs: [{ input }],
  availBlanking: {
    state: medialive.AvailBlankingState.ENABLED,
    image: medialive.FileLocation.fromBucket(bucket, 'slates/avail.png'),
  },
  blackoutSlate: {
    state: medialive.BlackoutSlateState.ENABLED,
    image: medialive.FileLocation.fromBucket(bucket, 'slates/blackout.png'),
  },
  outputGroups: [
    medialive.OutputGroupConfiguration.hls({
      name: 'hls',
      destinations: [medialive.OutputDestination.toBucket(bucket, 'live/stream')],
      outputs: [{ encodes: [video], outputName: 'hls_out' }],
    }),
  ],
});

Properties ​

adMarkersoptionalHlsAdMarkers[]ad_markersoptionaltyping.List[HlsAdMarkers]adMarkersoptionalList<HlsAdMarkers>AdMarkersoptionalHlsAdMarkers[]AdMarkersoptional*[]HlsAdMarkers#
Chooses one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.

Default: no ad markers

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

Default: no base URL content prefix

baseUrlContent1optionalstringbase_url_content1optionalstrbaseUrlContent1optionalStringBaseUrlContent1optionalstringBaseUrlContent1optional*string#
Optional base URL content for pipeline 1 if different from pipeline 0.

Default: no base URL content 1

baseUrlManifestoptionalstringbase_url_manifestoptionalstrbaseUrlManifestoptionalStringBaseUrlManifestoptionalstringBaseUrlManifestoptional*string#
A partial URI prefix that will be prepended to each output in the media .m3u8 file for the manifest.

Default: no base URL manifest prefix

baseUrlManifest1optionalstringbase_url_manifest1optionalstrbaseUrlManifest1optionalStringBaseUrlManifest1optionalstringBaseUrlManifest1optional*string#
Optional base URL manifest for pipeline 1 if different from pipeline 0.

Default: no base URL manifest 1

captionLanguageMappingsoptionalCaptionLanguageMapping[]caption_language_mappingsoptionaltyping.List[CaptionLanguageMapping]captionLanguageMappingsoptionalList<CaptionLanguageMapping>CaptionLanguageMappingsoptionalCaptionLanguageMapping[]CaptionLanguageMappingsoptional*[]CaptionLanguageMapping#
A mapping of up to 4 captions channels to captions languages.

Default: no caption language mappings

Meaningful only if captionLanguageSetting is set to INSERT.

captionLanguageSettingoptionalHlsCaptionLanguageSettingcaption_language_settingoptionalHlsCaptionLanguageSettingcaptionLanguageSettingoptionalHlsCaptionLanguageSettingCaptionLanguageSettingoptionalHlsCaptionLanguageSettingCaptionLanguageSettingoptionalHlsCaptionLanguageSetting#
Applies only to 608 embedded output captions.

Default: service default

clientCacheoptionalHlsClientCacheclient_cacheoptionalHlsClientCacheclientCacheoptionalHlsClientCacheClientCacheoptionalHlsClientCacheClientCacheoptionalHlsClientCache= HlsClientCache.ENABLED#
When set to DISABLED, sets the #EXT-X-ALLOW-CACHE:no tag in the manifest.
codecSpecificationoptionalHlsCodecSpecificationcodec_specificationoptionalHlsCodecSpecificationcodecSpecificationoptionalHlsCodecSpecificationCodecSpecificationoptionalHlsCodecSpecificationCodecSpecificationoptionalHlsCodecSpecification= HlsCodecSpecification.RFC_4281#
The specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
constantIvoptionalstringconstant_ivoptionalstrconstantIvoptionalStringConstantIvoptionalstringConstantIvoptional*string#
A 128-bit, 16-byte hex value represented by a 32-character text string used as the IV for encryption.

Default: no constant IV

Used with encryptionType when ivSource is set to EXPLICIT.

destinationsOutputDestination[]destinationstyping.List[OutputDestination]destinationsList<OutputDestination>DestinationsOutputDestination[]Destinations*[]OutputDestinationrequired#
The destinations for this output group — one per pipeline.
notes

Array position determines the pipeline mapping:

  • destinations[0] → Pipeline 0
  • destinations[1] → Pipeline 1 (STANDARD channels only)

For a SINGLE_PIPELINE channel, provide exactly 1 destination. For a STANDARD channel, provide exactly 2 destinations.

directoryStructureoptionalHlsDirectoryStructuredirectory_structureoptionalHlsDirectoryStructuredirectoryStructureoptionalHlsDirectoryStructureDirectoryStructureoptionalHlsDirectoryStructureDirectoryStructureoptionalHlsDirectoryStructure#
Places segments in subdirectories.

Default: HlsDirectoryStructure.SINGLE_DIRECTORY

discontinuityTagsoptionalHlsDiscontinuityTagsdiscontinuity_tagsoptionalHlsDiscontinuityTagsdiscontinuityTagsoptionalHlsDiscontinuityTagsDiscontinuityTagsoptionalHlsDiscontinuityTagsDiscontinuityTagsoptionalHlsDiscontinuityTags= HlsDiscontinuityTags.INSERT#
Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests.
encryptionTypeoptionalHlsEncryptionTypeencryption_typeoptionalHlsEncryptionTypeencryptionTypeoptionalHlsEncryptionTypeEncryptionTypeoptionalHlsEncryptionTypeEncryptionTypeoptionalHlsEncryptionType#
Encrypts the segments with the specified encryption scheme.

Default: no encryption

hlsCdnSettingsoptionalHlsCdnSettingshls_cdn_settingsoptionalHlsCdnSettingshlsCdnSettingsoptionalHlsCdnSettingsHlsCdnSettingsoptionalHlsCdnSettingsHlsCdnSettingsoptionalHlsCdnSettings#
Settings to configure the CDN for the HLS output.

Default: service default

hlsId3SegmentTaggingoptionalHlsId3SegmentTaggingStatehls_id3_segment_taggingoptionalHlsId3SegmentTaggingStatehlsId3SegmentTaggingoptionalHlsId3SegmentTaggingStateHlsId3SegmentTaggingoptionalHlsId3SegmentTaggingStateHlsId3SegmentTaggingoptionalHlsId3SegmentTaggingState#
State of HLS ID3 Segment Tagging.

Default: HlsId3SegmentTaggingState.DISABLED

iFrameOnlyPlaylistsoptionalHlsIFrameOnlyPlaylistsi_frame_only_playlistsoptionalHlsIFrameOnlyPlaylistsiFrameOnlyPlaylistsoptionalHlsIFrameOnlyPlaylistsIFrameOnlyPlaylistsoptionalHlsIFrameOnlyPlaylistsIFrameOnlyPlaylistsoptionalHlsIFrameOnlyPlaylists= HlsIFrameOnlyPlaylists.DISABLED#
Whether to create an I-frame-only manifest.
incompleteSegmentBehavioroptionalHlsIncompleteSegmentBehaviorincomplete_segment_behavioroptionalHlsIncompleteSegmentBehaviorincompleteSegmentBehavioroptionalHlsIncompleteSegmentBehaviorIncompleteSegmentBehavioroptionalHlsIncompleteSegmentBehaviorIncompleteSegmentBehavioroptionalHlsIncompleteSegmentBehavior#
Specifies whether to include the final (incomplete) segment in the media output.

Default: HlsIncompleteSegmentBehavior.AUTO

indexNSegmentsoptionalnumberindex_n_segmentsoptionalint | floatindexNSegmentsoptionalNumberIndexNSegmentsoptionaldoubleIndexNSegmentsoptional*float64= 10#
The maximum number of segments in the media manifest (LIVE mode only).
inputLossActionoptionalHlsInputLossActioninput_loss_actionoptionalHlsInputLossActioninputLossActionoptionalHlsInputLossActionInputLossActionoptionalHlsInputLossActionInputLossActionoptionalHlsInputLossAction= HlsInputLossAction.EMIT_OUTPUT#
Action to take when the input is lost.
ivInManifestoptionalHlsIvInManifestiv_in_manifestoptionalHlsIvInManifestivInManifestoptionalHlsIvInManifestIvInManifestoptionalHlsIvInManifestIvInManifestoptionalHlsIvInManifest#
Whether the IV is listed in the manifest.

Default: service default

ivSourceoptionalHlsIvSourceiv_sourceoptionalHlsIvSourceivSourceoptionalHlsIvSourceIvSourceoptionalHlsIvSourceIvSourceoptionalHlsIvSource#
Whether the IV follows the segment number or is explicit.

Default: service default

keepSegmentsoptionalnumberkeep_segmentsoptionalint | floatkeepSegmentsoptionalNumberKeepSegmentsoptionaldoubleKeepSegmentsoptional*float64= 21#
The number of segments to retain in the destination directory (LIVE mode only).
keyFormatoptionalstringkey_formatoptionalstrkeyFormatoptionalStringKeyFormatoptionalstringKeyFormatoptional*string#
Specifies how the key is represented in the resource identified by the URI.

Default: service default

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

Default: service default

keyProviderSettingsoptionalHlsKeyProviderSettingskey_provider_settingsoptionalHlsKeyProviderSettingskeyProviderSettingsoptionalHlsKeyProviderSettingsKeyProviderSettingsoptionalHlsKeyProviderSettingsKeyProviderSettingsoptionalHlsKeyProviderSettings#
The key provider settings for HLS encryption.

Default: no key provider settings

manifestCompressionoptionalHlsManifestCompressionmanifest_compressionoptionalHlsManifestCompressionmanifestCompressionoptionalHlsManifestCompressionManifestCompressionoptionalHlsManifestCompressionManifestCompressionoptionalHlsManifestCompression= HlsManifestCompression.NONE#
When set to GZIP, compresses HLS playlist.
manifestDurationFormatoptionalHlsManifestDurationFormatmanifest_duration_formatoptionalHlsManifestDurationFormatmanifestDurationFormatoptionalHlsManifestDurationFormatManifestDurationFormatoptionalHlsManifestDurationFormatManifestDurationFormatoptionalHlsManifestDurationFormat#
Indicates whether the output manifest should use floating point or integer values for segment duration.

Default: HlsManifestDurationFormat.FLOATING_POINT

minSegmentoptionalSegmentmin_segmentoptionalSegmentminSegmentoptionalSegmentMinSegmentoptionalSegmentMinSegmentoptionalSegment#
The minimum segment length.

Default: service default

HLS supports whole-second segments only.

modeoptionalHlsModemodeoptionalHlsModemodeoptionalHlsModeModeoptionalHlsModeModeoptionalHlsMode= HlsMode.LIVE#
The output mode — LIVE or VOD.
namestringnamestrnameStringNamestringName*stringrequired#
The name of this output group.

Used as the destination reference ID. Underscores are normalised to hyphens internally.

outputsoptionalHlsOutputDefinition[]outputsoptionaltyping.List[HlsOutputDefinition]outputsoptionalList<HlsOutputDefinition>OutputsoptionalHlsOutputDefinition[]Outputsoptional*[]HlsOutputDefinition#
The outputs for this HLS output group.

Default: no initial outputs

outputSelectionoptionalHlsOutputSelectionoutput_selectionoptionalHlsOutputSelectionoutputSelectionoptionalHlsOutputSelectionOutputSelectionoptionalHlsOutputSelectionOutputSelectionoptionalHlsOutputSelection#
Controls which manifests and segments are generated.

Default: HlsOutputSelection.MANIFESTS_AND_SEGMENTS

programDateTimeoptionalHlsProgramDateTimeprogram_date_timeoptionalHlsProgramDateTimeprogramDateTimeoptionalHlsProgramDateTimeProgramDateTimeoptionalHlsProgramDateTimeProgramDateTimeoptionalHlsProgramDateTime= HlsProgramDateTime.INCLUDE#
Includes or excludes the EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
programDateTimeClockoptionalHlsProgramDateTimeClockprogram_date_time_clockoptionalHlsProgramDateTimeClockprogramDateTimeClockoptionalHlsProgramDateTimeClockProgramDateTimeClockoptionalHlsProgramDateTimeClockProgramDateTimeClockoptionalHlsProgramDateTimeClock#
Specifies the algorithm used to drive the HLS EXT-X-PROGRAM-DATE-TIME clock.

Default: HlsProgramDateTimeClock.SYSTEM_CLOCK, or INITIALIZE_FROM_OUTPUT_TIMECODE with epoch locking

programDateTimePeriodoptionalDurationprogram_date_time_periodoptionalDurationprogramDateTimePeriodoptionalDurationProgramDateTimePeriodoptionalDurationProgramDateTimePeriodoptionalDuration= Duration.minutes(10)#
The period of insertion of the EXT-X-PROGRAM-DATE-TIME entry.
redundantManifestoptionalHlsRedundantManifestredundant_manifestoptionalHlsRedundantManifestredundantManifestoptionalHlsRedundantManifestRedundantManifestoptionalHlsRedundantManifestRedundantManifestoptionalHlsRedundantManifest= HlsRedundantManifest.DISABLED#
Whether the master manifest includes information about both pipelines.
segmentoptionalSegmentsegmentoptionalSegmentsegmentoptionalSegmentSegmentoptionalSegmentSegmentoptionalSegment= Segment.seconds(2)#
The length of each media segment.

HLS supports whole-second segments only.

segmentationModeoptionalHlsSegmentationModesegmentation_modeoptionalHlsSegmentationModesegmentationModeoptionalHlsSegmentationModeSegmentationModeoptionalHlsSegmentationModeSegmentationModeoptionalHlsSegmentationMode#
The segmentation mode.

Default: HlsSegmentationMode.USE_SEGMENT_DURATION

segmentsPerSubdirectoryoptionalnumbersegments_per_subdirectoryoptionalint | floatsegmentsPerSubdirectoryoptionalNumberSegmentsPerSubdirectoryoptionaldoubleSegmentsPerSubdirectoryoptional*float64= 10000#
The number of segments to write to a subdirectory before starting a new one.
streamInfResolutionoptionalHlsStreamInfResolutionstream_inf_resolutionoptionalHlsStreamInfResolutionstreamInfResolutionoptionalHlsStreamInfResolutionStreamInfResolutionoptionalHlsStreamInfResolutionStreamInfResolutionoptionalHlsStreamInfResolution= HlsStreamInfResolution.INCLUDE#
Whether to include or exclude the RESOLUTION attribute for a video in the EXT-X-STREAM-INF tag.
timedMetadataId3FrameoptionalHlsTimedMetadataId3Frametimed_metadata_id3_frameoptionalHlsTimedMetadataId3FrametimedMetadataId3FrameoptionalHlsTimedMetadataId3FrameTimedMetadataId3FrameoptionalHlsTimedMetadataId3FrameTimedMetadataId3FrameoptionalHlsTimedMetadataId3Frame= HlsTimedMetadataId3Frame.PRIV#
Indicates the ID3 frame that has the timecode.
timedMetadataId3PeriodoptionalDurationtimed_metadata_id3_periodoptionalDurationtimedMetadataId3PeriodoptionalDurationTimedMetadataId3PeriodoptionalDurationTimedMetadataId3PeriodoptionalDuration= Duration.seconds(10)#
The timed metadata interval.
timestampDeltaoptionalDurationtimestamp_deltaoptionalDurationtimestampDeltaoptionalDurationTimestampDeltaoptionalDurationTimestampDeltaoptionalDuration#
Provides an extra delta offset to fine tune the timestamps.

Default: service default

tsFileModeoptionalHlsTsFileModets_file_modeoptionalHlsTsFileModetsFileModeoptionalHlsTsFileModeTsFileModeoptionalHlsTsFileModeTsFileModeoptionalHlsTsFileMode= HlsTsFileMode.SEGMENTED_FILES#
Whether to emit segmented files or a single file.