logo
pub struct CmafGroupSettings {
Show 21 fields pub additional_manifests: Option<Vec<CmafAdditionalManifest>>, pub base_url: Option<String>, pub client_cache: Option<String>, pub codec_specification: Option<String>, pub destination: Option<String>, pub destination_settings: Option<DestinationSettings>, pub encryption: Option<CmafEncryptionSettings>, pub fragment_length: Option<i64>, pub image_based_trick_play: Option<String>, pub manifest_compression: Option<String>, pub manifest_duration_format: Option<String>, pub min_buffer_time: Option<i64>, pub min_final_segment_length: Option<f64>, pub mpd_profile: Option<String>, pub pts_offset_handling_for_b_frames: Option<String>, pub segment_control: Option<String>, pub segment_length: Option<i64>, pub stream_inf_resolution: Option<String>, pub write_dash_manifest: Option<String>, pub write_hls_manifest: Option<String>, pub write_segment_timeline_in_representation: Option<String>,
}
Expand description

Settings related to your CMAF output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html. When you work directly in your JSON job specification, include this object and any required children when you set Type, under OutputGroupSettings, to CMAFGROUPSETTINGS.

Fields

additional_manifests: Option<Vec<CmafAdditionalManifest>>

By default, the service creates one top-level .m3u8 HLS manifest and one top -level .mpd DASH manifest for each CMAF output group in your job. These default manifests reference 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. For each additional manifest that you specify, the service creates one HLS manifest and one DASH manifest.

base_url: Option<String>

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

client_cache: Option<String>

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

codec_specification: Option<String>

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

destination: Option<String>

Use Destination (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<CmafEncryptionSettings>

DRM settings.

fragment_length: Option<i64>

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.

image_based_trick_play: Option<String>

Specify whether MediaConvert generates images for trick play. Keep the default value, None (NONE), to not generate any images. Choose Thumbnail (THUMBNAIL) to generate tiled thumbnails. Choose Thumbnail and full frame (THUMBNAILANDFULLFRAME) to generate tiled thumbnails and full-resolution images of single frames. When you enable Write HLS manifest (WriteHlsManifest), MediaConvert creates a child manifest for each set of images that you generate and adds corresponding entries to the parent manifest. When you enable Write DASH manifest (WriteDashManifest), 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

manifest_compression: Option<String>

When set to GZIP, compresses HLS playlist.

manifest_duration_format: Option<String>

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

min_buffer_time: Option<i64>

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_profile: Option<String>

Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAINPROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ONDEMANDPROFILE), 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 (SegmentControl) to Single file (SINGLEFILE).

pts_offset_handling_for_b_frames: Option<String>

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 (MATCHINITIALPTS) when you want MediaConvert to use the initial PTS as the first time stamp in the manifest. Choose Zero-based (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<String>

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

segment_length: Option<i64>

Use this setting to specify the length, in seconds, of each individual CMAF segment. This value applies to the whole package; that is, to every output in the output group. Note that segments end on the first keyframe after this number of seconds, so the actual segment length might be slightly longer. If you set Segment control (CmafSegmentControl) to single file, the service puts the content of each output in a single file that has metadata that marks these segments. If you set it to segmented files, the service creates multiple files for each output, each with the content of one segment.

stream_inf_resolution: Option<String>

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

write_dash_manifest: Option<String>

When set to ENABLED, a DASH MPD manifest will be generated for this output.

write_hls_manifest: Option<String>

When set to ENABLED, an Apple HLS manifest will be generated for this output.

write_segment_timeline_in_representation: Option<String>

When you enable Precise segment duration in DASH manifests (writeSegmentTimelineInRepresentation), your DASH manifest shows precise segment durations. The segment duration information appears inside the SegmentTimeline element, inside SegmentTemplate at the Representation level. When this feature isn't enabled, the segment durations in your DASH manifest are approximate. The segment duration information appears in the duration attribute of the SegmentTemplate element.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Deserialize this value from the given Serde deserializer. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

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

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

Calls U::from(self).

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

Should always be Self

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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