Struct aws_sdk_mediaconvert::types::CmfcSettings
source · #[non_exhaustive]pub struct CmfcSettings {Show 14 fields
pub audio_duration: Option<CmfcAudioDuration>,
pub audio_group_id: Option<String>,
pub audio_rendition_sets: Option<String>,
pub audio_track_type: Option<CmfcAudioTrackType>,
pub descriptive_video_service_flag: Option<CmfcDescriptiveVideoServiceFlag>,
pub i_frame_only_manifest: Option<CmfcIFrameOnlyManifest>,
pub klv_metadata: Option<CmfcKlvMetadata>,
pub manifest_metadata_signaling: Option<CmfcManifestMetadataSignaling>,
pub scte35_esam: Option<CmfcScte35Esam>,
pub scte35_source: Option<CmfcScte35Source>,
pub timed_metadata: Option<CmfcTimedMetadata>,
pub timed_metadata_box_version: Option<CmfcTimedMetadataBoxVersion>,
pub timed_metadata_scheme_id_uri: Option<String>,
pub timed_metadata_value: Option<String>,
}
Expand description
These settings relate to the fragmented MP4 container for the segments in your CMAF outputs.
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.audio_duration: Option<CmfcAudioDuration>
Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration. In all other cases, keep the default value, Default codec duration. When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.
audio_group_id: Option<String>
Specify the audio rendition group for this audio rendition. Specify up to one value for each audio output in your output group. This value appears in your HLS parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the GROUP-ID attribute. For example, if you specify “audio_aac_1” for Audio group ID, it appears in your manifest like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=“audio_aac_1”. Related setting: To associate the rendition group that this audio track belongs to with a video rendition, include the same value that you provide here for that video output’s setting Audio rendition sets.
audio_rendition_sets: Option<String>
List the audio rendition groups that you want included with this video rendition. Use a comma-separated list. For example, say you want to include the audio rendition groups that have the audio group IDs “audio_aac_1” and “audio_dolby”. Then you would specify this value: “audio_aac_1,audio_dolby”. Related setting: The rendition groups that you include in your comma-separated list should all match values that you specify in the setting Audio group ID for audio renditions in the same output group as this video rendition. Default behavior: If you don’t specify anything here and for Audio group ID, MediaConvert puts each audio variant in its own audio rendition group and associates it with every video variant. Each value in your list appears in your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO attribute. To continue the previous example, say that the file name for the child manifest for your video rendition is “amazing_video_1.m3u8”. Then, in your parent manifest, each value will appear on separate lines, like this: #EXT-X-STREAM-INF:AUDIO=“audio_aac_1”… amazing_video_1.m3u8 #EXT-X-STREAM-INF:AUDIO=“audio_dolby”… amazing_video_1.m3u8
audio_track_type: Option<CmfcAudioTrackType>
Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. Choose Audio-only variant stream (AUDIO_ONLY_VARIANT_STREAM) for any variant that you want to prohibit the client from playing with video. This causes MediaConvert to represent the variant as an EXT-X-STREAM-INF in the HLS manifest. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don’t specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting.
descriptive_video_service_flag: Option<CmfcDescriptiveVideoServiceFlag>
Specify whether to flag this audio track as descriptive video service (DVS) in your HLS parent manifest. When you choose Flag, MediaConvert includes the parameter CHARACTERISTICS=“public.accessibility.describes-video” in the EXT-X-MEDIA entry for this track. When you keep the default choice, Don’t flag, MediaConvert leaves this parameter out. The DVS flag can help with accessibility on Apple devices. For more information, see the Apple documentation.
i_frame_only_manifest: Option<CmfcIFrameOnlyManifest>
Choose Include to have MediaConvert generate an HLS child manifest that lists only the I-frames for this rendition, in addition to your regular manifest for this rendition. You might use this manifest as part of a workflow that creates preview functions for your video. MediaConvert adds both the I-frame only child manifest and the regular child manifest to the parent manifest. When you don’t need the I-frame only child manifest, keep the default value Exclude.
klv_metadata: Option<CmfcKlvMetadata>
To include key-length-value metadata in this output: Set KLV metadata insertion to Passthrough. MediaConvert reads KLV metadata present in your input and writes each instance to a separate event message box in the output, according to MISB ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or leave blank.
manifest_metadata_signaling: Option<CmfcManifestMetadataSignaling>
To add an InbandEventStream element in your output MPD manifest for each type of event message, set Manifest metadata signaling to Enabled. For ID3 event messages, the InbandEventStream element schemeIdUri will be same value that you specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the InbandEventStream element schemeIdUri will be “urn:scte:scte35:2013:bin”. To leave these elements out of your output MPD manifest, set Manifest metadata signaling to Disabled. To enable Manifest metadata signaling, you must also set SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to Passthrough.
scte35_esam: Option<CmfcScte35Esam>
Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML.
scte35_source: Option<CmfcScte35Source>
Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None if you don’t want those SCTE-35 markers in this output.
timed_metadata: Option<CmfcTimedMetadata>
To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this ID3 metadata: Set ID3 metadata to None or leave blank.
timed_metadata_box_version: Option<CmfcTimedMetadataBoxVersion>
Specify the event message box (eMSG) version for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 Syntax. Leave blank to use the default value Version 0. When you specify Version 1, you must also set ID3 metadata to Passthrough.
timed_metadata_scheme_id_uri: Option<String>
Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 metadata to Passthrough.
timed_metadata_value: Option<String>
Specify the event message box (eMSG) value for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value, you must also set ID3 metadata to Passthrough.
Implementations§
source§impl CmfcSettings
impl CmfcSettings
sourcepub fn audio_duration(&self) -> Option<&CmfcAudioDuration>
pub fn audio_duration(&self) -> Option<&CmfcAudioDuration>
Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration. In all other cases, keep the default value, Default codec duration. When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec.
sourcepub fn audio_group_id(&self) -> Option<&str>
pub fn audio_group_id(&self) -> Option<&str>
Specify the audio rendition group for this audio rendition. Specify up to one value for each audio output in your output group. This value appears in your HLS parent manifest in the EXT-X-MEDIA tag of TYPE=AUDIO, as the value for the GROUP-ID attribute. For example, if you specify “audio_aac_1” for Audio group ID, it appears in your manifest like this: #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=“audio_aac_1”. Related setting: To associate the rendition group that this audio track belongs to with a video rendition, include the same value that you provide here for that video output’s setting Audio rendition sets.
sourcepub fn audio_rendition_sets(&self) -> Option<&str>
pub fn audio_rendition_sets(&self) -> Option<&str>
List the audio rendition groups that you want included with this video rendition. Use a comma-separated list. For example, say you want to include the audio rendition groups that have the audio group IDs “audio_aac_1” and “audio_dolby”. Then you would specify this value: “audio_aac_1,audio_dolby”. Related setting: The rendition groups that you include in your comma-separated list should all match values that you specify in the setting Audio group ID for audio renditions in the same output group as this video rendition. Default behavior: If you don’t specify anything here and for Audio group ID, MediaConvert puts each audio variant in its own audio rendition group and associates it with every video variant. Each value in your list appears in your HLS parent manifest in the EXT-X-STREAM-INF tag as the value for the AUDIO attribute. To continue the previous example, say that the file name for the child manifest for your video rendition is “amazing_video_1.m3u8”. Then, in your parent manifest, each value will appear on separate lines, like this: #EXT-X-STREAM-INF:AUDIO=“audio_aac_1”… amazing_video_1.m3u8 #EXT-X-STREAM-INF:AUDIO=“audio_dolby”… amazing_video_1.m3u8
sourcepub fn audio_track_type(&self) -> Option<&CmfcAudioTrackType>
pub fn audio_track_type(&self) -> Option<&CmfcAudioTrackType>
Use this setting to control the values that MediaConvert puts in your HLS parent playlist to control how the client player selects which audio track to play. Choose Audio-only variant stream (AUDIO_ONLY_VARIANT_STREAM) for any variant that you want to prohibit the client from playing with video. This causes MediaConvert to represent the variant as an EXT-X-STREAM-INF in the HLS manifest. The other options for this setting determine the values that MediaConvert writes for the DEFAULT and AUTOSELECT attributes of the EXT-X-MEDIA entry for the audio variant. For more information about these attributes, see the Apple documentation article https://developer.apple.com/documentation/http_live_streaming/example_playlists_for_http_live_streaming/adding_alternate_media_to_a_playlist. Choose Alternate audio, auto select, default to set DEFAULT=YES and AUTOSELECT=YES. Choose this value for only one variant in your output group. Choose Alternate audio, auto select, not default to set DEFAULT=NO and AUTOSELECT=YES. Choose Alternate Audio, Not Auto Select to set DEFAULT=NO and AUTOSELECT=NO. When you don’t specify a value for this setting, MediaConvert defaults to Alternate audio, auto select, default. When there is more than one variant in your output group, you must explicitly choose a value for this setting.
sourcepub fn descriptive_video_service_flag(
&self
) -> Option<&CmfcDescriptiveVideoServiceFlag>
pub fn descriptive_video_service_flag( &self ) -> Option<&CmfcDescriptiveVideoServiceFlag>
Specify whether to flag this audio track as descriptive video service (DVS) in your HLS parent manifest. When you choose Flag, MediaConvert includes the parameter CHARACTERISTICS=“public.accessibility.describes-video” in the EXT-X-MEDIA entry for this track. When you keep the default choice, Don’t flag, MediaConvert leaves this parameter out. The DVS flag can help with accessibility on Apple devices. For more information, see the Apple documentation.
sourcepub fn i_frame_only_manifest(&self) -> Option<&CmfcIFrameOnlyManifest>
pub fn i_frame_only_manifest(&self) -> Option<&CmfcIFrameOnlyManifest>
Choose Include to have MediaConvert generate an HLS child manifest that lists only the I-frames for this rendition, in addition to your regular manifest for this rendition. You might use this manifest as part of a workflow that creates preview functions for your video. MediaConvert adds both the I-frame only child manifest and the regular child manifest to the parent manifest. When you don’t need the I-frame only child manifest, keep the default value Exclude.
sourcepub fn klv_metadata(&self) -> Option<&CmfcKlvMetadata>
pub fn klv_metadata(&self) -> Option<&CmfcKlvMetadata>
To include key-length-value metadata in this output: Set KLV metadata insertion to Passthrough. MediaConvert reads KLV metadata present in your input and writes each instance to a separate event message box in the output, according to MISB ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or leave blank.
sourcepub fn manifest_metadata_signaling(
&self
) -> Option<&CmfcManifestMetadataSignaling>
pub fn manifest_metadata_signaling( &self ) -> Option<&CmfcManifestMetadataSignaling>
To add an InbandEventStream element in your output MPD manifest for each type of event message, set Manifest metadata signaling to Enabled. For ID3 event messages, the InbandEventStream element schemeIdUri will be same value that you specify for ID3 metadata scheme ID URI. For SCTE35 event messages, the InbandEventStream element schemeIdUri will be “urn:scte:scte35:2013:bin”. To leave these elements out of your output MPD manifest, set Manifest metadata signaling to Disabled. To enable Manifest metadata signaling, you must also set SCTE-35 source to Passthrough, ESAM SCTE-35 to insert, or ID3 metadata to Passthrough.
sourcepub fn scte35_esam(&self) -> Option<&CmfcScte35Esam>
pub fn scte35_esam(&self) -> Option<&CmfcScte35Esam>
Use this setting only when you specify SCTE-35 markers from ESAM. Choose INSERT to put SCTE-35 markers in this output at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML.
sourcepub fn scte35_source(&self) -> Option<&CmfcScte35Source>
pub fn scte35_source(&self) -> Option<&CmfcScte35Source>
Ignore this setting unless you have SCTE-35 markers in your input video file. Choose Passthrough if you want SCTE-35 markers that appear in your input to also appear in this output. Choose None if you don’t want those SCTE-35 markers in this output.
sourcepub fn timed_metadata(&self) -> Option<&CmfcTimedMetadata>
pub fn timed_metadata(&self) -> Option<&CmfcTimedMetadata>
To include ID3 metadata in this output: Set ID3 metadata to Passthrough. Specify this ID3 metadata in Custom ID3 metadata inserter. MediaConvert writes each instance of ID3 metadata in a separate Event Message (eMSG) box. To exclude this ID3 metadata: Set ID3 metadata to None or leave blank.
sourcepub fn timed_metadata_box_version(&self) -> Option<&CmfcTimedMetadataBoxVersion>
pub fn timed_metadata_box_version(&self) -> Option<&CmfcTimedMetadataBoxVersion>
Specify the event message box (eMSG) version for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.3 Syntax. Leave blank to use the default value Version 0. When you specify Version 1, you must also set ID3 metadata to Passthrough.
sourcepub fn timed_metadata_scheme_id_uri(&self) -> Option<&str>
pub fn timed_metadata_scheme_id_uri(&self) -> Option<&str>
Specify the event message box (eMSG) scheme ID URI for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 metadata to Passthrough.
sourcepub fn timed_metadata_value(&self) -> Option<&str>
pub fn timed_metadata_value(&self) -> Option<&str>
Specify the event message box (eMSG) value for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value, you must also set ID3 metadata to Passthrough.
source§impl CmfcSettings
impl CmfcSettings
sourcepub fn builder() -> CmfcSettingsBuilder
pub fn builder() -> CmfcSettingsBuilder
Creates a new builder-style object to manufacture CmfcSettings
.
Trait Implementations§
source§impl Clone for CmfcSettings
impl Clone for CmfcSettings
source§fn clone(&self) -> CmfcSettings
fn clone(&self) -> CmfcSettings
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CmfcSettings
impl Debug for CmfcSettings
source§impl PartialEq for CmfcSettings
impl PartialEq for CmfcSettings
source§fn eq(&self, other: &CmfcSettings) -> bool
fn eq(&self, other: &CmfcSettings) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for CmfcSettings
Auto Trait Implementations§
impl Freeze for CmfcSettings
impl RefUnwindSafe for CmfcSettings
impl Send for CmfcSettings
impl Sync for CmfcSettings
impl Unpin for CmfcSettings
impl UnwindSafe for CmfcSettings
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