Struct aws_sdk_mediaconvert::types::DashIsoGroupSettings

source ·
#[non_exhaustive]
pub struct DashIsoGroupSettings {
Show 21 fields pub additional_manifests: Option<Vec<DashAdditionalManifest>>, pub audio_channel_config_scheme_id_uri: Option<DashIsoGroupAudioChannelConfigSchemeIdUri>, pub base_url: Option<String>, pub dash_manifest_style: Option<DashManifestStyle>, pub destination: Option<String>, pub destination_settings: Option<DestinationSettings>, pub encryption: Option<DashIsoEncryptionSettings>, pub fragment_length: Option<i32>, pub hbbtv_compliance: Option<DashIsoHbbtvCompliance>, pub image_based_trick_play: Option<DashIsoImageBasedTrickPlay>, pub image_based_trick_play_settings: Option<DashIsoImageBasedTrickPlaySettings>, pub min_buffer_time: Option<i32>, pub min_final_segment_length: Option<f64>, pub mpd_manifest_bandwidth_type: Option<DashIsoMpdManifestBandwidthType>, pub mpd_profile: Option<DashIsoMpdProfile>, pub pts_offset_handling_for_b_frames: Option<DashIsoPtsOffsetHandlingForBFrames>, pub segment_control: Option<DashIsoSegmentControl>, pub segment_length: Option<i32>, pub segment_length_control: Option<DashIsoSegmentLengthControl>, pub video_composition_offsets: Option<DashIsoVideoCompositionOffsets>, pub write_segment_timeline_in_representation: Option<DashIsoWriteSegmentTimelineInRepresentation>,
}
Expand description

Settings related to your DASH 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
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§additional_manifests: Option<Vec<DashAdditionalManifest>>

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

§audio_channel_config_scheme_id_uri: Option<DashIsoGroupAudioChannelConfigSchemeIdUri>

Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or Atmos) and your downstream workflow requires that your DASH manifest use the Dolby channel configuration tag, rather than the MPEG one. For example, you might need to use this to make dynamic ad insertion work. Specify which audio channel configuration scheme ID URI MediaConvert writes in your DASH manifest. Keep the default value, MPEG channel configuration, to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel configuration to have MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.

§base_url: Option<String>

A partial URI prefix that will be put in the manifest (.mpd) file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file.

§dash_manifest_style: Option<DashManifestStyle>

Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct.

§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

§encryption: Option<DashIsoEncryptionSettings>

DRM settings.

§fragment_length: Option<i32>

Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types.

§hbbtv_compliance: Option<DashIsoHbbtvCompliance>

Supports HbbTV specification as indicated

§image_based_trick_play: Option<DashIsoImageBasedTrickPlay>

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 adds an entry in the .mpd manifest for each set of images that you generate. 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<DashIsoImageBasedTrickPlaySettings>

Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED

§min_buffer_time: Option<i32>

Minimum time of initially buffered media that is needed to ensure smooth playout.

§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.

§mpd_manifest_bandwidth_type: Option<DashIsoMpdManifestBandwidthType>

Specify how the value for bandwidth is determined for each video Representation in your output MPD manifest. We recommend that you choose a MPD manifest bandwidth type that is compatible with your downstream player configuration. Max: Use the same value that you specify for Max bitrate in the video output, in bits per second. Average: Use the calculated average bitrate of the encoded video output, in bits per second.

§mpd_profile: Option<DashIsoMpdProfile>

Specify whether your DASH profile is on-demand or main. When you choose Main profile, the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand, the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control to Single file.

§pts_offset_handling_for_b_frames: Option<DashIsoPtsOffsetHandlingForBFrames>

Use this setting only when your output video stream has B-frames, which causes the initial presentation time stamp (PTS) to be offset from the initial decode time stamp (DTS). Specify how MediaConvert handles PTS when writing time stamps in output DASH manifests. Choose Match initial PTS when you want MediaConvert to use the initial PTS as the first time stamp in the manifest. Choose Zero-based to have MediaConvert ignore the initial PTS in the video stream and instead write the initial time stamp as zero in the manifest. For outputs that don’t have B-frames, the time stamps in your DASH manifests start at zero regardless of your choice here.

§segment_control: Option<DashIsoSegmentControl>

When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.

§segment_length: Option<i32>

Specify the length, in whole seconds, of each segment. When you don’t specify a value, MediaConvert defaults to 30. 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<DashIsoSegmentLengthControl>

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.

§video_composition_offsets: Option<DashIsoVideoCompositionOffsets>

Specify the video sample composition time offset mode in the output fMP4 TRUN box. For wider player compatibility, set Video composition offsets to Unsigned or leave blank. The earliest presentation time may be greater than zero, and sample composition time offsets will increment using unsigned integers. For strict fMP4 video and audio timing, set Video composition offsets to Signed. The earliest presentation time will be equal to zero, and sample composition time offsets will increment using signed integers.

§write_segment_timeline_in_representation: Option<DashIsoWriteSegmentTimelineInRepresentation>

If you get an HTTP error in the 400 range when you play back your DASH output, enable this setting and run your transcoding job again. When you enable this setting, the service writes precise segment durations in the DASH manifest. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When you don’t enable this setting, the service writes approximate segment durations in your DASH manifest.

Implementations§

source§

impl DashIsoGroupSettings

source

pub fn additional_manifests(&self) -> &[DashAdditionalManifest]

By default, the service creates one .mpd DASH manifest for each DASH ISO output group in your job. This default manifest references every output in the output group. To create additional DASH 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().

source

pub fn audio_channel_config_scheme_id_uri( &self ) -> Option<&DashIsoGroupAudioChannelConfigSchemeIdUri>

Use this setting only when your audio codec is a Dolby one (AC3, EAC3, or Atmos) and your downstream workflow requires that your DASH manifest use the Dolby channel configuration tag, rather than the MPEG one. For example, you might need to use this to make dynamic ad insertion work. Specify which audio channel configuration scheme ID URI MediaConvert writes in your DASH manifest. Keep the default value, MPEG channel configuration, to have MediaConvert write this: urn:mpeg:mpegB:cicp:ChannelConfiguration. Choose Dolby channel configuration to have MediaConvert write this instead: tag:dolby.com,2014:dash:audio_channel_configuration:2011.

source

pub fn base_url(&self) -> Option<&str>

A partial URI prefix that will be put in the manifest (.mpd) file at the top level BaseURL element. Can be used if streams are delivered from a different URL than the manifest file.

source

pub fn dash_manifest_style(&self) -> Option<&DashManifestStyle>

Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct.

source

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.

source

pub fn destination_settings(&self) -> Option<&DestinationSettings>

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

source

pub fn encryption(&self) -> Option<&DashIsoEncryptionSettings>

DRM settings.

source

pub fn fragment_length(&self) -> Option<i32>

Length of fragments to generate (in seconds). Fragment length must be compatible with GOP size and Framerate. Note that fragments will end on the next keyframe after this number of seconds, so actual fragment length may be longer. When Emit Single File is checked, the fragmentation is internal to a single output file and it does not cause the creation of many output files as in other output types.

source

pub fn hbbtv_compliance(&self) -> Option<&DashIsoHbbtvCompliance>

Supports HbbTV specification as indicated

source

pub fn image_based_trick_play(&self) -> Option<&DashIsoImageBasedTrickPlay>

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 adds an entry in the .mpd manifest for each set of images that you generate. 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

source

pub fn image_based_trick_play_settings( &self ) -> Option<&DashIsoImageBasedTrickPlaySettings>

Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED

source

pub fn min_buffer_time(&self) -> Option<i32>

Minimum time of initially buffered media that is needed to ensure smooth playout.

source

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.

source

pub fn mpd_manifest_bandwidth_type( &self ) -> Option<&DashIsoMpdManifestBandwidthType>

Specify how the value for bandwidth is determined for each video Representation in your output MPD manifest. We recommend that you choose a MPD manifest bandwidth type that is compatible with your downstream player configuration. Max: Use the same value that you specify for Max bitrate in the video output, in bits per second. Average: Use the calculated average bitrate of the encoded video output, in bits per second.

source

pub fn mpd_profile(&self) -> Option<&DashIsoMpdProfile>

Specify whether your DASH profile is on-demand or main. When you choose Main profile, the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand, the service signals urn:mpeg:dash:profile:isoff-on-demand:2011 in your .mpd. When you choose On-demand, you must also set the output group setting Segment control to Single file.

source

pub fn pts_offset_handling_for_b_frames( &self ) -> Option<&DashIsoPtsOffsetHandlingForBFrames>

Use this setting only when your output video stream has B-frames, which causes the initial presentation time stamp (PTS) to be offset from the initial decode time stamp (DTS). Specify how MediaConvert handles PTS when writing time stamps in output DASH manifests. Choose Match initial PTS when you want MediaConvert to use the initial PTS as the first time stamp in the manifest. Choose Zero-based to have MediaConvert ignore the initial PTS in the video stream and instead write the initial time stamp as zero in the manifest. For outputs that don’t have B-frames, the time stamps in your DASH manifests start at zero regardless of your choice here.

source

pub fn segment_control(&self) -> Option<&DashIsoSegmentControl>

When set to SINGLE_FILE, a single output file is generated, which is internally segmented using the Fragment Length and Segment Length. When set to SEGMENTED_FILES, separate segment files will be created.

source

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 30. 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.

source

pub fn segment_length_control(&self) -> Option<&DashIsoSegmentLengthControl>

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.

source

pub fn video_composition_offsets( &self ) -> Option<&DashIsoVideoCompositionOffsets>

Specify the video sample composition time offset mode in the output fMP4 TRUN box. For wider player compatibility, set Video composition offsets to Unsigned or leave blank. The earliest presentation time may be greater than zero, and sample composition time offsets will increment using unsigned integers. For strict fMP4 video and audio timing, set Video composition offsets to Signed. The earliest presentation time will be equal to zero, and sample composition time offsets will increment using signed integers.

source

pub fn write_segment_timeline_in_representation( &self ) -> Option<&DashIsoWriteSegmentTimelineInRepresentation>

If you get an HTTP error in the 400 range when you play back your DASH output, enable this setting and run your transcoding job again. When you enable this setting, the service writes precise segment durations in the DASH manifest. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When you don’t enable this setting, the service writes approximate segment durations in your DASH manifest.

source§

impl DashIsoGroupSettings

source

pub fn builder() -> DashIsoGroupSettingsBuilder

Creates a new builder-style object to manufacture DashIsoGroupSettings.

Trait Implementations§

source§

impl Clone for DashIsoGroupSettings

source§

fn clone(&self) -> DashIsoGroupSettings

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DashIsoGroupSettings

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for DashIsoGroupSettings

source§

fn eq(&self, other: &DashIsoGroupSettings) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for DashIsoGroupSettings

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more