Class CmafGroupSettings

java.lang.Object
software.amazon.awssdk.services.mediaconvert.model.CmafGroupSettings
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<CmafGroupSettings.Builder,CmafGroupSettings>

@Generated("software.amazon.awssdk:codegen") public final class CmafGroupSettings extends Object implements SdkPojo, Serializable, ToCopyableBuilder<CmafGroupSettings.Builder,CmafGroupSettings>
Settings related to your CMAF output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html.
See Also:
  • Method Details

    • hasAdditionalManifests

      public final boolean hasAdditionalManifests()
      For responses, this returns true if the service returned a value for the AdditionalManifests property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • additionalManifests

      public final List<CmafAdditionalManifest> additionalManifests()
      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.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAdditionalManifests() method.

      Returns:
      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.
    • baseUrl

      public final String baseUrl()
      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.
      Returns:
      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.
    • clientCache

      public final CmafClientCache clientCache()
      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.

      If the service returns an enum value that is not available in the current SDK version, clientCache will return CmafClientCache.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from clientCacheAsString().

      Returns:
      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.
      See Also:
    • clientCacheAsString

      public final String clientCacheAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, clientCache will return CmafClientCache.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from clientCacheAsString().

      Returns:
      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.
      See Also:
    • codecSpecification

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

      If the service returns an enum value that is not available in the current SDK version, codecSpecification will return CmafCodecSpecification.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from codecSpecificationAsString().

      Returns:
      Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
      See Also:
    • codecSpecificationAsString

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

      If the service returns an enum value that is not available in the current SDK version, codecSpecification will return CmafCodecSpecification.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from codecSpecificationAsString().

      Returns:
      Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
      See Also:
    • dashIFrameTrickPlayNameModifier

      public final String dashIFrameTrickPlayNameModifier()
      Specify whether MediaConvert generates I-frame only video segments for DASH trick play, also known as trick mode. When specified, the I-frame only video segments are included within an additional AdaptationSet in your DASH output manifest. To generate I-frame only video segments: Enter a name as a text string, up to 256 character long. This name is appended to the end of this output group's base filename, that you specify as part of your destination URI, and used for the I-frame only video segment files. You may also include format identifiers. For more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html #using-settings-variables-with-streaming-outputs To not generate I-frame only video segments: Leave blank.
      Returns:
      Specify whether MediaConvert generates I-frame only video segments for DASH trick play, also known as trick mode. When specified, the I-frame only video segments are included within an additional AdaptationSet in your DASH output manifest. To generate I-frame only video segments: Enter a name as a text string, up to 256 character long. This name is appended to the end of this output group's base filename, that you specify as part of your destination URI, and used for the I-frame only video segment files. You may also include format identifiers. For more information, see: https://docs.aws.amazon.com/mediaconvert /latest/ug/using-variables-in-your-job-settings.html#using-settings-variables-with-streaming-outputs To not generate I-frame only video segments: Leave blank.
    • dashManifestStyle

      public final DashManifestStyle 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.

      If the service returns an enum value that is not available in the current SDK version, dashManifestStyle will return DashManifestStyle.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from dashManifestStyleAsString().

      Returns:
      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.
      See Also:
    • dashManifestStyleAsString

      public final String dashManifestStyleAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, dashManifestStyle will return DashManifestStyle.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from dashManifestStyleAsString().

      Returns:
      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.
      See Also:
    • destination

      public final String destination()
      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.
      Returns:
      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.
    • destinationSettings

      public final DestinationSettings destinationSettings()
      Settings associated with the destination. Will vary based on the type of destination
      Returns:
      Settings associated with the destination. Will vary based on the type of destination
    • encryption

      public final CmafEncryptionSettings encryption()
      DRM settings.
      Returns:
      DRM settings.
    • fragmentLength

      public final Integer fragmentLength()
      Specify the length, in whole seconds, of the mp4 fragments. When you don't specify a value, MediaConvert defaults to 2. Related setting: Use Fragment length control to specify whether the encoder enforces this value strictly.
      Returns:
      Specify the length, in whole seconds, of the mp4 fragments. When you don't specify a value, MediaConvert defaults to 2. Related setting: Use Fragment length control to specify whether the encoder enforces this value strictly.
    • imageBasedTrickPlay

      public final CmafImageBasedTrickPlay imageBasedTrickPlay()
      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. When you enable Write HLS manifest, 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, 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

      If the service returns an enum value that is not available in the current SDK version, imageBasedTrickPlay will return CmafImageBasedTrickPlay.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from imageBasedTrickPlayAsString().

      Returns:
      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. When you enable Write HLS manifest, 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, 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
      See Also:
    • imageBasedTrickPlayAsString

      public final String imageBasedTrickPlayAsString()
      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. When you enable Write HLS manifest, 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, 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

      If the service returns an enum value that is not available in the current SDK version, imageBasedTrickPlay will return CmafImageBasedTrickPlay.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from imageBasedTrickPlayAsString().

      Returns:
      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. When you enable Write HLS manifest, 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, 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
      See Also:
    • imageBasedTrickPlaySettings

      public final CmafImageBasedTrickPlaySettings imageBasedTrickPlaySettings()
      Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
      Returns:
      Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
    • manifestCompression

      public final CmafManifestCompression manifestCompression()
      When set to GZIP, compresses HLS playlist.

      If the service returns an enum value that is not available in the current SDK version, manifestCompression will return CmafManifestCompression.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from manifestCompressionAsString().

      Returns:
      When set to GZIP, compresses HLS playlist.
      See Also:
    • manifestCompressionAsString

      public final String manifestCompressionAsString()
      When set to GZIP, compresses HLS playlist.

      If the service returns an enum value that is not available in the current SDK version, manifestCompression will return CmafManifestCompression.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from manifestCompressionAsString().

      Returns:
      When set to GZIP, compresses HLS playlist.
      See Also:
    • manifestDurationFormat

      public final CmafManifestDurationFormat manifestDurationFormat()
      Indicates whether the output manifest should use floating point values for segment duration.

      If the service returns an enum value that is not available in the current SDK version, manifestDurationFormat will return CmafManifestDurationFormat.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from manifestDurationFormatAsString().

      Returns:
      Indicates whether the output manifest should use floating point values for segment duration.
      See Also:
    • manifestDurationFormatAsString

      public final String manifestDurationFormatAsString()
      Indicates whether the output manifest should use floating point values for segment duration.

      If the service returns an enum value that is not available in the current SDK version, manifestDurationFormat will return CmafManifestDurationFormat.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from manifestDurationFormatAsString().

      Returns:
      Indicates whether the output manifest should use floating point values for segment duration.
      See Also:
    • minBufferTime

      public final Integer minBufferTime()
      Minimum time of initially buffered media that is needed to ensure smooth playout.
      Returns:
      Minimum time of initially buffered media that is needed to ensure smooth playout.
    • minFinalSegmentLength

      public final Double minFinalSegmentLength()
      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.
      Returns:
      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.
    • mpdManifestBandwidthType

      public final CmafMpdManifestBandwidthType mpdManifestBandwidthType()
      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.

      If the service returns an enum value that is not available in the current SDK version, mpdManifestBandwidthType will return CmafMpdManifestBandwidthType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mpdManifestBandwidthTypeAsString().

      Returns:
      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.
      See Also:
    • mpdManifestBandwidthTypeAsString

      public final String mpdManifestBandwidthTypeAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, mpdManifestBandwidthType will return CmafMpdManifestBandwidthType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mpdManifestBandwidthTypeAsString().

      Returns:
      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.
      See Also:
    • mpdProfile

      public final CmafMpdProfile mpdProfile()
      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.

      If the service returns an enum value that is not available in the current SDK version, mpdProfile will return CmafMpdProfile.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mpdProfileAsString().

      Returns:
      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.
      See Also:
    • mpdProfileAsString

      public final String mpdProfileAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, mpdProfile will return CmafMpdProfile.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from mpdProfileAsString().

      Returns:
      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.
      See Also:
    • ptsOffsetHandlingForBFrames

      public final CmafPtsOffsetHandlingForBFrames ptsOffsetHandlingForBFrames()
      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.

      If the service returns an enum value that is not available in the current SDK version, ptsOffsetHandlingForBFrames will return CmafPtsOffsetHandlingForBFrames.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from ptsOffsetHandlingForBFramesAsString().

      Returns:
      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.
      See Also:
    • ptsOffsetHandlingForBFramesAsString

      public final String ptsOffsetHandlingForBFramesAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, ptsOffsetHandlingForBFrames will return CmafPtsOffsetHandlingForBFrames.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from ptsOffsetHandlingForBFramesAsString().

      Returns:
      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.
      See Also:
    • segmentControl

      public final CmafSegmentControl segmentControl()
      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.

      If the service returns an enum value that is not available in the current SDK version, segmentControl will return CmafSegmentControl.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from segmentControlAsString().

      Returns:
      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.
      See Also:
    • segmentControlAsString

      public final String segmentControlAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, segmentControl will return CmafSegmentControl.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from segmentControlAsString().

      Returns:
      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.
      See Also:
    • segmentLength

      public final Integer segmentLength()
      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.
      Returns:
      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.
    • segmentLengthControl

      public final CmafSegmentLengthControl segmentLengthControl()
      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.

      If the service returns an enum value that is not available in the current SDK version, segmentLengthControl will return CmafSegmentLengthControl.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from segmentLengthControlAsString().

      Returns:
      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.
      See Also:
    • segmentLengthControlAsString

      public final String segmentLengthControlAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, segmentLengthControl will return CmafSegmentLengthControl.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from segmentLengthControlAsString().

      Returns:
      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.
      See Also:
    • streamInfResolution

      public final CmafStreamInfResolution streamInfResolution()
      Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.

      If the service returns an enum value that is not available in the current SDK version, streamInfResolution will return CmafStreamInfResolution.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from streamInfResolutionAsString().

      Returns:
      Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.
      See Also:
    • streamInfResolutionAsString

      public final String streamInfResolutionAsString()
      Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.

      If the service returns an enum value that is not available in the current SDK version, streamInfResolution will return CmafStreamInfResolution.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from streamInfResolutionAsString().

      Returns:
      Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.
      See Also:
    • targetDurationCompatibilityMode

      public final CmafTargetDurationCompatibilityMode targetDurationCompatibilityMode()
      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 (invalid input: '<' 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.

      If the service returns an enum value that is not available in the current SDK version, targetDurationCompatibilityMode will return CmafTargetDurationCompatibilityMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from targetDurationCompatibilityModeAsString().

      Returns:
      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 (invalid input: '<' 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.
      See Also:
    • targetDurationCompatibilityModeAsString

      public final String targetDurationCompatibilityModeAsString()
      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 (invalid input: '<' 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.

      If the service returns an enum value that is not available in the current SDK version, targetDurationCompatibilityMode will return CmafTargetDurationCompatibilityMode.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from targetDurationCompatibilityModeAsString().

      Returns:
      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 (invalid input: '<' 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.
      See Also:
    • videoCompositionOffsets

      public final CmafVideoCompositionOffsets videoCompositionOffsets()
      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.

      If the service returns an enum value that is not available in the current SDK version, videoCompositionOffsets will return CmafVideoCompositionOffsets.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from videoCompositionOffsetsAsString().

      Returns:
      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.
      See Also:
    • videoCompositionOffsetsAsString

      public final String videoCompositionOffsetsAsString()
      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.

      If the service returns an enum value that is not available in the current SDK version, videoCompositionOffsets will return CmafVideoCompositionOffsets.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from videoCompositionOffsetsAsString().

      Returns:
      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.
      See Also:
    • writeDashManifest

      public final CmafWriteDASHManifest writeDashManifest()
      When set to ENABLED, a DASH MPD manifest will be generated for this output.

      If the service returns an enum value that is not available in the current SDK version, writeDashManifest will return CmafWriteDASHManifest.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from writeDashManifestAsString().

      Returns:
      When set to ENABLED, a DASH MPD manifest will be generated for this output.
      See Also:
    • writeDashManifestAsString

      public final String writeDashManifestAsString()
      When set to ENABLED, a DASH MPD manifest will be generated for this output.

      If the service returns an enum value that is not available in the current SDK version, writeDashManifest will return CmafWriteDASHManifest.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from writeDashManifestAsString().

      Returns:
      When set to ENABLED, a DASH MPD manifest will be generated for this output.
      See Also:
    • writeHlsManifest

      public final CmafWriteHLSManifest writeHlsManifest()
      When set to ENABLED, an Apple HLS manifest will be generated for this output.

      If the service returns an enum value that is not available in the current SDK version, writeHlsManifest will return CmafWriteHLSManifest.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from writeHlsManifestAsString().

      Returns:
      When set to ENABLED, an Apple HLS manifest will be generated for this output.
      See Also:
    • writeHlsManifestAsString

      public final String writeHlsManifestAsString()
      When set to ENABLED, an Apple HLS manifest will be generated for this output.

      If the service returns an enum value that is not available in the current SDK version, writeHlsManifest will return CmafWriteHLSManifest.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from writeHlsManifestAsString().

      Returns:
      When set to ENABLED, an Apple HLS manifest will be generated for this output.
      See Also:
    • writeSegmentTimelineInRepresentation

      public final CmafWriteSegmentTimelineInRepresentation writeSegmentTimelineInRepresentation()
      When you enable Precise segment duration in DASH manifests, 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.

      If the service returns an enum value that is not available in the current SDK version, writeSegmentTimelineInRepresentation will return CmafWriteSegmentTimelineInRepresentation.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from writeSegmentTimelineInRepresentationAsString().

      Returns:
      When you enable Precise segment duration in DASH manifests, 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.
      See Also:
    • writeSegmentTimelineInRepresentationAsString

      public final String writeSegmentTimelineInRepresentationAsString()
      When you enable Precise segment duration in DASH manifests, 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.

      If the service returns an enum value that is not available in the current SDK version, writeSegmentTimelineInRepresentation will return CmafWriteSegmentTimelineInRepresentation.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from writeSegmentTimelineInRepresentationAsString().

      Returns:
      When you enable Precise segment duration in DASH manifests, 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.
      See Also:
    • toBuilder

      public CmafGroupSettings.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CmafGroupSettings.Builder,CmafGroupSettings>
      Returns:
      a builder for type T
    • builder

      public static CmafGroupSettings.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CmafGroupSettings.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.