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 HlsGroupSettings = HlsGroupSettings' {
- directoryStructure :: Maybe HlsDirectoryStructure
- segmentControl :: Maybe HlsSegmentControl
- destination :: Maybe Text
- timedMetadataId3Period :: Maybe Int
- targetDurationCompatibilityMode :: Maybe HlsTargetDurationCompatibilityMode
- imageBasedTrickPlay :: Maybe HlsImageBasedTrickPlay
- additionalManifests :: Maybe [HlsAdditionalManifest]
- minSegmentLength :: Maybe Natural
- programDateTime :: Maybe HlsProgramDateTime
- segmentLengthControl :: Maybe HlsSegmentLengthControl
- imageBasedTrickPlaySettings :: Maybe HlsImageBasedTrickPlaySettings
- programDateTimePeriod :: Maybe Natural
- codecSpecification :: Maybe HlsCodecSpecification
- captionLanguageMappings :: Maybe [HlsCaptionLanguageMapping]
- baseUrl :: Maybe Text
- destinationSettings :: Maybe DestinationSettings
- minFinalSegmentLength :: Maybe Double
- adMarkers :: Maybe [HlsAdMarkers]
- encryption :: Maybe HlsEncryptionSettings
- segmentLength :: Maybe Natural
- timedMetadataId3Frame :: Maybe HlsTimedMetadataId3Frame
- outputSelection :: Maybe HlsOutputSelection
- captionLanguageSetting :: Maybe HlsCaptionLanguageSetting
- segmentsPerSubdirectory :: Maybe Natural
- manifestDurationFormat :: Maybe HlsManifestDurationFormat
- audioOnlyHeader :: Maybe HlsAudioOnlyHeader
- clientCache :: Maybe HlsClientCache
- timestampDeltaMilliseconds :: Maybe Int
- streamInfResolution :: Maybe HlsStreamInfResolution
- manifestCompression :: Maybe HlsManifestCompression
- newHlsGroupSettings :: HlsGroupSettings
- hlsGroupSettings_directoryStructure :: Lens' HlsGroupSettings (Maybe HlsDirectoryStructure)
- hlsGroupSettings_segmentControl :: Lens' HlsGroupSettings (Maybe HlsSegmentControl)
- hlsGroupSettings_destination :: Lens' HlsGroupSettings (Maybe Text)
- hlsGroupSettings_timedMetadataId3Period :: Lens' HlsGroupSettings (Maybe Int)
- hlsGroupSettings_targetDurationCompatibilityMode :: Lens' HlsGroupSettings (Maybe HlsTargetDurationCompatibilityMode)
- hlsGroupSettings_imageBasedTrickPlay :: Lens' HlsGroupSettings (Maybe HlsImageBasedTrickPlay)
- hlsGroupSettings_additionalManifests :: Lens' HlsGroupSettings (Maybe [HlsAdditionalManifest])
- hlsGroupSettings_minSegmentLength :: Lens' HlsGroupSettings (Maybe Natural)
- hlsGroupSettings_programDateTime :: Lens' HlsGroupSettings (Maybe HlsProgramDateTime)
- hlsGroupSettings_segmentLengthControl :: Lens' HlsGroupSettings (Maybe HlsSegmentLengthControl)
- hlsGroupSettings_imageBasedTrickPlaySettings :: Lens' HlsGroupSettings (Maybe HlsImageBasedTrickPlaySettings)
- hlsGroupSettings_programDateTimePeriod :: Lens' HlsGroupSettings (Maybe Natural)
- hlsGroupSettings_codecSpecification :: Lens' HlsGroupSettings (Maybe HlsCodecSpecification)
- hlsGroupSettings_captionLanguageMappings :: Lens' HlsGroupSettings (Maybe [HlsCaptionLanguageMapping])
- hlsGroupSettings_baseUrl :: Lens' HlsGroupSettings (Maybe Text)
- hlsGroupSettings_destinationSettings :: Lens' HlsGroupSettings (Maybe DestinationSettings)
- hlsGroupSettings_minFinalSegmentLength :: Lens' HlsGroupSettings (Maybe Double)
- hlsGroupSettings_adMarkers :: Lens' HlsGroupSettings (Maybe [HlsAdMarkers])
- hlsGroupSettings_encryption :: Lens' HlsGroupSettings (Maybe HlsEncryptionSettings)
- hlsGroupSettings_segmentLength :: Lens' HlsGroupSettings (Maybe Natural)
- hlsGroupSettings_timedMetadataId3Frame :: Lens' HlsGroupSettings (Maybe HlsTimedMetadataId3Frame)
- hlsGroupSettings_outputSelection :: Lens' HlsGroupSettings (Maybe HlsOutputSelection)
- hlsGroupSettings_captionLanguageSetting :: Lens' HlsGroupSettings (Maybe HlsCaptionLanguageSetting)
- hlsGroupSettings_segmentsPerSubdirectory :: Lens' HlsGroupSettings (Maybe Natural)
- hlsGroupSettings_manifestDurationFormat :: Lens' HlsGroupSettings (Maybe HlsManifestDurationFormat)
- hlsGroupSettings_audioOnlyHeader :: Lens' HlsGroupSettings (Maybe HlsAudioOnlyHeader)
- hlsGroupSettings_clientCache :: Lens' HlsGroupSettings (Maybe HlsClientCache)
- hlsGroupSettings_timestampDeltaMilliseconds :: Lens' HlsGroupSettings (Maybe Int)
- hlsGroupSettings_streamInfResolution :: Lens' HlsGroupSettings (Maybe HlsStreamInfResolution)
- hlsGroupSettings_manifestCompression :: Lens' HlsGroupSettings (Maybe HlsManifestCompression)
Documentation
data HlsGroupSettings Source #
Settings related to your HLS 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 HLS_GROUP_SETTINGS.
See: newHlsGroupSettings
smart constructor.
HlsGroupSettings' | |
|
Instances
newHlsGroupSettings :: HlsGroupSettings Source #
Create a value of HlsGroupSettings
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:directoryStructure:HlsGroupSettings'
, hlsGroupSettings_directoryStructure
- Indicates whether segments should be placed in subdirectories.
$sel:segmentControl:HlsGroupSettings'
, hlsGroupSettings_segmentControl
- When set to SINGLE_FILE, emits program as a single media resource (.ts)
file, uses #EXT-X-BYTERANGE tags to index segment for playback.
$sel:destination:HlsGroupSettings'
, hlsGroupSettings_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:timedMetadataId3Period:HlsGroupSettings'
, hlsGroupSettings_timedMetadataId3Period
- Timed Metadata interval in seconds.
$sel:targetDurationCompatibilityMode:HlsGroupSettings'
, hlsGroupSettings_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:HlsGroupSettings'
, hlsGroupSettings_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. MediaConvert creates a child
manifest for each set of images that you generate and adds corresponding
entries to the parent manifest. 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:additionalManifests:HlsGroupSettings'
, hlsGroupSettings_additionalManifests
- By default, the service creates one top-level .m3u8 HLS manifest for
each HLS output group in your job. This default manifest references
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.
$sel:minSegmentLength:HlsGroupSettings'
, hlsGroupSettings_minSegmentLength
- When set, Minimum Segment Size is enforced by looking ahead and back
within the specified range for a nearby avail and extending the segment
size if needed.
$sel:programDateTime:HlsGroupSettings'
, hlsGroupSettings_programDateTime
- Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest
files. The value is calculated as follows: either the program date and
time are initialized using the input timecode source, or the time is
initialized using the input timecode source and the date is initialized
using the timestamp_offset.
$sel:segmentLengthControl:HlsGroupSettings'
, hlsGroupSettings_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:HlsGroupSettings'
, hlsGroupSettings_imageBasedTrickPlaySettings
- Tile and thumbnail settings applicable when imageBasedTrickPlay is
ADVANCED
$sel:programDateTimePeriod:HlsGroupSettings'
, hlsGroupSettings_programDateTimePeriod
- Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
$sel:codecSpecification:HlsGroupSettings'
, hlsGroupSettings_codecSpecification
- Specification to use (RFC-6381 or the default RFC-4281) during m3u8
playlist generation.
$sel:captionLanguageMappings:HlsGroupSettings'
, hlsGroupSettings_captionLanguageMappings
- Language to be used on Caption outputs
$sel:baseUrl:HlsGroupSettings'
, hlsGroupSettings_baseUrl
- A partial URI prefix that will be prepended to each output in the media
.m3u8 file. Can be used if base manifest is delivered from a different
URL than the main .m3u8 file.
$sel:destinationSettings:HlsGroupSettings'
, hlsGroupSettings_destinationSettings
- Settings associated with the destination. Will vary based on the type of
destination
$sel:minFinalSegmentLength:HlsGroupSettings'
, hlsGroupSettings_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:adMarkers:HlsGroupSettings'
, hlsGroupSettings_adMarkers
- Choose one or more ad marker types to decorate your Apple HLS manifest.
This setting does not determine whether SCTE-35 markers appear in the
outputs themselves.
$sel:encryption:HlsGroupSettings'
, hlsGroupSettings_encryption
- DRM settings.
$sel:segmentLength:HlsGroupSettings'
, hlsGroupSettings_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
(HlsSegmentControl) to specify whether MediaConvert creates separate
segment files or one content file that has metadata to mark the segment
boundaries.
$sel:timedMetadataId3Frame:HlsGroupSettings'
, hlsGroupSettings_timedMetadataId3Frame
- Indicates ID3 frame that has the timecode.
$sel:outputSelection:HlsGroupSettings'
, hlsGroupSettings_outputSelection
- Indicates whether the .m3u8 manifest file should be generated for this
HLS output group.
$sel:captionLanguageSetting:HlsGroupSettings'
, hlsGroupSettings_captionLanguageSetting
- Applies only to 608 Embedded output captions. Insert: Include
CLOSED-CAPTIONS lines in the manifest. Specify at least one language in
the CC1 Language Code field. One CLOSED-CAPTION line is added for each
Language Code you specify. Make sure to specify the languages in the
order in which they appear in the original source (if the source is
embedded format) or the order of the caption selectors (if the source is
other than embedded). Otherwise, languages in the manifest will not
match up properly with the output captions. None: Include
CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any
CLOSED-CAPTIONS line from the manifest.
$sel:segmentsPerSubdirectory:HlsGroupSettings'
, hlsGroupSettings_segmentsPerSubdirectory
- Number of segments to write to a subdirectory before starting a new one.
directoryStructure must be SINGLE_DIRECTORY for this setting to have an
effect.
$sel:manifestDurationFormat:HlsGroupSettings'
, hlsGroupSettings_manifestDurationFormat
- Indicates whether the output manifest should use floating point values
for segment duration.
$sel:audioOnlyHeader:HlsGroupSettings'
, hlsGroupSettings_audioOnlyHeader
- Ignore this setting unless you are using FairPlay DRM with Verimatrix
and you encounter playback issues. Keep the default value, Include
(INCLUDE), to output audio-only headers. Choose Exclude (EXCLUDE) to
remove the audio-only headers from your audio segments.
$sel:clientCache:HlsGroupSettings'
, hlsGroupSettings_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:timestampDeltaMilliseconds:HlsGroupSettings'
, hlsGroupSettings_timestampDeltaMilliseconds
- Provides an extra millisecond delta offset to fine tune the timestamps.
$sel:streamInfResolution:HlsGroupSettings'
, hlsGroupSettings_streamInfResolution
- Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF
tag of variant manifest.
$sel:manifestCompression:HlsGroupSettings'
, hlsGroupSettings_manifestCompression
- When set to GZIP, compresses HLS playlist.
hlsGroupSettings_directoryStructure :: Lens' HlsGroupSettings (Maybe HlsDirectoryStructure) Source #
Indicates whether segments should be placed in subdirectories.
hlsGroupSettings_segmentControl :: Lens' HlsGroupSettings (Maybe HlsSegmentControl) Source #
When set to SINGLE_FILE, emits program as a single media resource (.ts) file, uses #EXT-X-BYTERANGE tags to index segment for playback.
hlsGroupSettings_destination :: Lens' HlsGroupSettings (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.
hlsGroupSettings_timedMetadataId3Period :: Lens' HlsGroupSettings (Maybe Int) Source #
Timed Metadata interval in seconds.
hlsGroupSettings_targetDurationCompatibilityMode :: Lens' HlsGroupSettings (Maybe HlsTargetDurationCompatibilityMode) 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.
hlsGroupSettings_imageBasedTrickPlay :: Lens' HlsGroupSettings (Maybe HlsImageBasedTrickPlay) 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. MediaConvert creates a child manifest for each set of images that you generate and adds corresponding entries to the parent manifest. 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
hlsGroupSettings_additionalManifests :: Lens' HlsGroupSettings (Maybe [HlsAdditionalManifest]) Source #
By default, the service creates one top-level .m3u8 HLS manifest for each HLS output group in your job. This default manifest references 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.
hlsGroupSettings_minSegmentLength :: Lens' HlsGroupSettings (Maybe Natural) Source #
When set, Minimum Segment Size is enforced by looking ahead and back within the specified range for a nearby avail and extending the segment size if needed.
hlsGroupSettings_programDateTime :: Lens' HlsGroupSettings (Maybe HlsProgramDateTime) Source #
Includes or excludes EXT-X-PROGRAM-DATE-TIME tag in .m3u8 manifest files. The value is calculated as follows: either the program date and time are initialized using the input timecode source, or the time is initialized using the input timecode source and the date is initialized using the timestamp_offset.
hlsGroupSettings_segmentLengthControl :: Lens' HlsGroupSettings (Maybe HlsSegmentLengthControl) 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.
hlsGroupSettings_imageBasedTrickPlaySettings :: Lens' HlsGroupSettings (Maybe HlsImageBasedTrickPlaySettings) Source #
Tile and thumbnail settings applicable when imageBasedTrickPlay is ADVANCED
hlsGroupSettings_programDateTimePeriod :: Lens' HlsGroupSettings (Maybe Natural) Source #
Period of insertion of EXT-X-PROGRAM-DATE-TIME entry, in seconds.
hlsGroupSettings_codecSpecification :: Lens' HlsGroupSettings (Maybe HlsCodecSpecification) Source #
Specification to use (RFC-6381 or the default RFC-4281) during m3u8 playlist generation.
hlsGroupSettings_captionLanguageMappings :: Lens' HlsGroupSettings (Maybe [HlsCaptionLanguageMapping]) Source #
Language to be used on Caption outputs
hlsGroupSettings_baseUrl :: Lens' HlsGroupSettings (Maybe Text) Source #
A partial URI prefix that will be prepended to each output in the media .m3u8 file. Can be used if base manifest is delivered from a different URL than the main .m3u8 file.
hlsGroupSettings_destinationSettings :: Lens' HlsGroupSettings (Maybe DestinationSettings) Source #
Settings associated with the destination. Will vary based on the type of destination
hlsGroupSettings_minFinalSegmentLength :: Lens' HlsGroupSettings (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.
hlsGroupSettings_adMarkers :: Lens' HlsGroupSettings (Maybe [HlsAdMarkers]) Source #
Choose one or more ad marker types to decorate your Apple HLS manifest. This setting does not determine whether SCTE-35 markers appear in the outputs themselves.
hlsGroupSettings_encryption :: Lens' HlsGroupSettings (Maybe HlsEncryptionSettings) Source #
DRM settings.
hlsGroupSettings_segmentLength :: Lens' HlsGroupSettings (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 (HlsSegmentControl) to specify whether MediaConvert creates separate segment files or one content file that has metadata to mark the segment boundaries.
hlsGroupSettings_timedMetadataId3Frame :: Lens' HlsGroupSettings (Maybe HlsTimedMetadataId3Frame) Source #
Indicates ID3 frame that has the timecode.
hlsGroupSettings_outputSelection :: Lens' HlsGroupSettings (Maybe HlsOutputSelection) Source #
Indicates whether the .m3u8 manifest file should be generated for this HLS output group.
hlsGroupSettings_captionLanguageSetting :: Lens' HlsGroupSettings (Maybe HlsCaptionLanguageSetting) Source #
Applies only to 608 Embedded output captions. Insert: Include CLOSED-CAPTIONS lines in the manifest. Specify at least one language in the CC1 Language Code field. One CLOSED-CAPTION line is added for each Language Code you specify. Make sure to specify the languages in the order in which they appear in the original source (if the source is embedded format) or the order of the caption selectors (if the source is other than embedded). Otherwise, languages in the manifest will not match up properly with the output captions. None: Include CLOSED-CAPTIONS=NONE line in the manifest. Omit: Omit any CLOSED-CAPTIONS line from the manifest.
hlsGroupSettings_segmentsPerSubdirectory :: Lens' HlsGroupSettings (Maybe Natural) Source #
Number of segments to write to a subdirectory before starting a new one. directoryStructure must be SINGLE_DIRECTORY for this setting to have an effect.
hlsGroupSettings_manifestDurationFormat :: Lens' HlsGroupSettings (Maybe HlsManifestDurationFormat) Source #
Indicates whether the output manifest should use floating point values for segment duration.
hlsGroupSettings_audioOnlyHeader :: Lens' HlsGroupSettings (Maybe HlsAudioOnlyHeader) Source #
Ignore this setting unless you are using FairPlay DRM with Verimatrix and you encounter playback issues. Keep the default value, Include (INCLUDE), to output audio-only headers. Choose Exclude (EXCLUDE) to remove the audio-only headers from your audio segments.
hlsGroupSettings_clientCache :: Lens' HlsGroupSettings (Maybe HlsClientCache) 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.
hlsGroupSettings_timestampDeltaMilliseconds :: Lens' HlsGroupSettings (Maybe Int) Source #
Provides an extra millisecond delta offset to fine tune the timestamps.
hlsGroupSettings_streamInfResolution :: Lens' HlsGroupSettings (Maybe HlsStreamInfResolution) Source #
Include or exclude RESOLUTION attribute for video in EXT-X-STREAM-INF tag of variant manifest.
hlsGroupSettings_manifestCompression :: Lens' HlsGroupSettings (Maybe HlsManifestCompression) Source #
When set to GZIP, compresses HLS playlist.