Copyright | (c) 2013-2021 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay <brendan.g.hay+amazonka@gmail.com> |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | None |
Synopsis
- data CmafGroupSettings = CmafGroupSettings' {
- fragmentLength :: Maybe Natural
- segmentControl :: Maybe CmafSegmentControl
- destination :: Maybe Text
- minBufferTime :: Maybe Natural
- mpdProfile :: Maybe CmafMpdProfile
- targetDurationCompatibilityMode :: Maybe CmafTargetDurationCompatibilityMode
- imageBasedTrickPlay :: Maybe CmafImageBasedTrickPlay
- writeHlsManifest :: Maybe CmafWriteHLSManifest
- additionalManifests :: Maybe [CmafAdditionalManifest]
- segmentLengthControl :: Maybe CmafSegmentLengthControl
- imageBasedTrickPlaySettings :: Maybe CmafImageBasedTrickPlaySettings
- codecSpecification :: Maybe CmafCodecSpecification
- baseUrl :: Maybe Text
- destinationSettings :: Maybe DestinationSettings
- minFinalSegmentLength :: Maybe Double
- writeDashManifest :: Maybe CmafWriteDASHManifest
- encryption :: Maybe CmafEncryptionSettings
- segmentLength :: Maybe Natural
- ptsOffsetHandlingForBFrames :: Maybe CmafPtsOffsetHandlingForBFrames
- manifestDurationFormat :: Maybe CmafManifestDurationFormat
- clientCache :: Maybe CmafClientCache
- writeSegmentTimelineInRepresentation :: Maybe CmafWriteSegmentTimelineInRepresentation
- streamInfResolution :: Maybe CmafStreamInfResolution
- manifestCompression :: Maybe CmafManifestCompression
- newCmafGroupSettings :: CmafGroupSettings
- cmafGroupSettings_fragmentLength :: Lens' CmafGroupSettings (Maybe Natural)
- cmafGroupSettings_segmentControl :: Lens' CmafGroupSettings (Maybe CmafSegmentControl)
- cmafGroupSettings_destination :: Lens' CmafGroupSettings (Maybe Text)
- cmafGroupSettings_minBufferTime :: Lens' CmafGroupSettings (Maybe Natural)
- cmafGroupSettings_mpdProfile :: Lens' CmafGroupSettings (Maybe CmafMpdProfile)
- cmafGroupSettings_targetDurationCompatibilityMode :: Lens' CmafGroupSettings (Maybe CmafTargetDurationCompatibilityMode)
- cmafGroupSettings_imageBasedTrickPlay :: Lens' CmafGroupSettings (Maybe CmafImageBasedTrickPlay)
- cmafGroupSettings_writeHlsManifest :: Lens' CmafGroupSettings (Maybe CmafWriteHLSManifest)
- cmafGroupSettings_additionalManifests :: Lens' CmafGroupSettings (Maybe [CmafAdditionalManifest])
- cmafGroupSettings_segmentLengthControl :: Lens' CmafGroupSettings (Maybe CmafSegmentLengthControl)
- cmafGroupSettings_imageBasedTrickPlaySettings :: Lens' CmafGroupSettings (Maybe CmafImageBasedTrickPlaySettings)
- cmafGroupSettings_codecSpecification :: Lens' CmafGroupSettings (Maybe CmafCodecSpecification)
- cmafGroupSettings_baseUrl :: Lens' CmafGroupSettings (Maybe Text)
- cmafGroupSettings_destinationSettings :: Lens' CmafGroupSettings (Maybe DestinationSettings)
- cmafGroupSettings_minFinalSegmentLength :: Lens' CmafGroupSettings (Maybe Double)
- cmafGroupSettings_writeDashManifest :: Lens' CmafGroupSettings (Maybe CmafWriteDASHManifest)
- cmafGroupSettings_encryption :: Lens' CmafGroupSettings (Maybe CmafEncryptionSettings)
- cmafGroupSettings_segmentLength :: Lens' CmafGroupSettings (Maybe Natural)
- cmafGroupSettings_ptsOffsetHandlingForBFrames :: Lens' CmafGroupSettings (Maybe CmafPtsOffsetHandlingForBFrames)
- cmafGroupSettings_manifestDurationFormat :: Lens' CmafGroupSettings (Maybe CmafManifestDurationFormat)
- cmafGroupSettings_clientCache :: Lens' CmafGroupSettings (Maybe CmafClientCache)
- cmafGroupSettings_writeSegmentTimelineInRepresentation :: Lens' CmafGroupSettings (Maybe CmafWriteSegmentTimelineInRepresentation)
- cmafGroupSettings_streamInfResolution :: Lens' CmafGroupSettings (Maybe CmafStreamInfResolution)
- cmafGroupSettings_manifestCompression :: Lens' CmafGroupSettings (Maybe CmafManifestCompression)
Documentation
data CmafGroupSettings Source #
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 CMAF_GROUP_SETTINGS.
See: newCmafGroupSettings
smart constructor.
CmafGroupSettings' | |
|
Instances
newCmafGroupSettings :: CmafGroupSettings Source #
Create a value of CmafGroupSettings
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:fragmentLength:CmafGroupSettings'
, cmafGroupSettings_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 (FragmentLengthControl) to specify whether the
encoder enforces this value strictly.
$sel:segmentControl:CmafGroupSettings'
, cmafGroupSettings_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.
$sel:destination:CmafGroupSettings'
, cmafGroupSettings_destination
- 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.
$sel:minBufferTime:CmafGroupSettings'
, cmafGroupSettings_minBufferTime
- Minimum time of initially buffered media that is needed to ensure smooth
playout.
$sel:mpdProfile:CmafGroupSettings'
, cmafGroupSettings_mpdProfile
- Specify whether your DASH profile is on-demand or main. When you choose
Main profile (MAIN_PROFILE), the service signals
urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When
you choose On-demand (ON_DEMAND_PROFILE), 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 (SINGLE_FILE).
$sel:targetDurationCompatibilityMode:CmafGroupSettings'
, cmafGroupSettings_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 (< 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.
$sel:imageBasedTrickPlay:CmafGroupSettings'
, cmafGroupSettings_imageBasedTrickPlay
- 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 (THUMBNAIL_AND_FULLFRAME) 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
$sel:writeHlsManifest:CmafGroupSettings'
, cmafGroupSettings_writeHlsManifest
- When set to ENABLED, an Apple HLS manifest will be generated for this
output.
$sel:additionalManifests:CmafGroupSettings'
, cmafGroupSettings_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.
$sel:segmentLengthControl:CmafGroupSettings'
, cmafGroupSettings_segmentLengthControl
- Specify how you want MediaConvert to determine the segment length.
Choose Exact (EXACT) to have the encoder use the exact length that you
specify with the setting Segment length (SegmentLength). This might
result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have
the encoder round up the segment lengths to match the next GOP boundary.
$sel:imageBasedTrickPlaySettings:CmafGroupSettings'
, cmafGroupSettings_imageBasedTrickPlaySettings
- Tile and thumbnail settings applicable when imageBasedTrickPlay is
ADVANCED
$sel:codecSpecification:CmafGroupSettings'
, cmafGroupSettings_codecSpecification
- Specification to use (RFC-6381 or the default RFC-4281) during m3u8
playlist generation.
$sel:baseUrl:CmafGroupSettings'
, cmafGroupSettings_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.
$sel:destinationSettings:CmafGroupSettings'
, cmafGroupSettings_destinationSettings
- Settings associated with the destination. Will vary based on the type of
destination
$sel:minFinalSegmentLength:CmafGroupSettings'
, cmafGroupSettings_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.
$sel:writeDashManifest:CmafGroupSettings'
, cmafGroupSettings_writeDashManifest
- When set to ENABLED, a DASH MPD manifest will be generated for this
output.
$sel:encryption:CmafGroupSettings'
, cmafGroupSettings_encryption
- DRM settings.
$sel:segmentLength:CmafGroupSettings'
, cmafGroupSettings_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 (SegmentLengthControl) to specify whether the
encoder enforces this value strictly. Use Segment control
(CmafSegmentControl) to specify whether MediaConvert creates separate
segment files or one content file that has metadata to mark the segment
boundaries.
$sel:ptsOffsetHandlingForBFrames:CmafGroupSettings'
, cmafGroupSettings_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 (MATCH_INITIAL_PTS) 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.
$sel:manifestDurationFormat:CmafGroupSettings'
, cmafGroupSettings_manifestDurationFormat
- Indicates whether the output manifest should use floating point values
for segment duration.
$sel:clientCache:CmafGroupSettings'
, cmafGroupSettings_clientCache
- 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.
$sel:writeSegmentTimelineInRepresentation:CmafGroupSettings'
, cmafGroupSettings_writeSegmentTimelineInRepresentation
- 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.
$sel:streamInfResolution:CmafGroupSettings'
, cmafGroupSettings_streamInfResolution
- Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF
tag of variant manifest.
$sel:manifestCompression:CmafGroupSettings'
, cmafGroupSettings_manifestCompression
- When set to GZIP, compresses HLS playlist.
cmafGroupSettings_fragmentLength :: Lens' CmafGroupSettings (Maybe Natural) Source #
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 (FragmentLengthControl) to specify whether the encoder enforces this value strictly.
cmafGroupSettings_segmentControl :: Lens' CmafGroupSettings (Maybe CmafSegmentControl) Source #
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.
cmafGroupSettings_destination :: Lens' CmafGroupSettings (Maybe Text) Source #
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.
cmafGroupSettings_minBufferTime :: Lens' CmafGroupSettings (Maybe Natural) Source #
Minimum time of initially buffered media that is needed to ensure smooth playout.
cmafGroupSettings_mpdProfile :: Lens' CmafGroupSettings (Maybe CmafMpdProfile) Source #
Specify whether your DASH profile is on-demand or main. When you choose Main profile (MAIN_PROFILE), the service signals urn:mpeg:dash:profile:isoff-main:2011 in your .mpd DASH manifest. When you choose On-demand (ON_DEMAND_PROFILE), 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 (SINGLE_FILE).
cmafGroupSettings_targetDurationCompatibilityMode :: Lens' CmafGroupSettings (Maybe CmafTargetDurationCompatibilityMode) Source #
When set to LEGACY, the segment target duration is always rounded up to the nearest integer value above its current value in seconds. When set to SPEC\\_COMPLIANT, the segment target duration is rounded up to the nearest integer value if fraction seconds are greater than or equal to 0.5 (>= 0.5) and rounded down if less than 0.5 (< 0.5). You may need to use LEGACY if your client needs to ensure that the target duration is always longer than the actual duration of the segment. Some older players may experience interrupted playback when the actual duration of a track in a segment is longer than the target duration.
cmafGroupSettings_imageBasedTrickPlay :: Lens' CmafGroupSettings (Maybe CmafImageBasedTrickPlay) Source #
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 (THUMBNAIL_AND_FULLFRAME) 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
cmafGroupSettings_writeHlsManifest :: Lens' CmafGroupSettings (Maybe CmafWriteHLSManifest) Source #
When set to ENABLED, an Apple HLS manifest will be generated for this output.
cmafGroupSettings_additionalManifests :: Lens' CmafGroupSettings (Maybe [CmafAdditionalManifest]) Source #
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.
cmafGroupSettings_segmentLengthControl :: Lens' CmafGroupSettings (Maybe CmafSegmentLengthControl) Source #
Specify how you want MediaConvert to determine the segment length. Choose Exact (EXACT) to have the encoder use the exact length that you specify with the setting Segment length (SegmentLength). This might result in extra I-frames. Choose Multiple of GOP (GOP_MULTIPLE) to have the encoder round up the segment lengths to match the next GOP boundary.
cmafGroupSettings_imageBasedTrickPlaySettings :: Lens' CmafGroupSettings (Maybe CmafImageBasedTrickPlaySettings) Source #
Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
cmafGroupSettings_codecSpecification :: Lens' CmafGroupSettings (Maybe CmafCodecSpecification) Source #
Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
cmafGroupSettings_baseUrl :: Lens' CmafGroupSettings (Maybe Text) Source #
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.
cmafGroupSettings_destinationSettings :: Lens' CmafGroupSettings (Maybe DestinationSettings) Source #
Settings associated with the destination. Will vary based on the type of destination
cmafGroupSettings_minFinalSegmentLength :: Lens' CmafGroupSettings (Maybe Double) Source #
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.
cmafGroupSettings_writeDashManifest :: Lens' CmafGroupSettings (Maybe CmafWriteDASHManifest) Source #
When set to ENABLED, a DASH MPD manifest will be generated for this output.
cmafGroupSettings_encryption :: Lens' CmafGroupSettings (Maybe CmafEncryptionSettings) Source #
DRM settings.
cmafGroupSettings_segmentLength :: Lens' CmafGroupSettings (Maybe Natural) Source #
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 (SegmentLengthControl) to specify whether the encoder enforces this value strictly. Use Segment control (CmafSegmentControl) to specify whether MediaConvert creates separate segment files or one content file that has metadata to mark the segment boundaries.
cmafGroupSettings_ptsOffsetHandlingForBFrames :: Lens' CmafGroupSettings (Maybe CmafPtsOffsetHandlingForBFrames) Source #
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 (MATCH_INITIAL_PTS) 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.
cmafGroupSettings_manifestDurationFormat :: Lens' CmafGroupSettings (Maybe CmafManifestDurationFormat) Source #
Indicates whether the output manifest should use floating point values for segment duration.
cmafGroupSettings_clientCache :: Lens' CmafGroupSettings (Maybe CmafClientCache) Source #
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.
cmafGroupSettings_writeSegmentTimelineInRepresentation :: Lens' CmafGroupSettings (Maybe CmafWriteSegmentTimelineInRepresentation) Source #
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.
cmafGroupSettings_streamInfResolution :: Lens' CmafGroupSettings (Maybe CmafStreamInfResolution) Source #
Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.
cmafGroupSettings_manifestCompression :: Lens' CmafGroupSettings (Maybe CmafManifestCompression) Source #
When set to GZIP, compresses HLS playlist.