HlsOutputGroupProps

class aws_cdk.aws_medialive_alpha.HlsOutputGroupProps(*, destinations, name, ad_markers=None, base_url_content=None, base_url_content1=None, base_url_manifest=None, base_url_manifest1=None, caption_language_mappings=None, caption_language_setting=None, client_cache=None, codec_specification=None, constant_iv=None, directory_structure=None, discontinuity_tags=None, encryption_type=None, hls_cdn_settings=None, hls_id3_segment_tagging=None, i_frame_only_playlists=None, incomplete_segment_behavior=None, index_n_segments=None, input_loss_action=None, iv_in_manifest=None, iv_source=None, keep_segments=None, key_format=None, key_format_versions=None, key_provider_settings=None, manifest_compression=None, manifest_duration_format=None, min_segment=None, mode=None, outputs=None, output_selection=None, program_date_time=None, program_date_time_clock=None, program_date_time_period=None, redundant_manifest=None, segment=None, segmentation_mode=None, segments_per_subdirectory=None, stream_inf_resolution=None, timed_metadata_id3_frame=None, timed_metadata_id3_period=None, timestamp_delta=None, ts_file_mode=None)

Bases: object

(experimental) Properties for an HLS output group.

Parameters:
  • destinations (Sequence[OutputDestination]) – (experimental) The destinations for this output group — one per pipeline. 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.

  • name (str) – (experimental) The name of this output group. Used as the destination reference ID. Underscores are normalised to hyphens internally.

  • ad_markers (Optional[Sequence[HlsAdMarkers]]) – (experimental) Chooses one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs. Default: - no ad markers

  • base_url_content (Optional[str]) – (experimental) A partial URI prefix that will be prepended to each output in the media .m3u8 file. Default: - no base URL content prefix

  • base_url_content1 (Optional[str]) – (experimental) Optional base URL content for pipeline 1 if different from pipeline 0. Default: - no base URL content 1

  • base_url_manifest (Optional[str]) – (experimental) 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

  • base_url_manifest1 (Optional[str]) – (experimental) Optional base URL manifest for pipeline 1 if different from pipeline 0. Default: - no base URL manifest 1

  • caption_language_mappings (Optional[Sequence[Union[CaptionLanguageMapping, Dict[str, Any]]]]) – (experimental) A mapping of up to 4 captions channels to captions languages. Meaningful only if captionLanguageSetting is set to INSERT. Default: - no caption language mappings

  • caption_language_setting (Optional[HlsCaptionLanguageSetting]) – (experimental) Applies only to 608 embedded output captions. Default: - service default

  • client_cache (Optional[HlsClientCache]) – (experimental) When set to DISABLED, sets the #EXT-X-ALLOW-CACHE:no tag in the manifest. Default: HlsClientCache.ENABLED

  • codec_specification (Optional[HlsCodecSpecification]) – (experimental) The specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation. Default: HlsCodecSpecification.RFC_4281

  • constant_iv (Optional[str]) – (experimental) 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. Default: - no constant IV

  • directory_structure (Optional[HlsDirectoryStructure]) – (experimental) Places segments in subdirectories. Default: HlsDirectoryStructure.SINGLE_DIRECTORY

  • discontinuity_tags (Optional[HlsDiscontinuityTags]) – (experimental) Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests. Default: HlsDiscontinuityTags.INSERT

  • encryption_type (Optional[HlsEncryptionType]) – (experimental) Encrypts the segments with the specified encryption scheme. Default: - no encryption

  • hls_cdn_settings (Optional[HlsCdnSettings]) – (experimental) Settings to configure the CDN for the HLS output. Default: - service default

  • hls_id3_segment_tagging (Optional[HlsId3SegmentTaggingState]) – (experimental) State of HLS ID3 Segment Tagging. Default: HlsId3SegmentTaggingState.DISABLED

  • i_frame_only_playlists (Optional[HlsIFrameOnlyPlaylists]) – (experimental) Whether to create an I-frame-only manifest. Default: HlsIFrameOnlyPlaylists.DISABLED

  • incomplete_segment_behavior (Optional[HlsIncompleteSegmentBehavior]) – (experimental) Specifies whether to include the final (incomplete) segment in the media output. Default: HlsIncompleteSegmentBehavior.AUTO

  • index_n_segments (Union[int, float, None]) – (experimental) The maximum number of segments in the media manifest (LIVE mode only). Default: 10

  • input_loss_action (Optional[HlsInputLossAction]) – (experimental) Action to take when the input is lost. Default: HlsInputLossAction.EMIT_OUTPUT

  • iv_in_manifest (Optional[HlsIvInManifest]) – (experimental) Whether the IV is listed in the manifest. Default: - service default

  • iv_source (Optional[HlsIvSource]) – (experimental) Whether the IV follows the segment number or is explicit. Default: - service default

  • keep_segments (Union[int, float, None]) – (experimental) The number of segments to retain in the destination directory (LIVE mode only). Default: 21

  • key_format (Optional[str]) – (experimental) Specifies how the key is represented in the resource identified by the URI. Default: - service default

  • key_format_versions (Optional[str]) – (experimental) Either a single positive integer version value or a slash-delimited list of version values (1/2/3). Default: - service default

  • key_provider_settings (Optional[HlsKeyProviderSettings]) – (experimental) The key provider settings for HLS encryption. Default: - no key provider settings

  • manifest_compression (Optional[HlsManifestCompression]) – (experimental) When set to GZIP, compresses HLS playlist. Default: HlsManifestCompression.NONE

  • manifest_duration_format (Optional[HlsManifestDurationFormat]) – (experimental) Indicates whether the output manifest should use floating point or integer values for segment duration. Default: HlsManifestDurationFormat.FLOATING_POINT

  • min_segment (Optional[Segment]) – (experimental) The minimum segment length. HLS supports whole-second segments only. Default: - service default

  • mode (Optional[HlsMode]) – (experimental) The output mode — LIVE or VOD. Default: HlsMode.LIVE

  • outputs (Optional[Sequence[Union[HlsOutputDefinition, Dict[str, Any]]]]) – (experimental) The outputs for this HLS output group. Default: - no initial outputs

  • output_selection (Optional[HlsOutputSelection]) – (experimental) Controls which manifests and segments are generated. Default: HlsOutputSelection.MANIFESTS_AND_SEGMENTS

  • program_date_time (Optional[HlsProgramDateTime]) – (experimental) Includes or excludes the EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. Default: HlsProgramDateTime.INCLUDE

  • program_date_time_clock (Optional[HlsProgramDateTimeClock]) – (experimental) 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

  • program_date_time_period (Optional[Duration]) – (experimental) The period of insertion of the EXT-X-PROGRAM-DATE-TIME entry. Default: Duration.minutes(10)

  • redundant_manifest (Optional[HlsRedundantManifest]) – (experimental) Whether the master manifest includes information about both pipelines. Default: HlsRedundantManifest.DISABLED

  • segment (Optional[Segment]) – (experimental) The length of each media segment. HLS supports whole-second segments only. Default: - Segment.seconds(2)

  • segmentation_mode (Optional[HlsSegmentationMode]) – (experimental) The segmentation mode. Default: HlsSegmentationMode.USE_SEGMENT_DURATION

  • segments_per_subdirectory (Union[int, float, None]) – (experimental) The number of segments to write to a subdirectory before starting a new one. Default: 10000

  • stream_inf_resolution (Optional[HlsStreamInfResolution]) – (experimental) Whether to include or exclude the RESOLUTION attribute for a video in the EXT-X-STREAM-INF tag. Default: HlsStreamInfResolution.INCLUDE

  • timed_metadata_id3_frame (Optional[HlsTimedMetadataId3Frame]) – (experimental) Indicates the ID3 frame that has the timecode. Default: HlsTimedMetadataId3Frame.PRIV

  • timed_metadata_id3_period (Optional[Duration]) – (experimental) The timed metadata interval. Default: Duration.seconds(10)

  • timestamp_delta (Optional[Duration]) – (experimental) Provides an extra delta offset to fine tune the timestamps. Default: - service default

  • ts_file_mode (Optional[HlsTsFileMode]) – (experimental) Whether to emit segmented files or a single file. Default: HlsTsFileMode.SEGMENTED_FILES

Stability:

experimental

ExampleMetadata:

infused

Example:

# stack: Stack
# input: medialive.IInput
# bucket: s3.IBucket
# video: medialive.EncodeConfiguration


medialive.Channel(stack, "Channel",
    inputs=[medialive.InputAttachment(input=input)],
    avail_blanking=medialive.AvailBlanking(
        state=medialive.AvailBlankingState.ENABLED,
        image=medialive.FileLocation.from_bucket(bucket, "slates/avail.png")
    ),
    blackout_slate=medialive.BlackoutSlate(
        state=medialive.BlackoutSlateState.ENABLED,
        image=medialive.FileLocation.from_bucket(bucket, "slates/blackout.png")
    ),
    output_groups=[
        medialive.OutputGroupConfiguration.hls(
            name="hls",
            destinations=[medialive.OutputDestination.to_bucket(bucket, "live/stream")],
            outputs=[medialive.HlsOutputDefinition(encodes=[video], output_name="hls_out")]
        )
    ]
)

Attributes

ad_markers

(experimental) Chooses one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.

Default:
  • no ad markers

Stability:

experimental

base_url_content

(experimental) A partial URI prefix that will be prepended to each output in the media .m3u8 file.

Default:
  • no base URL content prefix

Stability:

experimental

base_url_content1

(experimental) Optional base URL content for pipeline 1 if different from pipeline 0.

Default:
  • no base URL content 1

Stability:

experimental

base_url_manifest

(experimental) 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

Stability:

experimental

base_url_manifest1

(experimental) Optional base URL manifest for pipeline 1 if different from pipeline 0.

Default:
  • no base URL manifest 1

Stability:

experimental

caption_language_mappings

(experimental) A mapping of up to 4 captions channels to captions languages.

Meaningful only if captionLanguageSetting is set to INSERT.

Default:
  • no caption language mappings

Stability:

experimental

caption_language_setting

(experimental) Applies only to 608 embedded output captions.

Default:
  • service default

Stability:

experimental

client_cache

no tag in the manifest.

Default:

HlsClientCache.ENABLED

Stability:

experimental

Type:

(experimental) When set to DISABLED, sets the #EXT-X-ALLOW-CACHE

codec_specification

(experimental) The specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.

Default:

HlsCodecSpecification.RFC_4281

Stability:

experimental

constant_iv

(experimental) 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.

Default:
  • no constant IV

Stability:

experimental

destinations

(experimental) The destinations for this output group — one per pipeline.

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.

Stability:

experimental

directory_structure

(experimental) Places segments in subdirectories.

Default:

HlsDirectoryStructure.SINGLE_DIRECTORY

Stability:

experimental

discontinuity_tags

(experimental) Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests.

Default:

HlsDiscontinuityTags.INSERT

Stability:

experimental

encryption_type

(experimental) Encrypts the segments with the specified encryption scheme.

Default:
  • no encryption

Stability:

experimental

hls_cdn_settings

(experimental) Settings to configure the CDN for the HLS output.

Default:
  • service default

Stability:

experimental

hls_id3_segment_tagging

(experimental) State of HLS ID3 Segment Tagging.

Default:

HlsId3SegmentTaggingState.DISABLED

Stability:

experimental

i_frame_only_playlists

(experimental) Whether to create an I-frame-only manifest.

Default:

HlsIFrameOnlyPlaylists.DISABLED

Stability:

experimental

incomplete_segment_behavior

(experimental) Specifies whether to include the final (incomplete) segment in the media output.

Default:

HlsIncompleteSegmentBehavior.AUTO

Stability:

experimental

index_n_segments

(experimental) The maximum number of segments in the media manifest (LIVE mode only).

Default:

10

Stability:

experimental

input_loss_action

(experimental) Action to take when the input is lost.

Default:

HlsInputLossAction.EMIT_OUTPUT

Stability:

experimental

iv_in_manifest

(experimental) Whether the IV is listed in the manifest.

Default:
  • service default

Stability:

experimental

iv_source

(experimental) Whether the IV follows the segment number or is explicit.

Default:
  • service default

Stability:

experimental

keep_segments

(experimental) The number of segments to retain in the destination directory (LIVE mode only).

Default:

21

Stability:

experimental

key_format

(experimental) Specifies how the key is represented in the resource identified by the URI.

Default:
  • service default

Stability:

experimental

key_format_versions

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

Default:
  • service default

Stability:

experimental

key_provider_settings

(experimental) The key provider settings for HLS encryption.

Default:
  • no key provider settings

Stability:

experimental

manifest_compression

(experimental) When set to GZIP, compresses HLS playlist.

Default:

HlsManifestCompression.NONE

Stability:

experimental

manifest_duration_format

(experimental) Indicates whether the output manifest should use floating point or integer values for segment duration.

Default:

HlsManifestDurationFormat.FLOATING_POINT

Stability:

experimental

min_segment

(experimental) The minimum segment length.

HLS supports whole-second segments only.

Default:
  • service default

Stability:

experimental

mode

(experimental) The output mode — LIVE or VOD.

Default:

HlsMode.LIVE

Stability:

experimental

name

(experimental) The name of this output group.

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

Stability:

experimental

output_selection

(experimental) Controls which manifests and segments are generated.

Default:

HlsOutputSelection.MANIFESTS_AND_SEGMENTS

Stability:

experimental

outputs

(experimental) The outputs for this HLS output group.

Default:
  • no initial outputs

Stability:

experimental

program_date_time

(experimental) Includes or excludes the EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.

Default:

HlsProgramDateTime.INCLUDE

Stability:

experimental

program_date_time_clock

(experimental) 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

Stability:

experimental

program_date_time_period

(experimental) The period of insertion of the EXT-X-PROGRAM-DATE-TIME entry.

Default:

Duration.minutes(10)

Stability:

experimental

redundant_manifest

(experimental) Whether the master manifest includes information about both pipelines.

Default:

HlsRedundantManifest.DISABLED

Stability:

experimental

segment

(experimental) The length of each media segment.

HLS supports whole-second segments only.

Default:
  • Segment.seconds(2)

Stability:

experimental

segmentation_mode

(experimental) The segmentation mode.

Default:

HlsSegmentationMode.USE_SEGMENT_DURATION

Stability:

experimental

segments_per_subdirectory

(experimental) The number of segments to write to a subdirectory before starting a new one.

Default:

10000

Stability:

experimental

stream_inf_resolution

(experimental) Whether to include or exclude the RESOLUTION attribute for a video in the EXT-X-STREAM-INF tag.

Default:

HlsStreamInfResolution.INCLUDE

Stability:

experimental

timed_metadata_id3_frame

(experimental) Indicates the ID3 frame that has the timecode.

Default:

HlsTimedMetadataId3Frame.PRIV

Stability:

experimental

timed_metadata_id3_period

(experimental) The timed metadata interval.

Default:

Duration.seconds(10)

Stability:

experimental

timestamp_delta

(experimental) Provides an extra delta offset to fine tune the timestamps.

Default:
  • service default

Stability:

experimental

ts_file_mode

(experimental) Whether to emit segmented files or a single file.

Default:

HlsTsFileMode.SEGMENTED_FILES

Stability:

experimental