Skip to content
v2.273.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 ​

adMarkersHlsAdMarkers[]ad_markerstyping.List[HlsAdMarkers]adMarkersList<HlsAdMarkers>AdMarkersHlsAdMarkers[]AdMarkers*[]HlsAdMarkers= no ad markers#
Chooses one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.
baseUrlContentstringbase_url_contentstrbaseUrlContentStringBaseUrlContentstringBaseUrlContent*string= no base URL content prefix#
A partial URI prefix that will be prepended to each output in the media .m3u8 file.
baseUrlContent1stringbase_url_content1strbaseUrlContent1StringBaseUrlContent1stringBaseUrlContent1*string= no base URL content 1#
Optional base URL content for pipeline 1 if different from pipeline 0.
baseUrlManifeststringbase_url_manifeststrbaseUrlManifestStringBaseUrlManifeststringBaseUrlManifest*string= no base URL manifest prefix#
A partial URI prefix that will be prepended to each output in the media .m3u8 file for the manifest.
baseUrlManifest1stringbase_url_manifest1strbaseUrlManifest1StringBaseUrlManifest1stringBaseUrlManifest1*string= no base URL manifest 1#
Optional base URL manifest for pipeline 1 if different from pipeline 0.
captionLanguageMappingsCaptionLanguageMapping[]caption_language_mappingstyping.List[CaptionLanguageMapping]captionLanguageMappingsList<CaptionLanguageMapping>CaptionLanguageMappingsCaptionLanguageMapping[]CaptionLanguageMappings*[]CaptionLanguageMapping= no caption language mappings#
A mapping of up to 4 captions channels to captions languages.

Meaningful only if captionLanguageSetting is set to INSERT.

captionLanguageSettingHlsCaptionLanguageSettingcaption_language_settingHlsCaptionLanguageSettingcaptionLanguageSettingHlsCaptionLanguageSettingCaptionLanguageSettingHlsCaptionLanguageSettingCaptionLanguageSettingHlsCaptionLanguageSetting= service default#
Applies only to 608 embedded output captions.
clientCacheHlsClientCacheclient_cacheHlsClientCacheclientCacheHlsClientCacheClientCacheHlsClientCacheClientCacheHlsClientCache= HlsClientCache.ENABLED#
When set to DISABLED, sets the #EXT-X-ALLOW-CACHE:no tag in the manifest.
codecSpecificationHlsCodecSpecificationcodec_specificationHlsCodecSpecificationcodecSpecificationHlsCodecSpecificationCodecSpecificationHlsCodecSpecificationCodecSpecificationHlsCodecSpecification= HlsCodecSpecification.RFC_4281#
The specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
constantIvstringconstant_ivstrconstantIvStringConstantIvstringConstantIv*string= no constant IV#
A 128-bit, 16-byte hex value represented by a 32-character text string used as the IV for encryption.

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.

directoryStructureHlsDirectoryStructuredirectory_structureHlsDirectoryStructuredirectoryStructureHlsDirectoryStructureDirectoryStructureHlsDirectoryStructureDirectoryStructureHlsDirectoryStructure= HlsDirectoryStructure.SINGLE_DIR…#
Places segments in subdirectories.
default

Default: HlsDirectoryStructure.SINGLE_DIRECTORY

discontinuityTagsHlsDiscontinuityTagsdiscontinuity_tagsHlsDiscontinuityTagsdiscontinuityTagsHlsDiscontinuityTagsDiscontinuityTagsHlsDiscontinuityTagsDiscontinuityTagsHlsDiscontinuityTags= HlsDiscontinuityTags.INSERT#
Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests.
encryptionTypeHlsEncryptionTypeencryption_typeHlsEncryptionTypeencryptionTypeHlsEncryptionTypeEncryptionTypeHlsEncryptionTypeEncryptionTypeHlsEncryptionType= no encryption#
Encrypts the segments with the specified encryption scheme.
hlsCdnSettingsHlsCdnSettingshls_cdn_settingsHlsCdnSettingshlsCdnSettingsHlsCdnSettingsHlsCdnSettingsHlsCdnSettingsHlsCdnSettingsHlsCdnSettings= service default#
Settings to configure the CDN for the HLS output.
hlsId3SegmentTaggingHlsId3SegmentTaggingStatehls_id3_segment_taggingHlsId3SegmentTaggingStatehlsId3SegmentTaggingHlsId3SegmentTaggingStateHlsId3SegmentTaggingHlsId3SegmentTaggingStateHlsId3SegmentTaggingHlsId3SegmentTaggingState= HlsId3SegmentTaggingState.DISABL…#
State of HLS ID3 Segment Tagging.
default

Default: HlsId3SegmentTaggingState.DISABLED

iFrameOnlyPlaylistsHlsIFrameOnlyPlaylistsi_frame_only_playlistsHlsIFrameOnlyPlaylistsiFrameOnlyPlaylistsHlsIFrameOnlyPlaylistsIFrameOnlyPlaylistsHlsIFrameOnlyPlaylistsIFrameOnlyPlaylistsHlsIFrameOnlyPlaylists= HlsIFrameOnlyPlaylists.DISABLED#
Whether to create an I-frame-only manifest.
incompleteSegmentBehaviorHlsIncompleteSegmentBehaviorincomplete_segment_behaviorHlsIncompleteSegmentBehaviorincompleteSegmentBehaviorHlsIncompleteSegmentBehaviorIncompleteSegmentBehaviorHlsIncompleteSegmentBehaviorIncompleteSegmentBehaviorHlsIncompleteSegmentBehavior= HlsIncompleteSegmentBehavior.AUT…#
Specifies whether to include the final (incomplete) segment in the media output.
default

Default: HlsIncompleteSegmentBehavior.AUTO

indexNSegmentsnumberindex_n_segmentsint | floatindexNSegmentsNumberIndexNSegmentsdoubleIndexNSegments*float64= 10#
The maximum number of segments in the media manifest (LIVE mode only).
inputLossActionHlsInputLossActioninput_loss_actionHlsInputLossActioninputLossActionHlsInputLossActionInputLossActionHlsInputLossActionInputLossActionHlsInputLossAction= HlsInputLossAction.EMIT_OUTPUT#
Action to take when the input is lost.
ivInManifestHlsIvInManifestiv_in_manifestHlsIvInManifestivInManifestHlsIvInManifestIvInManifestHlsIvInManifestIvInManifestHlsIvInManifest= service default#
Whether the IV is listed in the manifest.
ivSourceHlsIvSourceiv_sourceHlsIvSourceivSourceHlsIvSourceIvSourceHlsIvSourceIvSourceHlsIvSource= service default#
Whether the IV follows the segment number or is explicit.
keepSegmentsnumberkeep_segmentsint | floatkeepSegmentsNumberKeepSegmentsdoubleKeepSegments*float64= 21#
The number of segments to retain in the destination directory (LIVE mode only).
keyFormatstringkey_formatstrkeyFormatStringKeyFormatstringKeyFormat*string= service default#
Specifies how the key is represented in the resource identified by the URI.
keyFormatVersionsstringkey_format_versionsstrkeyFormatVersionsStringKeyFormatVersionsstringKeyFormatVersions*string= service default#
Either a single positive integer version value or a slash-delimited list of version values (1/2/3).
keyProviderSettingsHlsKeyProviderSettingskey_provider_settingsHlsKeyProviderSettingskeyProviderSettingsHlsKeyProviderSettingsKeyProviderSettingsHlsKeyProviderSettingsKeyProviderSettingsHlsKeyProviderSettings= no key provider settings#
The key provider settings for HLS encryption.
manifestCompressionHlsManifestCompressionmanifest_compressionHlsManifestCompressionmanifestCompressionHlsManifestCompressionManifestCompressionHlsManifestCompressionManifestCompressionHlsManifestCompression= HlsManifestCompression.NONE#
When set to GZIP, compresses HLS playlist.
manifestDurationFormatHlsManifestDurationFormatmanifest_duration_formatHlsManifestDurationFormatmanifestDurationFormatHlsManifestDurationFormatManifestDurationFormatHlsManifestDurationFormatManifestDurationFormatHlsManifestDurationFormat= HlsManifestDurationFormat.FLOATI…#
Indicates whether the output manifest should use floating point or integer values for segment duration.
default

Default: HlsManifestDurationFormat.FLOATING_POINT

minSegmentSegmentmin_segmentSegmentminSegmentSegmentMinSegmentSegmentMinSegmentSegment= service default#
The minimum segment length.

HLS supports whole-second segments only.

modeHlsModemodeHlsModemodeHlsModeModeHlsModeModeHlsMode= 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.

outputsHlsOutputDefinition[]outputstyping.List[HlsOutputDefinition]outputsList<HlsOutputDefinition>OutputsHlsOutputDefinition[]Outputs*[]HlsOutputDefinition= no initial outputs#
The outputs for this HLS output group.
outputSelectionHlsOutputSelectionoutput_selectionHlsOutputSelectionoutputSelectionHlsOutputSelectionOutputSelectionHlsOutputSelectionOutputSelectionHlsOutputSelection= HlsOutputSelection.MANIFESTS_AND…#
Controls which manifests and segments are generated.
default

Default: HlsOutputSelection.MANIFESTS_AND_SEGMENTS

programDateTimeHlsProgramDateTimeprogram_date_timeHlsProgramDateTimeprogramDateTimeHlsProgramDateTimeProgramDateTimeHlsProgramDateTimeProgramDateTimeHlsProgramDateTime= HlsProgramDateTime.INCLUDE#
Includes or excludes the EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.
programDateTimeClockHlsProgramDateTimeClockprogram_date_time_clockHlsProgramDateTimeClockprogramDateTimeClockHlsProgramDateTimeClockProgramDateTimeClockHlsProgramDateTimeClockProgramDateTimeClockHlsProgramDateTimeClock= HlsProgramDateTimeClock.SYSTEM_C…#
Specifies the algorithm used to drive the HLS EXT-X-PROGRAM-DATE-TIME clock.
default

Default: HlsProgramDateTimeClock.SYSTEM_CLOCK, or INITIALIZE_FROM_OUTPUT_TIMECODE with epoch locking

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

HLS supports whole-second segments only.

segmentationModeHlsSegmentationModesegmentation_modeHlsSegmentationModesegmentationModeHlsSegmentationModeSegmentationModeHlsSegmentationModeSegmentationModeHlsSegmentationMode= HlsSegmentationMode.USE_SEGMENT_…#
The segmentation mode.
default

Default: HlsSegmentationMode.USE_SEGMENT_DURATION

segmentsPerSubdirectorynumbersegments_per_subdirectoryint | floatsegmentsPerSubdirectoryNumberSegmentsPerSubdirectorydoubleSegmentsPerSubdirectory*float64= 10000#
The number of segments to write to a subdirectory before starting a new one.
streamInfResolutionHlsStreamInfResolutionstream_inf_resolutionHlsStreamInfResolutionstreamInfResolutionHlsStreamInfResolutionStreamInfResolutionHlsStreamInfResolutionStreamInfResolutionHlsStreamInfResolution= HlsStreamInfResolution.INCLUDE#
Whether to include or exclude the RESOLUTION attribute for a video in the EXT-X-STREAM-INF tag.
timedMetadataId3FrameHlsTimedMetadataId3Frametimed_metadata_id3_frameHlsTimedMetadataId3FrametimedMetadataId3FrameHlsTimedMetadataId3FrameTimedMetadataId3FrameHlsTimedMetadataId3FrameTimedMetadataId3FrameHlsTimedMetadataId3Frame= HlsTimedMetadataId3Frame.PRIV#
Indicates the ID3 frame that has the timecode.
timedMetadataId3PeriodDurationtimed_metadata_id3_periodDurationtimedMetadataId3PeriodDurationTimedMetadataId3PeriodDurationTimedMetadataId3PeriodDuration= Duration.seconds(10)#
The timed metadata interval.
timestampDeltaDurationtimestamp_deltaDurationtimestampDeltaDurationTimestampDeltaDurationTimestampDeltaDuration= service default#
Provides an extra delta offset to fine tune the timestamps.
tsFileModeHlsTsFileModets_file_modeHlsTsFileModetsFileModeHlsTsFileModeTsFileModeHlsTsFileModeTsFileModeHlsTsFileMode= HlsTsFileMode.SEGMENTED_FILES#
Whether to emit segmented files or a single file.