Struct aws_sdk_mediaconvert::types::HlsGroupSettings
source · #[non_exhaustive]pub struct HlsGroupSettings {Show 32 fields
pub ad_markers: Option<Vec<HlsAdMarkers>>,
pub additional_manifests: Option<Vec<HlsAdditionalManifest>>,
pub audio_only_header: Option<HlsAudioOnlyHeader>,
pub base_url: Option<String>,
pub caption_language_mappings: Option<Vec<HlsCaptionLanguageMapping>>,
pub caption_language_setting: Option<HlsCaptionLanguageSetting>,
pub caption_segment_length_control: Option<HlsCaptionSegmentLengthControl>,
pub client_cache: Option<HlsClientCache>,
pub codec_specification: Option<HlsCodecSpecification>,
pub destination: Option<String>,
pub destination_settings: Option<DestinationSettings>,
pub directory_structure: Option<HlsDirectoryStructure>,
pub encryption: Option<HlsEncryptionSettings>,
pub image_based_trick_play: Option<HlsImageBasedTrickPlay>,
pub image_based_trick_play_settings: Option<HlsImageBasedTrickPlaySettings>,
pub manifest_compression: Option<HlsManifestCompression>,
pub manifest_duration_format: Option<HlsManifestDurationFormat>,
pub min_final_segment_length: Option<f64>,
pub min_segment_length: Option<i32>,
pub output_selection: Option<HlsOutputSelection>,
pub program_date_time: Option<HlsProgramDateTime>,
pub program_date_time_period: Option<i32>,
pub progressive_write_hls_manifest: Option<HlsProgressiveWriteHlsManifest>,
pub segment_control: Option<HlsSegmentControl>,
pub segment_length: Option<i32>,
pub segment_length_control: Option<HlsSegmentLengthControl>,
pub segments_per_subdirectory: Option<i32>,
pub stream_inf_resolution: Option<HlsStreamInfResolution>,
pub target_duration_compatibility_mode: Option<HlsTargetDurationCompatibilityMode>,
pub timed_metadata_id3_frame: Option<HlsTimedMetadataId3Frame>,
pub timed_metadata_id3_period: Option<i32>,
pub timestamp_delta_milliseconds: Option<i32>,
}
Expand description
Settings related to your HLS output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.ad_markers: Option<Vec<HlsAdMarkers>>
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: Option<Vec<HlsAdditionalManifest>>
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: Option<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: Option<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.
Language to be used on Caption outputs
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.
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: Option<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: Option<HlsCodecSpecification>
Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
destination: Option<String>
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: Option<DestinationSettings>
Settings associated with the destination. Will vary based on the type of destination
directory_structure: Option<HlsDirectoryStructure>
Indicates whether segments should be placed in subdirectories.
encryption: Option<HlsEncryptionSettings>
DRM settings.
image_based_trick_play: Option<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. 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: Option<HlsImageBasedTrickPlaySettings>
Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
manifest_compression: Option<HlsManifestCompression>
When set to GZIP, compresses HLS playlist.
manifest_duration_format: Option<HlsManifestDurationFormat>
Indicates whether the output manifest should use floating point values for segment duration.
min_final_segment_length: Option<f64>
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: Option<i32>
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: Option<HlsOutputSelection>
Indicates whether the .m3u8 manifest file should be generated for this HLS output group.
program_date_time: Option<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: Option<i32>
Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
progressive_write_hls_manifest: Option<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: Option<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: Option<i32>
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: Option<HlsSegmentLengthControl>
Specify how you want MediaConvert to determine the segment length. Choose Exact to have the encoder use the exact length that you specify with the setting Segment length. This might result in extra I-frames. Choose Multiple of GOP to have the encoder round up the segment lengths to match the next GOP boundary.
segments_per_subdirectory: Option<i32>
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: Option<HlsStreamInfResolution>
Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.
target_duration_compatibility_mode: Option<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: Option<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: Option<i32>
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: Option<i32>
Provides an extra millisecond delta offset to fine tune the timestamps.
Implementations§
source§impl HlsGroupSettings
impl HlsGroupSettings
sourcepub fn ad_markers(&self) -> &[HlsAdMarkers]
pub fn ad_markers(&self) -> &[HlsAdMarkers]
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.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .ad_markers.is_none()
.
sourcepub fn additional_manifests(&self) -> &[HlsAdditionalManifest]
pub fn additional_manifests(&self) -> &[HlsAdditionalManifest]
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.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .additional_manifests.is_none()
.
sourcepub fn audio_only_header(&self) -> Option<&HlsAudioOnlyHeader>
pub fn audio_only_header(&self) -> Option<&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.
sourcepub fn base_url(&self) -> Option<&str>
pub fn base_url(&self) -> Option<&str>
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.
Language to be used on Caption outputs
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .caption_language_mappings.is_none()
.
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.
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.
sourcepub fn client_cache(&self) -> Option<&HlsClientCache>
pub fn client_cache(&self) -> Option<&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.
sourcepub fn codec_specification(&self) -> Option<&HlsCodecSpecification>
pub fn codec_specification(&self) -> Option<&HlsCodecSpecification>
Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
sourcepub fn destination(&self) -> Option<&str>
pub fn destination(&self) -> Option<&str>
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.
sourcepub fn destination_settings(&self) -> Option<&DestinationSettings>
pub fn destination_settings(&self) -> Option<&DestinationSettings>
Settings associated with the destination. Will vary based on the type of destination
sourcepub fn directory_structure(&self) -> Option<&HlsDirectoryStructure>
pub fn directory_structure(&self) -> Option<&HlsDirectoryStructure>
Indicates whether segments should be placed in subdirectories.
sourcepub fn encryption(&self) -> Option<&HlsEncryptionSettings>
pub fn encryption(&self) -> Option<&HlsEncryptionSettings>
DRM settings.
sourcepub fn image_based_trick_play(&self) -> Option<&HlsImageBasedTrickPlay>
pub fn image_based_trick_play(&self) -> Option<&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. 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
sourcepub fn image_based_trick_play_settings(
&self
) -> Option<&HlsImageBasedTrickPlaySettings>
pub fn image_based_trick_play_settings( &self ) -> Option<&HlsImageBasedTrickPlaySettings>
Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
sourcepub fn manifest_compression(&self) -> Option<&HlsManifestCompression>
pub fn manifest_compression(&self) -> Option<&HlsManifestCompression>
When set to GZIP, compresses HLS playlist.
sourcepub fn manifest_duration_format(&self) -> Option<&HlsManifestDurationFormat>
pub fn manifest_duration_format(&self) -> Option<&HlsManifestDurationFormat>
Indicates whether the output manifest should use floating point values for segment duration.
sourcepub fn min_final_segment_length(&self) -> Option<f64>
pub fn min_final_segment_length(&self) -> Option<f64>
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.
sourcepub fn min_segment_length(&self) -> Option<i32>
pub fn min_segment_length(&self) -> Option<i32>
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.
sourcepub fn output_selection(&self) -> Option<&HlsOutputSelection>
pub fn output_selection(&self) -> Option<&HlsOutputSelection>
Indicates whether the .m3u8 manifest file should be generated for this HLS output group.
sourcepub fn program_date_time(&self) -> Option<&HlsProgramDateTime>
pub fn program_date_time(&self) -> Option<&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.
sourcepub fn program_date_time_period(&self) -> Option<i32>
pub fn program_date_time_period(&self) -> Option<i32>
Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
sourcepub fn progressive_write_hls_manifest(
&self
) -> Option<&HlsProgressiveWriteHlsManifest>
pub fn progressive_write_hls_manifest( &self ) -> Option<&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.
sourcepub fn segment_control(&self) -> Option<&HlsSegmentControl>
pub fn segment_control(&self) -> Option<&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.
sourcepub fn segment_length(&self) -> Option<i32>
pub fn segment_length(&self) -> Option<i32>
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.
sourcepub fn segment_length_control(&self) -> Option<&HlsSegmentLengthControl>
pub fn segment_length_control(&self) -> Option<&HlsSegmentLengthControl>
Specify how you want MediaConvert to determine the segment length. Choose Exact to have the encoder use the exact length that you specify with the setting Segment length. This might result in extra I-frames. Choose Multiple of GOP to have the encoder round up the segment lengths to match the next GOP boundary.
sourcepub fn segments_per_subdirectory(&self) -> Option<i32>
pub fn segments_per_subdirectory(&self) -> Option<i32>
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.
sourcepub fn stream_inf_resolution(&self) -> Option<&HlsStreamInfResolution>
pub fn stream_inf_resolution(&self) -> Option<&HlsStreamInfResolution>
Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.
sourcepub fn target_duration_compatibility_mode(
&self
) -> Option<&HlsTargetDurationCompatibilityMode>
pub fn target_duration_compatibility_mode( &self ) -> Option<&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.
sourcepub fn timed_metadata_id3_frame(&self) -> Option<&HlsTimedMetadataId3Frame>
pub fn timed_metadata_id3_frame(&self) -> Option<&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.
sourcepub fn timed_metadata_id3_period(&self) -> Option<i32>
pub fn timed_metadata_id3_period(&self) -> Option<i32>
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.
sourcepub fn timestamp_delta_milliseconds(&self) -> Option<i32>
pub fn timestamp_delta_milliseconds(&self) -> Option<i32>
Provides an extra millisecond delta offset to fine tune the timestamps.
source§impl HlsGroupSettings
impl HlsGroupSettings
sourcepub fn builder() -> HlsGroupSettingsBuilder
pub fn builder() -> HlsGroupSettingsBuilder
Creates a new builder-style object to manufacture HlsGroupSettings
.
Trait Implementations§
source§impl Clone for HlsGroupSettings
impl Clone for HlsGroupSettings
source§fn clone(&self) -> HlsGroupSettings
fn clone(&self) -> HlsGroupSettings
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for HlsGroupSettings
impl Debug for HlsGroupSettings
source§impl PartialEq for HlsGroupSettings
impl PartialEq for HlsGroupSettings
source§fn eq(&self, other: &HlsGroupSettings) -> bool
fn eq(&self, other: &HlsGroupSettings) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for HlsGroupSettings
Auto Trait Implementations§
impl Freeze for HlsGroupSettings
impl RefUnwindSafe for HlsGroupSettings
impl Send for HlsGroupSettings
impl Sync for HlsGroupSettings
impl Unpin for HlsGroupSettings
impl UnwindSafe for HlsGroupSettings
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more