Skip to content

HlsGroupSettings

Source code in docs_src/capo_mediaconvert/types/hls_group_settings.py
class HlsGroupSettings(TypedDict, closed=True):
    ad_markers: NotRequired[
        "capo_mediaconvert.types.__list_of_hls_ad_markers.__listOfHlsAdMarkers"
    ]
    """Choose one or more ad marker types to decorate your Apple HLS manifest. This setting does not determine whether SCTE-35 markers appear in the outputs themselves."""
    additional_manifests: NotRequired[
        "capo_mediaconvert.types.__list_of_hls_additional_manifest.__listOfHlsAdditionalManifest"
    ]
    """By default, the service creates one top-level .m3u8 HLS manifest for each HLS output group in your job. This default manifest references every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here."""
    audio_only_header: NotRequired[
        "capo_mediaconvert.types.hls_audio_only_header.HlsAudioOnlyHeader"
    ]
    """Ignore this setting unless you are using FairPlay DRM with Verimatrix and you encounter playback issues. Keep the default value, Include, to output audio-only headers. Choose Exclude to remove the audio-only headers from your audio segments."""
    base_url: NotRequired["capo_mediaconvert.types.__string.__string"]
    """A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file."""
    caption_language_mappings: NotRequired[
        "capo_mediaconvert.types.__list_of_hls_caption_language_mapping.__listOfHlsCaptionLanguageMapping"
    ]
    """Language to be used on Caption outputs"""
    caption_language_setting: NotRequired[
        "capo_mediaconvert.types.hls_caption_language_setting.HlsCaptionLanguageSetting"
    ]
    """Applies only to 608 Embedded output captions. 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 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 caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest."""
    caption_segment_length_control: NotRequired[
        "capo_mediaconvert.types.hls_caption_segment_length_control.HlsCaptionSegmentLengthControl"
    ]
    """Set Caption segment length control to Match video to create caption segments that align with the video segments from the first video output in this output group. For example, if the video segments are 2 seconds long, your WebVTT segments will also be 2 seconds long. Keep the default setting, Large segments to create caption segments that are 300 seconds long."""
    client_cache: NotRequired["capo_mediaconvert.types.hls_client_cache.HlsClientCache"]
    """Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled and control caching in your video distribution set up. For example, use the Cache-Control http header."""
    codec_specification: NotRequired[
        "capo_mediaconvert.types.hls_codec_specification.HlsCodecSpecification"
    ]
    """Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation."""
    destination: NotRequired[
        "capo_mediaconvert.types.__string_pattern_s3.__stringPatternS3"
    ]
    """Use Destination to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file."""
    destination_settings: NotRequired[
        "capo_mediaconvert.types.destination_settings.DestinationSettings"
    ]
    """Settings associated with the destination. Will vary based on the type of destination"""
    directory_structure: NotRequired[
        "capo_mediaconvert.types.hls_directory_structure.HlsDirectoryStructure"
    ]
    """Indicates whether segments should be placed in subdirectories."""
    encryption: NotRequired[
        "capo_mediaconvert.types.hls_encryption_settings.HlsEncryptionSettings"
    ]
    """DRM settings."""
    image_based_trick_play: NotRequired[
        "capo_mediaconvert.types.hls_image_based_trick_play.HlsImageBasedTrickPlay"
    ]
    """Specify whether MediaConvert generates images for trick play. Keep the default value, None, to not generate any images. Choose Thumbnail to generate tiled thumbnails. Choose Thumbnail and full frame to generate tiled thumbnails and full-resolution images of single frames. Choose Advanced to customize thumbnail and tile settings for a single trick play variant. Choose Variants to specify multiple trick play variants, each with its own thumbnail and tile settings. MediaConvert creates a child manifest for each set of images that you generate and adds corresponding entries to the parent manifest. A common application for these images is Roku trick mode. The thumbnails and full-frame images that MediaConvert creates with this feature are compatible with this Roku specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md"""
    image_based_trick_play_settings: NotRequired[
        "capo_mediaconvert.types.hls_image_based_trick_play_settings.HlsImageBasedTrickPlaySettings"
    ]
    """Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED"""
    image_based_trick_play_variants: NotRequired[
        "capo_mediaconvert.types.__list_of_hls_image_based_trick_play_variant.__listOfHlsImageBasedTrickPlayVariant"
    ]
    """Specify multiple image-based trick play variants. Each entry creates a separate set of JPEG tile images with its own resolution, tile layout, and cadence settings. Set imageBasedTrickPlay to VARIANTS when using this setting."""
    manifest_compression: NotRequired[
        "capo_mediaconvert.types.hls_manifest_compression.HlsManifestCompression"
    ]
    """When set to GZIP, compresses HLS playlist."""
    manifest_duration_format: NotRequired[
        "capo_mediaconvert.types.hls_manifest_duration_format.HlsManifestDurationFormat"
    ]
    """Indicates whether the output manifest should use floating point values for segment duration."""
    min_final_segment_length: NotRequired[
        "capo_mediaconvert.types.__double_min0_max2147483647.__doubleMin0Max2147483647"
    ]
    """Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds."""
    min_segment_length: NotRequired[
        "capo_mediaconvert.types.__integer_min0_max2147483647.__integerMin0Max2147483647"
    ]
    """When set, Minimum Segment Size is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed."""
    output_selection: NotRequired[
        "capo_mediaconvert.types.hls_output_selection.HlsOutputSelection"
    ]
    """Indicates whether the .m3u8 manifest file should be generated for this HLS output group."""
    program_date_time: NotRequired[
        "capo_mediaconvert.types.hls_program_date_time.HlsProgramDateTime"
    ]
    """Includes or excludes 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 timestamp_offset."""
    program_date_time_period: NotRequired[
        "capo_mediaconvert.types.__integer_min0_max3600.__integerMin0Max3600"
    ]
    """Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds."""
    progressive_write_hls_manifest: NotRequired[
        "capo_mediaconvert.types.hls_progressive_write_hls_manifest.HlsProgressiveWriteHlsManifest"
    ]
    """Specify whether MediaConvert generates HLS manifests while your job is running or when your job is complete. To generate HLS manifests while your job is running: Choose Enabled. Use if you want to play back your content as soon as it's available. MediaConvert writes the parent and child manifests after the first three media segments are written to your destination S3 bucket. It then writes new updated manifests after each additional segment is written. The parent manifest includes the latest BANDWIDTH and AVERAGE-BANDWIDTH attributes, and child manifests include the latest available media segment. When your job completes, the final child playlists include an EXT-X-ENDLIST tag. To generate HLS manifests only when your job completes: Choose Disabled."""
    segment_control: NotRequired[
        "capo_mediaconvert.types.hls_segment_control.HlsSegmentControl"
    ]
    """When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback."""
    segment_length: NotRequired[
        "capo_mediaconvert.types.__integer_min1_max2147483647.__integerMin1Max2147483647"
    ]
    """Specify the length, in whole seconds, of each segment. When you don't specify a value, MediaConvert defaults to 10. Related settings: Use Segment length control to specify whether the encoder enforces this value strictly. Use Segment control to specify whether MediaConvert creates separate segment files or one content file that has metadata to mark the segment boundaries."""
    segment_length_control: NotRequired[
        "capo_mediaconvert.types.hls_segment_length_control.HlsSegmentLengthControl"
    ]
    """Specify how you want MediaConvert to determine segment lengths in this output group. To use the exact value that you specify under Segment length: Choose Exact. Note that this might result in additional I-frames in the output GOP. To create segment lengths that are a multiple of the GOP: Choose Multiple of GOP. MediaConvert will round up the segment lengths to match the next GOP boundary. To have MediaConvert automatically determine a segment duration that is a multiple of both the audio packets and the frame rates: Choose Match. When you do, also specify a target segment duration under Segment length. This is useful for some ad-insertion or segment replacement workflows. Note that Match has the following requirements: - Output containers: Include at least one video output and at least one audio output. Audio-only outputs are not supported. - Output frame rate: Follow source is not supported. - Multiple output frame rates: When you specify multiple outputs, we recommend they share a similar frame rate (as in X/3, X/2, X, or 2X). For example: 5, 15, 30 and 60. Or: 25 and 50. (Outputs must share an integer multiple.) - Output audio codec: Specify Advanced Audio Coding (AAC). - Output sample rate: Choose 48kHz."""
    segments_per_subdirectory: NotRequired[
        "capo_mediaconvert.types.__integer_min1_max2147483647.__integerMin1Max2147483647"
    ]
    """Specify the number of segments to write to a subdirectory before starting a new one. You must also set Directory structure to Subdirectory per stream for this setting to have an effect."""
    stream_inf_resolution: NotRequired[
        "capo_mediaconvert.types.hls_stream_inf_resolution.HlsStreamInfResolution"
    ]
    """Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest."""
    target_duration_compatibility_mode: NotRequired[
        "capo_mediaconvert.types.hls_target_duration_compatibility_mode.HlsTargetDurationCompatibilityMode"
    ]
    r"""When set to LEGACY, the segment target duration is always rounded up to the nearest integer value above its current value in seconds. When set to SPEC\\_COMPLIANT, the segment target duration is rounded up to the nearest integer value if fraction seconds are greater than or equal to 0.5 (>= 0.5) and rounded down if less than 0.5 (< 0.5). You may need to use LEGACY if your client needs to ensure that the target duration is always longer than the actual duration of the segment. Some older players may experience interrupted playback when the actual duration of a track in a segment is longer than the target duration."""
    timed_metadata_id3_frame: NotRequired[
        "capo_mediaconvert.types.hls_timed_metadata_id3_frame.HlsTimedMetadataId3Frame"
    ]
    """Specify the type of the ID3 frame to use for ID3 timestamps in your output. To include ID3 timestamps: Specify PRIV or TDRL and set ID3 metadata to Passthrough. To exclude ID3 timestamps: Set ID3 timestamp frame type to None."""
    timed_metadata_id3_period: NotRequired[
        "capo_mediaconvert.types.__integer_min_negative2147483648_max2147483647.__integerMinNegative2147483648Max2147483647"
    ]
    """Specify the interval in seconds to write ID3 timestamps in your output. The first timestamp starts at the output timecode and date, and increases incrementally with each ID3 timestamp. To use the default interval of 10 seconds: Leave blank. To include this metadata in your output: Set ID3 timestamp frame type to PRIV or TDRL, and set ID3 metadata to Passthrough."""
    timestamp_delta_milliseconds: NotRequired[
        "capo_mediaconvert.types.__integer_min_negative2147483648_max2147483647.__integerMinNegative2147483648Max2147483647"
    ]
    """Provides an extra millisecond delta offset to fine tune the timestamps."""

ad_markers instance-attribute

ad_markers: NotRequired[__listOfHlsAdMarkers]

Choose one or more ad marker types to decorate your Apple HLS manifest. This setting does not determine whether SCTE-35 markers appear in the outputs themselves.

additional_manifests instance-attribute

additional_manifests: NotRequired[__listOfHlsAdditionalManifest]

By default, the service creates one top-level .m3u8 HLS manifest for each HLS output group in your job. This default manifest references every output in the output group. To create additional top-level manifests that reference a subset of the outputs in the output group, specify a list of them here.

audio_only_header instance-attribute

audio_only_header: NotRequired[HlsAudioOnlyHeader]

Ignore this setting unless you are using FairPlay DRM with Verimatrix and you encounter playback issues. Keep the default value, Include, to output audio-only headers. Choose Exclude to remove the audio-only headers from your audio segments.

base_url instance-attribute

base_url: NotRequired[__string]

A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file.

caption_language_mappings instance-attribute

caption_language_mappings: NotRequired[__listOfHlsCaptionLanguageMapping]

Language to be used on Caption outputs

caption_language_setting instance-attribute

caption_language_setting: NotRequired[HlsCaptionLanguageSetting]

Applies only to 608 Embedded output captions. 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 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 caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest.

caption_segment_length_control instance-attribute

caption_segment_length_control: NotRequired[HlsCaptionSegmentLengthControl]

Set Caption segment length control to Match video to create caption segments that align with the video segments from the first video output in this output group. For example, if the video segments are 2 seconds long, your WebVTT segments will also be 2 seconds long. Keep the default setting, Large segments to create caption segments that are 300 seconds long.

client_cache instance-attribute

client_cache: NotRequired[HlsClientCache]

Disable this setting only when your workflow requires the #EXT-X-ALLOW-CACHE:no tag. Otherwise, keep the default value Enabled and control caching in your video distribution set up. For example, use the Cache-Control http header.

codec_specification instance-attribute

codec_specification: NotRequired[HlsCodecSpecification]

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

destination instance-attribute

destination: NotRequired[__stringPatternS3]

Use Destination to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file.

destination_settings instance-attribute

destination_settings: NotRequired[DestinationSettings]

Settings associated with the destination. Will vary based on the type of destination

directory_structure instance-attribute

directory_structure: NotRequired[HlsDirectoryStructure]

Indicates whether segments should be placed in subdirectories.

encryption instance-attribute

encryption: NotRequired[HlsEncryptionSettings]

DRM settings.

image_based_trick_play instance-attribute

image_based_trick_play: NotRequired[HlsImageBasedTrickPlay]

Specify whether MediaConvert generates images for trick play. Keep the default value, None, to not generate any images. Choose Thumbnail to generate tiled thumbnails. Choose Thumbnail and full frame to generate tiled thumbnails and full-resolution images of single frames. Choose Advanced to customize thumbnail and tile settings for a single trick play variant. Choose Variants to specify multiple trick play variants, each with its own thumbnail and tile settings. MediaConvert creates a child manifest for each set of images that you generate and adds corresponding entries to the parent manifest. A common application for these images is Roku trick mode. The thumbnails and full-frame images that MediaConvert creates with this feature are compatible with this Roku specification: https://developer.roku.com/docs/developer-program/media-playback/trick-mode/hls-and-dash.md

image_based_trick_play_settings instance-attribute

image_based_trick_play_settings: NotRequired[HlsImageBasedTrickPlaySettings]

Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED

image_based_trick_play_variants instance-attribute

image_based_trick_play_variants: NotRequired[__listOfHlsImageBasedTrickPlayVariant]

Specify multiple image-based trick play variants. Each entry creates a separate set of JPEG tile images with its own resolution, tile layout, and cadence settings. Set imageBasedTrickPlay to VARIANTS when using this setting.

manifest_compression instance-attribute

manifest_compression: NotRequired[HlsManifestCompression]

When set to GZIP, compresses HLS playlist.

manifest_duration_format instance-attribute

manifest_duration_format: NotRequired[HlsManifestDurationFormat]

Indicates whether the output manifest should use floating point values for segment duration.

min_final_segment_length instance-attribute

min_final_segment_length: NotRequired[__doubleMin0Max2147483647]

Keep this setting at the default value of 0, unless you are troubleshooting a problem with how devices play back the end of your video asset. If you know that player devices are hanging on the final segment of your video because the length of your final segment is too short, use this setting to specify a minimum final segment length, in seconds. Choose a value that is greater than or equal to 1 and less than your segment length. When you specify a value for this setting, the encoder will combine any final segment that is shorter than the length that you specify with the previous segment. For example, your segment length is 3 seconds and your final segment is .5 seconds without a minimum final segment length; when you set the minimum final segment length to 1, your final segment is 3.5 seconds.

min_segment_length instance-attribute

min_segment_length: NotRequired[__integerMin0Max2147483647]

When set, Minimum Segment Size is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed.

output_selection instance-attribute

output_selection: NotRequired[HlsOutputSelection]

Indicates whether the .m3u8 manifest file should be generated for this HLS output group.

program_date_time instance-attribute

program_date_time: NotRequired[HlsProgramDateTime]

Includes or excludes 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 timestamp_offset.

program_date_time_period instance-attribute

program_date_time_period: NotRequired[__integerMin0Max3600]

Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.

progressive_write_hls_manifest instance-attribute

progressive_write_hls_manifest: NotRequired[HlsProgressiveWriteHlsManifest]

Specify whether MediaConvert generates HLS manifests while your job is running or when your job is complete. To generate HLS manifests while your job is running: Choose Enabled. Use if you want to play back your content as soon as it's available. MediaConvert writes the parent and child manifests after the first three media segments are written to your destination S3 bucket. It then writes new updated manifests after each additional segment is written. The parent manifest includes the latest BANDWIDTH and AVERAGE-BANDWIDTH attributes, and child manifests include the latest available media segment. When your job completes, the final child playlists include an EXT-X-ENDLIST tag. To generate HLS manifests only when your job completes: Choose Disabled.

segment_control instance-attribute

segment_control: NotRequired[HlsSegmentControl]

When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback.

segment_length instance-attribute

segment_length: NotRequired[__integerMin1Max2147483647]

Specify the length, in whole seconds, of each segment. When you don't specify a value, MediaConvert defaults to 10. Related settings: Use Segment length control to specify whether the encoder enforces this value strictly. Use Segment control to specify whether MediaConvert creates separate segment files or one content file that has metadata to mark the segment boundaries.

segment_length_control instance-attribute

segment_length_control: NotRequired[HlsSegmentLengthControl]

Specify how you want MediaConvert to determine segment lengths in this output group. To use the exact value that you specify under Segment length: Choose Exact. Note that this might result in additional I-frames in the output GOP. To create segment lengths that are a multiple of the GOP: Choose Multiple of GOP. MediaConvert will round up the segment lengths to match the next GOP boundary. To have MediaConvert automatically determine a segment duration that is a multiple of both the audio packets and the frame rates: Choose Match. When you do, also specify a target segment duration under Segment length. This is useful for some ad-insertion or segment replacement workflows. Note that Match has the following requirements: - Output containers: Include at least one video output and at least one audio output. Audio-only outputs are not supported. - Output frame rate: Follow source is not supported. - Multiple output frame rates: When you specify multiple outputs, we recommend they share a similar frame rate (as in X/3, X/2, X, or 2X). For example: 5, 15, 30 and 60. Or: 25 and 50. (Outputs must share an integer multiple.) - Output audio codec: Specify Advanced Audio Coding (AAC). - Output sample rate: Choose 48kHz.

segments_per_subdirectory instance-attribute

segments_per_subdirectory: NotRequired[__integerMin1Max2147483647]

Specify the number of segments to write to a subdirectory before starting a new one. You must also set Directory structure to Subdirectory per stream for this setting to have an effect.

stream_inf_resolution instance-attribute

stream_inf_resolution: NotRequired[HlsStreamInfResolution]

Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.

target_duration_compatibility_mode instance-attribute

target_duration_compatibility_mode: NotRequired[HlsTargetDurationCompatibilityMode]

When set to LEGACY, the segment target duration is always rounded up to the nearest integer value above its current value in seconds. When set to SPEC\_COMPLIANT, the segment target duration is rounded up to the nearest integer value if fraction seconds are greater than or equal to 0.5 (>= 0.5) and rounded down if less than 0.5 (< 0.5). You may need to use LEGACY if your client needs to ensure that the target duration is always longer than the actual duration of the segment. Some older players may experience interrupted playback when the actual duration of a track in a segment is longer than the target duration.

timed_metadata_id3_frame instance-attribute

timed_metadata_id3_frame: NotRequired[HlsTimedMetadataId3Frame]

Specify the type of the ID3 frame to use for ID3 timestamps in your output. To include ID3 timestamps: Specify PRIV or TDRL and set ID3 metadata to Passthrough. To exclude ID3 timestamps: Set ID3 timestamp frame type to None.

timed_metadata_id3_period instance-attribute

timed_metadata_id3_period: NotRequired[__integerMinNegative2147483648Max2147483647]

Specify the interval in seconds to write ID3 timestamps in your output. The first timestamp starts at the output timecode and date, and increases incrementally with each ID3 timestamp. To use the default interval of 10 seconds: Leave blank. To include this metadata in your output: Set ID3 timestamp frame type to PRIV or TDRL, and set ID3 metadata to Passthrough.

timestamp_delta_milliseconds instance-attribute

timestamp_delta_milliseconds: NotRequired[__integerMinNegative2147483648Max2147483647]

Provides an extra millisecond delta offset to fine tune the timestamps.