Skip to content

Commit 974c945

Browse files
author
AWS
committed
AWS Elemental MediaConvert Update: AWS Elemental MediaConvert SDK has added support for: AV1 encoding in File Group MP4, DASH and CMAF DASH outputs; PCM/WAV audio output in MPEG2-TS containers; and Opus audio in Webm inputs.
1 parent fafa5df commit 974c945

File tree

2 files changed

+145
-4
lines changed

2 files changed

+145
-4
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Elemental MediaConvert",
4+
"description": "AWS Elemental MediaConvert SDK has added support for: AV1 encoding in File Group MP4, DASH and CMAF DASH outputs; PCM/WAV audio output in MPEG2-TS containers; and Opus audio in Webm inputs."
5+
}

services/mediaconvert/src/main/resources/codegen-resources/service-2.json

Lines changed: 140 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1672,6 +1672,131 @@
16721672
"USE_CONFIGURED"
16731673
]
16741674
},
1675+
"Av1AdaptiveQuantization": {
1676+
"type": "string",
1677+
"documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality.",
1678+
"enum": [
1679+
"OFF",
1680+
"LOW",
1681+
"MEDIUM",
1682+
"HIGH",
1683+
"HIGHER",
1684+
"MAX"
1685+
]
1686+
},
1687+
"Av1FramerateControl": {
1688+
"type": "string",
1689+
"documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator.",
1690+
"enum": [
1691+
"INITIALIZE_FROM_SOURCE",
1692+
"SPECIFIED"
1693+
]
1694+
},
1695+
"Av1FramerateConversionAlgorithm": {
1696+
"type": "string",
1697+
"documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion.",
1698+
"enum": [
1699+
"DUPLICATE_DROP",
1700+
"INTERPOLATE"
1701+
]
1702+
},
1703+
"Av1QvbrSettings": {
1704+
"type": "structure",
1705+
"members": {
1706+
"QvbrQualityLevel": {
1707+
"shape": "__integerMin1Max10",
1708+
"locationName": "qvbrQualityLevel",
1709+
"documentation": "Required when you use QVBR rate control mode. That is, when you specify qvbrSettings within av1Settings. Specify the general target quality level for this output, from 1 to 10. Use higher numbers for greater quality. Level 10 results in nearly lossless compression. The quality level for most broadcast-quality transcodes is between 6 and 9. Optionally, to specify a value between whole numbers, also provide a value for the setting qvbrQualityLevelFineTune. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33."
1710+
},
1711+
"QvbrQualityLevelFineTune": {
1712+
"shape": "__doubleMin0Max1",
1713+
"locationName": "qvbrQualityLevelFineTune",
1714+
"documentation": "Optional. Specify a value here to set the QVBR quality to a level that is between whole numbers. For example, if you want your QVBR quality level to be 7.33, set qvbrQualityLevel to 7 and set qvbrQualityLevelFineTune to .33. MediaConvert rounds your QVBR quality level to the nearest third of a whole number. For example, if you set qvbrQualityLevel to 7 and you set qvbrQualityLevelFineTune to .25, your actual QVBR quality level is 7.33."
1715+
}
1716+
},
1717+
"documentation": "Settings for quality-defined variable bitrate encoding with the AV1 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode."
1718+
},
1719+
"Av1RateControlMode": {
1720+
"type": "string",
1721+
"documentation": "'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR). You can''t use CBR or VBR.'",
1722+
"enum": [
1723+
"QVBR"
1724+
]
1725+
},
1726+
"Av1Settings": {
1727+
"type": "structure",
1728+
"members": {
1729+
"AdaptiveQuantization": {
1730+
"shape": "Av1AdaptiveQuantization",
1731+
"locationName": "adaptiveQuantization",
1732+
"documentation": "Adaptive quantization. Allows intra-frame quantizers to vary to improve visual quality."
1733+
},
1734+
"FramerateControl": {
1735+
"shape": "Av1FramerateControl",
1736+
"locationName": "framerateControl",
1737+
"documentation": "If you are using the console, use the Framerate setting to specify the frame rate for this output. If you want to keep the same frame rate as the input video, choose Follow source. If you want to do frame rate conversion, choose a frame rate from the dropdown list or choose Custom. The framerates shown in the dropdown list are decimal approximations of fractions. If you choose Custom, specify your frame rate as a fraction. If you are creating your transcoding job specification as a JSON file without the console, use FramerateControl to specify which value the service uses for the frame rate for this output. Choose INITIALIZE_FROM_SOURCE if you want the service to use the frame rate from the input. Choose SPECIFIED if you want the service to use the frame rate you specify in the settings FramerateNumerator and FramerateDenominator."
1738+
},
1739+
"FramerateConversionAlgorithm": {
1740+
"shape": "Av1FramerateConversionAlgorithm",
1741+
"locationName": "framerateConversionAlgorithm",
1742+
"documentation": "When set to INTERPOLATE, produces smoother motion during frame rate conversion."
1743+
},
1744+
"FramerateDenominator": {
1745+
"shape": "__integerMin1Max2147483647",
1746+
"locationName": "framerateDenominator",
1747+
"documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateDenominator to specify the denominator of this fraction. In this example, use 1001 for the value of FramerateDenominator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976."
1748+
},
1749+
"FramerateNumerator": {
1750+
"shape": "__integerMin1Max2147483647",
1751+
"locationName": "framerateNumerator",
1752+
"documentation": "When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976."
1753+
},
1754+
"GopSize": {
1755+
"shape": "__doubleMin0",
1756+
"locationName": "gopSize",
1757+
"documentation": "Specify the GOP length (keyframe interval) in frames. With AV1, MediaConvert doesn't support GOP length in seconds. This value must be greater than zero and preferably equal to 1 + ((numberBFrames + 1) * x), where x is an integer value."
1758+
},
1759+
"MaxBitrate": {
1760+
"shape": "__integerMin1000Max1152000000",
1761+
"locationName": "maxBitrate",
1762+
"documentation": "Maximum bitrate in bits/second. For example, enter five megabits per second as 5000000. Required when Rate control mode is QVBR."
1763+
},
1764+
"NumberBFramesBetweenReferenceFrames": {
1765+
"shape": "__integerMin7Max15",
1766+
"locationName": "numberBFramesBetweenReferenceFrames",
1767+
"documentation": "Specify the number of B-frames. With AV1, MediaConvert supports only 7 or 15."
1768+
},
1769+
"QvbrSettings": {
1770+
"shape": "Av1QvbrSettings",
1771+
"locationName": "qvbrSettings",
1772+
"documentation": "Settings for quality-defined variable bitrate encoding with the AV1 codec. Required when you set Rate control mode to QVBR. Not valid when you set Rate control mode to a value other than QVBR, or when you don't define Rate control mode."
1773+
},
1774+
"RateControlMode": {
1775+
"shape": "Av1RateControlMode",
1776+
"locationName": "rateControlMode",
1777+
"documentation": "'With AV1 outputs, for rate control mode, MediaConvert supports only quality-defined variable bitrate (QVBR). You can''t use CBR or VBR.'"
1778+
},
1779+
"Slices": {
1780+
"shape": "__integerMin1Max32",
1781+
"locationName": "slices",
1782+
"documentation": "Specify the number of slices per picture. This value must be 1, 2, 4, 8, 16, or 32. For progressive pictures, this value must be less than or equal to the number of macroblock rows. For interlaced pictures, this value must be less than or equal to half the number of macroblock rows."
1783+
},
1784+
"SpatialAdaptiveQuantization": {
1785+
"shape": "Av1SpatialAdaptiveQuantization",
1786+
"locationName": "spatialAdaptiveQuantization",
1787+
"documentation": "Adjust quantization within each frame based on spatial variation of content complexity."
1788+
}
1789+
},
1790+
"documentation": "Required when you set Codec, under VideoDescription>CodecSettings to the value AV1."
1791+
},
1792+
"Av1SpatialAdaptiveQuantization": {
1793+
"type": "string",
1794+
"documentation": "Adjust quantization within each frame based on spatial variation of content complexity.",
1795+
"enum": [
1796+
"DISABLED",
1797+
"ENABLED"
1798+
]
1799+
},
16751800
"AvailBlanking": {
16761801
"type": "structure",
16771802
"members": {
@@ -2387,7 +2512,7 @@
23872512
"ColorSpaceConversion": {
23882513
"shape": "ColorSpaceConversion",
23892514
"locationName": "colorSpaceConversion",
2390-
"documentation": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, and from SDR to HDR. The service doesn't support conversion from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output."
2515+
"documentation": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR."
23912516
},
23922517
"Contrast": {
23932518
"shape": "__integerMin1Max100",
@@ -2433,7 +2558,7 @@
24332558
},
24342559
"ColorSpaceConversion": {
24352560
"type": "string",
2436-
"documentation": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, and from SDR to HDR. The service doesn't support conversion from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output.",
2561+
"documentation": "Specify the color space you want for this output. The service supports conversion between HDR formats, between SDR formats, from SDR to HDR, and from HDR to SDR. SDR to HDR conversion doesn't upgrade the dynamic range. The converted video has an HDR format, but visually appears the same as an unconverted output. HDR to SDR conversion uses Elemental tone mapping technology to approximate the outcome of manually regrading from HDR to SDR.",
24372562
"enum": [
24382563
"NONE",
24392564
"FORCE_601",
@@ -9094,6 +9219,7 @@
90949219
"documentation": "Type of video codec",
90959220
"enum": [
90969221
"FRAME_CAPTURE",
9222+
"AV1",
90979223
"H_264",
90989224
"H_265",
90999225
"MPEG2",
@@ -9103,6 +9229,11 @@
91039229
"VideoCodecSettings": {
91049230
"type": "structure",
91059231
"members": {
9232+
"Av1Settings": {
9233+
"shape": "Av1Settings",
9234+
"locationName": "av1Settings",
9235+
"documentation": "Required when you set Codec, under VideoDescription>CodecSettings to the value AV1."
9236+
},
91069237
"Codec": {
91079238
"shape": "VideoCodec",
91089239
"locationName": "codec",
@@ -9134,7 +9265,7 @@
91349265
"documentation": "Required when you set (Codec) under (VideoDescription)>(CodecSettings) to the value PRORES."
91359266
}
91369267
},
9137-
"documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings"
9268+
"documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings"
91389269
},
91399270
"VideoDescription": {
91409271
"type": "structure",
@@ -9152,7 +9283,7 @@
91529283
"CodecSettings": {
91539284
"shape": "VideoCodecSettings",
91549285
"locationName": "codecSettings",
9155-
"documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings"
9286+
"documentation": "Video codec settings, (CodecSettings) under (VideoDescription), contains the group of settings related to video encoding. The settings in this group vary depending on the value that you choose for Video codec (Codec). For each codec enum that you choose, define the corresponding settings object. The following lists the codec enum, settings object pairs. * FRAME_CAPTURE, FrameCaptureSettings * AV1, Av1Settings * H_264, H264Settings * H_265, H265Settings * MPEG2, Mpeg2Settings * PRORES, ProresSettings"
91569287
},
91579288
"ColorMetadata": {
91589289
"shape": "ColorMetadata",
@@ -9697,6 +9828,11 @@
96979828
"min": 64000,
96989829
"max": 640000
96999830
},
9831+
"__integerMin7Max15": {
9832+
"type": "integer",
9833+
"min": 7,
9834+
"max": 15
9835+
},
97009836
"__integerMin8000Max192000": {
97019837
"type": "integer",
97029838
"min": 8000,

0 commit comments

Comments
 (0)