> **Experimental**
>
> `@aws-cdk/aws-medialive-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# HlsOutputGroupProps

Properties for an HLS output group.

- Stability: [Experimental](/cdk/api/stability.html)
- Source: [`lib/output-group.ts`](https://github.com/aws/aws-cdk/blob/v2.274.0-alpha.0/packages/@aws-cdk/aws-medialive-alpha/lib/output-group.ts#L525)

## 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

- `adMarkers`: [HlsAdMarkers](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsAdMarkers.html)[] — Chooses one or more ad marker types to pass SCTE35 signals through to this group of Apple HLS outputs.

  **Default:** no ad markers

- `baseUrlContent`: string — A partial URI prefix that will be prepended to each output in the media .m3u8 file.

  **Default:** no base URL content prefix

- `baseUrlContent1`: string — Optional base URL content for pipeline 1 if different from pipeline 0.

  **Default:** no base URL content 1

- `baseUrlManifest`: 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

- `baseUrlManifest1`: string — Optional base URL manifest for pipeline 1 if different from pipeline 0.

  **Default:** no base URL manifest 1

- `captionLanguageMappings`: [CaptionLanguageMapping](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.CaptionLanguageMapping.html)[] — A mapping of up to 4 captions channels to captions languages.

  **Default:** no caption language mappings

  Meaningful only if captionLanguageSetting is set to INSERT.

- `captionLanguageSetting`: [HlsCaptionLanguageSetting](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsCaptionLanguageSetting.html) — Applies only to 608 embedded output captions.

  **Default:** service default

- `clientCache`: [HlsClientCache](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsClientCache.html) = HlsClientCache.ENABLED — When set to DISABLED, sets the #EXT-X-ALLOW-CACHE:no tag in the manifest.

- `codecSpecification`: [HlsCodecSpecification](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsCodecSpecification.html) = HlsCodecSpecification.RFC_4281 — The specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.

- `constantIv`: 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.

- `destinations`: [OutputDestination](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.OutputDestination.html)[] (required) — 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.

- `directoryStructure`: [HlsDirectoryStructure](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsDirectoryStructure.html) — Places segments in subdirectories.

  **Default:** HlsDirectoryStructure.SINGLE_DIRECTORY

- `discontinuityTags`: [HlsDiscontinuityTags](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsDiscontinuityTags.html) = HlsDiscontinuityTags.INSERT — Specifies whether to insert EXT-X-DISCONTINUITY tags in the HLS child manifests.

- `encryptionType`: [HlsEncryptionType](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsEncryptionType.html) — Encrypts the segments with the specified encryption scheme.

  **Default:** no encryption

- `hlsCdnSettings`: [HlsCdnSettings](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsCdnSettings.html) — Settings to configure the CDN for the HLS output.

  **Default:** service default

- `hlsId3SegmentTagging`: [HlsId3SegmentTaggingState](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsId3SegmentTaggingState.html) — State of HLS ID3 Segment Tagging.

  **Default:** HlsId3SegmentTaggingState.DISABLED

- `iFrameOnlyPlaylists`: [HlsIFrameOnlyPlaylists](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsIFrameOnlyPlaylists.html) = HlsIFrameOnlyPlaylists.DISABLED — Whether to create an I-frame-only manifest.

- `incompleteSegmentBehavior`: [HlsIncompleteSegmentBehavior](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsIncompleteSegmentBehavior.html) — Specifies whether to include the final (incomplete) segment in the media output.

  **Default:** HlsIncompleteSegmentBehavior.AUTO

- `indexNSegments`: number = 10 — The maximum number of segments in the media manifest (LIVE mode only).

- `inputLossAction`: [HlsInputLossAction](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsInputLossAction.html) = HlsInputLossAction.EMIT_OUTPUT — Action to take when the input is lost.

- `ivInManifest`: [HlsIvInManifest](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsIvInManifest.html) — Whether the IV is listed in the manifest.

  **Default:** service default

- `ivSource`: [HlsIvSource](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsIvSource.html) — Whether the IV follows the segment number or is explicit.

  **Default:** service default

- `keepSegments`: number = 21 — The number of segments to retain in the destination directory (LIVE mode only).

- `keyFormat`: string — Specifies how the key is represented in the resource identified by the URI.

  **Default:** service default

- `keyFormatVersions`: string — Either a single positive integer version value or a slash-delimited list of version values (1/2/3).

  **Default:** service default

- `keyProviderSettings`: [HlsKeyProviderSettings](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsKeyProviderSettings.html) — The key provider settings for HLS encryption.

  **Default:** no key provider settings

- `manifestCompression`: [HlsManifestCompression](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsManifestCompression.html) = HlsManifestCompression.NONE — When set to GZIP, compresses HLS playlist.

- `manifestDurationFormat`: [HlsManifestDurationFormat](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsManifestDurationFormat.html) — Indicates whether the output manifest should use floating point or integer values for segment duration.

  **Default:** HlsManifestDurationFormat.FLOATING_POINT

- `minSegment`: [Segment](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.Segment.html) — The minimum segment length.

  **Default:** service default

  HLS supports whole-second segments only.

- `mode`: [HlsMode](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsMode.html) = HlsMode.LIVE — The output mode — LIVE or VOD.

- `name`: string (required) — The name of this output group.

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

- `outputs`: [HlsOutputDefinition](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsOutputDefinition.html)[] — The outputs for this HLS output group.

  **Default:** no initial outputs

- `outputSelection`: [HlsOutputSelection](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsOutputSelection.html) — Controls which manifests and segments are generated.

  **Default:** HlsOutputSelection.MANIFESTS_AND_SEGMENTS

- `programDateTime`: [HlsProgramDateTime](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsProgramDateTime.html) = HlsProgramDateTime.INCLUDE — Includes or excludes the EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files.

- `programDateTimeClock`: [HlsProgramDateTimeClock](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsProgramDateTimeClock.html) — 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

- `programDateTimePeriod`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) = Duration.minutes(10) — The period of insertion of the EXT-X-PROGRAM-DATE-TIME entry.

- `redundantManifest`: [HlsRedundantManifest](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsRedundantManifest.html) = HlsRedundantManifest.DISABLED — Whether the master manifest includes information about both pipelines.

- `segment`: [Segment](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.Segment.html) = Segment.seconds(2) — The length of each media segment.

  HLS supports whole-second segments only.

- `segmentationMode`: [HlsSegmentationMode](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsSegmentationMode.html) — The segmentation mode.

  **Default:** HlsSegmentationMode.USE_SEGMENT_DURATION

- `segmentsPerSubdirectory`: number = 10000 — The number of segments to write to a subdirectory before starting a new one.

- `streamInfResolution`: [HlsStreamInfResolution](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsStreamInfResolution.html) = HlsStreamInfResolution.INCLUDE — Whether to include or exclude the RESOLUTION attribute for a video in the EXT-X-STREAM-INF tag.

- `timedMetadataId3Frame`: [HlsTimedMetadataId3Frame](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsTimedMetadataId3Frame.html) = HlsTimedMetadataId3Frame.PRIV — Indicates the ID3 frame that has the timecode.

- `timedMetadataId3Period`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) = Duration.seconds(10) — The timed metadata interval.

- `timestampDelta`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) — Provides an extra delta offset to fine tune the timestamps.

  **Default:** service default

- `tsFileMode`: [HlsTsFileMode](/cdk/api/v2/docs/@aws-cdk_aws-medialive-alpha.HlsTsFileMode.html) = HlsTsFileMode.SEGMENTED_FILES — Whether to emit segmented files or a single file.
