Skip to content

Commit 0035863

Browse files
author
awstools
committed
feat(client-mediaconvert): AWS Elemental MediaConvert SDK has added support for rules that constrain Automatic-ABR rendition selection when generating ABR package ladders.
1 parent d42ec54 commit 0035863

File tree

8 files changed

+810
-250
lines changed

8 files changed

+810
-250
lines changed

clients/client-mediaconvert/src/commands/ListJobTemplatesCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
} from "@aws-sdk/types";
1414

1515
import { MediaConvertClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConvertClient";
16-
import { ListJobTemplatesRequest, ListJobTemplatesResponse } from "../models/models_1";
16+
import { ListJobTemplatesRequest, ListJobTemplatesResponse } from "../models/models_2";
1717
import {
1818
deserializeAws_restJson1ListJobTemplatesCommand,
1919
serializeAws_restJson1ListJobTemplatesCommand,

clients/client-mediaconvert/src/commands/ListPresetsCommand.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
} from "@aws-sdk/types";
1414

1515
import { MediaConvertClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConvertClient";
16-
import { ListPresetsRequest, ListPresetsResponse } from "../models/models_1";
16+
import { ListPresetsRequest, ListPresetsResponse } from "../models/models_2";
1717
import {
1818
deserializeAws_restJson1ListPresetsCommand,
1919
serializeAws_restJson1ListPresetsCommand,

clients/client-mediaconvert/src/commands/ListQueuesCommand.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ import {
1313
} from "@aws-sdk/types";
1414

1515
import { MediaConvertClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../MediaConvertClient";
16-
import { ListQueuesRequest } from "../models/models_1";
17-
import { ListQueuesResponse } from "../models/models_2";
16+
import { ListQueuesRequest, ListQueuesResponse } from "../models/models_2";
1817
import {
1918
deserializeAws_restJson1ListQueuesCommand,
2019
serializeAws_restJson1ListQueuesCommand,

clients/client-mediaconvert/src/models/models_0.ts

Lines changed: 160 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,38 @@
11
// smithy-typescript generated code
2+
export enum RequiredFlag {
3+
DISABLED = "DISABLED",
4+
ENABLED = "ENABLED",
5+
}
6+
7+
/**
8+
* Use Allowed renditions to specify a list of possible resolutions in your ABR stack. * MediaConvert will create an ABR stack exclusively from the list of resolutions that you specify. * Some resolutions in the Allowed renditions list may not be included, however you can force a resolution to be included by setting Required to ENABLED. * You must specify at least one resolution that is greater than or equal to any resolutions that you specify in Min top rendition size or Min bottom rendition size. * If you specify Allowed renditions, you must not specify a separate rule for Force include renditions.
9+
*/
10+
export interface AllowedRenditionSize {
11+
/**
12+
* Use Height to define the video resolution height, in pixels, for this rule.
13+
*/
14+
Height?: number;
15+
16+
/**
17+
* Set to ENABLED to force a rendition to be included.
18+
*/
19+
Required?: RequiredFlag | string;
20+
21+
/**
22+
* Use Width to define the video resolution width, in pixels, for this rule.
23+
*/
24+
Width?: number;
25+
}
26+
27+
export namespace AllowedRenditionSize {
28+
/**
29+
* @internal
30+
*/
31+
export const filterSensitiveLog = (obj: AllowedRenditionSize): any => ({
32+
...obj,
33+
});
34+
}
35+
236
export enum AudioChannelTag {
337
C = "C",
438
CS = "CS",
@@ -1314,6 +1348,124 @@ export namespace AudioDescription {
13141348
});
13151349
}
13161350

1351+
/**
1352+
* Use Force include renditions to specify one or more resolutions to include your ABR stack. * (Recommended) To optimize automated ABR, specify as few resolutions as possible. * (Required) The number of resolutions that you specify must be equal to, or less than, the Max renditions setting. * If you specify a Min top rendition size rule, specify at least one resolution that is equal to, or greater than, Min top rendition size. * If you specify a Min bottom rendition size rule, only specify resolutions that are equal to, or greater than, Min bottom rendition size. * If you specify a Force include renditions rule, do not specify a separate rule for Allowed renditions. * Note: The ABR stack may include other resolutions that you do not specify here, depending on the Max renditions setting.
1353+
*/
1354+
export interface ForceIncludeRenditionSize {
1355+
/**
1356+
* Use Height to define the video resolution height, in pixels, for this rule.
1357+
*/
1358+
Height?: number;
1359+
1360+
/**
1361+
* Use Width to define the video resolution width, in pixels, for this rule.
1362+
*/
1363+
Width?: number;
1364+
}
1365+
1366+
export namespace ForceIncludeRenditionSize {
1367+
/**
1368+
* @internal
1369+
*/
1370+
export const filterSensitiveLog = (obj: ForceIncludeRenditionSize): any => ({
1371+
...obj,
1372+
});
1373+
}
1374+
1375+
/**
1376+
* Use Min bottom rendition size to specify a minimum size for the lowest resolution in your ABR stack. * The lowest resolution in your ABR stack will be equal to or greater than the value that you enter. For example: If you specify 640x360 the lowest resolution in your ABR stack will be equal to or greater than to 640x360. * If you specify a Min top rendition size rule, the value that you specify for Min bottom rendition size must be less than, or equal to, Min top rendition size.
1377+
*/
1378+
export interface MinBottomRenditionSize {
1379+
/**
1380+
* Use Height to define the video resolution height, in pixels, for this rule.
1381+
*/
1382+
Height?: number;
1383+
1384+
/**
1385+
* Use Width to define the video resolution width, in pixels, for this rule.
1386+
*/
1387+
Width?: number;
1388+
}
1389+
1390+
export namespace MinBottomRenditionSize {
1391+
/**
1392+
* @internal
1393+
*/
1394+
export const filterSensitiveLog = (obj: MinBottomRenditionSize): any => ({
1395+
...obj,
1396+
});
1397+
}
1398+
1399+
/**
1400+
* Use Min top rendition size to specify a minimum size for the highest resolution in your ABR stack. * The highest resolution in your ABR stack will be equal to or greater than the value that you enter. For example: If you specify 1280x720 the highest resolution in your ABR stack will be equal to or greater than 1280x720. * If you specify a value for Max resolution, the value that you specify for Min top rendition size must be less than, or equal to, Max resolution.
1401+
*/
1402+
export interface MinTopRenditionSize {
1403+
/**
1404+
* Use Height to define the video resolution height, in pixels, for this rule.
1405+
*/
1406+
Height?: number;
1407+
1408+
/**
1409+
* Use Width to define the video resolution width, in pixels, for this rule.
1410+
*/
1411+
Width?: number;
1412+
}
1413+
1414+
export namespace MinTopRenditionSize {
1415+
/**
1416+
* @internal
1417+
*/
1418+
export const filterSensitiveLog = (obj: MinTopRenditionSize): any => ({
1419+
...obj,
1420+
});
1421+
}
1422+
1423+
export enum RuleType {
1424+
ALLOWED_RENDITIONS = "ALLOWED_RENDITIONS",
1425+
FORCE_INCLUDE_RENDITIONS = "FORCE_INCLUDE_RENDITIONS",
1426+
MIN_BOTTOM_RENDITION_SIZE = "MIN_BOTTOM_RENDITION_SIZE",
1427+
MIN_TOP_RENDITION_SIZE = "MIN_TOP_RENDITION_SIZE",
1428+
}
1429+
1430+
/**
1431+
* Specify one or more Automated ABR rule types. Note: Force include and Allowed renditions are mutually exclusive.
1432+
*/
1433+
export interface AutomatedAbrRule {
1434+
/**
1435+
* When customer adds the allowed renditions rule for auto ABR ladder, they are required to add at leat one rendition to allowedRenditions list
1436+
*/
1437+
AllowedRenditions?: AllowedRenditionSize[];
1438+
1439+
/**
1440+
* When customer adds the force include renditions rule for auto ABR ladder, they are required to add at leat one rendition to forceIncludeRenditions list
1441+
*/
1442+
ForceIncludeRenditions?: ForceIncludeRenditionSize[];
1443+
1444+
/**
1445+
* Use Min bottom rendition size to specify a minimum size for the lowest resolution in your ABR stack. * The lowest resolution in your ABR stack will be equal to or greater than the value that you enter. For example: If you specify 640x360 the lowest resolution in your ABR stack will be equal to or greater than to 640x360. * If you specify a Min top rendition size rule, the value that you specify for Min bottom rendition size must be less than, or equal to, Min top rendition size.
1446+
*/
1447+
MinBottomRenditionSize?: MinBottomRenditionSize;
1448+
1449+
/**
1450+
* Use Min top rendition size to specify a minimum size for the highest resolution in your ABR stack. * The highest resolution in your ABR stack will be equal to or greater than the value that you enter. For example: If you specify 1280x720 the highest resolution in your ABR stack will be equal to or greater than 1280x720. * If you specify a value for Max resolution, the value that you specify for Min top rendition size must be less than, or equal to, Max resolution.
1451+
*/
1452+
MinTopRenditionSize?: MinTopRenditionSize;
1453+
1454+
/**
1455+
* Use Min top rendition size to specify a minimum size for the highest resolution in your ABR stack. * The highest resolution in your ABR stack will be equal to or greater than the value that you enter. For example: If you specify 1280x720 the highest resolution in your ABR stack will be equal to or greater than 1280x720. * If you specify a value for Max resolution, the value that you specify for Min top rendition size must be less than, or equal to, Max resolution. Use Min bottom rendition size to specify a minimum size for the lowest resolution in your ABR stack. * The lowest resolution in your ABR stack will be equal to or greater than the value that you enter. For example: If you specify 640x360 the lowest resolution in your ABR stack will be equal to or greater than to 640x360. * If you specify a Min top rendition size rule, the value that you specify for Min bottom rendition size must be less than, or equal to, Min top rendition size. Use Force include renditions to specify one or more resolutions to include your ABR stack. * (Recommended) To optimize automated ABR, specify as few resolutions as possible. * (Required) The number of resolutions that you specify must be equal to, or less than, the Max renditions setting. * If you specify a Min top rendition size rule, specify at least one resolution that is equal to, or greater than, Min top rendition size. * If you specify a Min bottom rendition size rule, only specify resolutions that are equal to, or greater than, Min bottom rendition size. * If you specify a Force include renditions rule, do not specify a separate rule for Allowed renditions. * Note: The ABR stack may include other resolutions that you do not specify here, depending on the Max renditions setting. Use Allowed renditions to specify a list of possible resolutions in your ABR stack. * (Required) The number of resolutions that you specify must be equal to, or greater than, the Max renditions setting. * MediaConvert will create an ABR stack exclusively from the list of resolutions that you specify. * Some resolutions in the Allowed renditions list may not be included, however you can force a resolution to be included by setting Required to ENABLED. * You must specify at least one resolution that is greater than or equal to any resolutions that you specify in Min top rendition size or Min bottom rendition size. * If you specify Allowed renditions, you must not specify a separate rule for Force include renditions.
1456+
*/
1457+
Type?: RuleType | string;
1458+
}
1459+
1460+
export namespace AutomatedAbrRule {
1461+
/**
1462+
* @internal
1463+
*/
1464+
export const filterSensitiveLog = (obj: AutomatedAbrRule): any => ({
1465+
...obj,
1466+
});
1467+
}
1468+
13171469
export enum BurninSubtitleAlignment {
13181470
AUTO = "AUTO",
13191471
CENTERED = "CENTERED",
@@ -1785,7 +1937,7 @@ export enum ImscStylePassthrough {
17851937
*/
17861938
export interface ImscDestinationSettings {
17871939
/**
1788-
* Set Accessibility subtitles (Accessibility) to Enabled (ENABLED) if the ISMC or WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing. When you enable this feature, MediaConvert adds the following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". Keep the default value, Disabled (DISABLED), if the captions track is not intended to provide such accessibility. MediaConvert will not add the above attributes.
1940+
* Set Accessibility subtitles to Enabled if the ISMC or WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing. When you enable this feature, MediaConvert adds the following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". Keep the default value, Disabled, if the captions track is not intended to provide such accessibility. MediaConvert will not add the above attributes.
17891941
*/
17901942
Accessibility?: ImscAccessibilitySubs | string;
17911943

@@ -1927,7 +2079,7 @@ export enum WebvttStylePassthrough {
19272079
*/
19282080
export interface WebvttDestinationSettings {
19292081
/**
1930-
* Set Accessibility subtitles (Accessibility) to Enabled (ENABLED) if the ISMC or WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing. When you enable this feature, MediaConvert adds the following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". Keep the default value, Disabled (DISABLED), if the captions track is not intended to provide such accessibility. MediaConvert will not add the above attributes.
2082+
* Set Accessibility subtitles to Enabled if the ISMC or WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing. When you enable this feature, MediaConvert adds the following attributes under EXT-X-MEDIA in the HLS or CMAF manifest for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". Keep the default value, Disabled, if the captions track is not intended to provide such accessibility. MediaConvert will not add the above attributes.
19312083
*/
19322084
Accessibility?: WebvttAccessibilitySubs | string;
19332085

@@ -3975,6 +4127,11 @@ export interface AutomatedAbrSettings {
39754127
* Optional. The minimum target bitrate used in your automated ABR stack. Use this value to set a lower limit on the bitrate of video delivered to viewers with slow internet connections. If you don't specify a value, MediaConvert uses 600,000 (600 kb/s) by default.
39764128
*/
39774129
MinAbrBitrate?: number;
4130+
4131+
/**
4132+
* Optional. Use Automated ABR rules to specify restrictions for the rendition sizes MediaConvert will create in your ABR stack. You can use these rules if your ABR workflow has specific rendition size requirements, but you still want MediaConvert to optimize for video quality and overall file size.
4133+
*/
4134+
Rules?: AutomatedAbrRule[];
39784135
}
39794136

39804137
export namespace AutomatedAbrSettings {
@@ -5389,7 +5546,7 @@ export interface CmfcSettings {
53895546
IFrameOnlyManifest?: CmfcIFrameOnlyManifest | string;
53905547

53915548
/**
5392-
* Applies to CMAF outputs. Use this setting to specify whether the service inserts the KLV metadata from the input in this output.
5549+
* To include key-length-value metadata in this output: Set KLV metadata insertion to Passthrough. MediaConvert reads KLV metadata present in your input and writes each instance to a separate event message box in the output, according to MISB ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or leave blank.
53935550
*/
53945551
KlvMetadata?: CmfcKlvMetadata | string;
53955552

@@ -5589,56 +5746,3 @@ export enum M2tsKlvMetadata {
55895746
NONE = "NONE",
55905747
PASSTHROUGH = "PASSTHROUGH",
55915748
}
5592-
5593-
export enum M2tsNielsenId3 {
5594-
INSERT = "INSERT",
5595-
NONE = "NONE",
5596-
}
5597-
5598-
export enum M2tsPcrControl {
5599-
CONFIGURED_PCR_PERIOD = "CONFIGURED_PCR_PERIOD",
5600-
PCR_EVERY_PES_PACKET = "PCR_EVERY_PES_PACKET",
5601-
}
5602-
5603-
export enum M2tsRateMode {
5604-
CBR = "CBR",
5605-
VBR = "VBR",
5606-
}
5607-
5608-
/**
5609-
* Settings for SCTE-35 signals from ESAM. Include this in your job settings to put SCTE-35 markers in your HLS and transport stream outputs at the insertion points that you specify in an ESAM XML document. Provide the document in the setting SCC XML (sccXml).
5610-
*/
5611-
export interface M2tsScte35Esam {
5612-
/**
5613-
* Packet Identifier (PID) of the SCTE-35 stream in the transport stream generated by ESAM.
5614-
*/
5615-
Scte35EsamPid?: number;
5616-
}
5617-
5618-
export namespace M2tsScte35Esam {
5619-
/**
5620-
* @internal
5621-
*/
5622-
export const filterSensitiveLog = (obj: M2tsScte35Esam): any => ({
5623-
...obj,
5624-
});
5625-
}
5626-
5627-
export enum M2tsScte35Source {
5628-
NONE = "NONE",
5629-
PASSTHROUGH = "PASSTHROUGH",
5630-
}
5631-
5632-
export enum M2tsSegmentationMarkers {
5633-
EBP = "EBP",
5634-
EBP_LEGACY = "EBP_LEGACY",
5635-
NONE = "NONE",
5636-
PSI_SEGSTART = "PSI_SEGSTART",
5637-
RAI_ADAPT = "RAI_ADAPT",
5638-
RAI_SEGSTART = "RAI_SEGSTART",
5639-
}
5640-
5641-
export enum M2tsSegmentationStyle {
5642-
MAINTAIN_CADENCE = "MAINTAIN_CADENCE",
5643-
RESET_CADENCE = "RESET_CADENCE",
5644-
}

0 commit comments

Comments
 (0)