Skip to content

Commit d73f7a6

Browse files
author
awstools
committed
feat(client-mediaconvert): This release includes support for creating I-frame only video segments for DASH trick play.
1 parent fcbbf8e commit d73f7a6

11 files changed

+146
-5
lines changed

Diff for: clients/client-mediaconvert/src/commands/CreateJobCommand.ts

+12
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,11 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea
237237
* TimecodeSource: "EMBEDDED" || "ZEROBASED" || "SPECIFIEDSTART",
238238
* TimecodeStart: "STRING_VALUE",
239239
* VideoGenerator: { // InputVideoGenerator
240+
* Channels: Number("int"),
240241
* Duration: Number("int"),
242+
* FramerateDenominator: Number("int"),
243+
* FramerateNumerator: Number("int"),
244+
* SampleRate: Number("int"),
241245
* },
242246
* VideoOverlays: [ // __listOfVideoOverlay
243247
* { // VideoOverlay
@@ -380,6 +384,7 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea
380384
* BaseUrl: "STRING_VALUE",
381385
* ClientCache: "DISABLED" || "ENABLED",
382386
* CodecSpecification: "RFC_6381" || "RFC_4281",
387+
* DashIFrameTrickPlayNameModifier: "STRING_VALUE",
383388
* DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
384389
* Destination: "STRING_VALUE",
385390
* DestinationSettings: { // DestinationSettings
@@ -456,6 +461,7 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea
456461
* ],
457462
* AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
458463
* BaseUrl: "STRING_VALUE",
464+
* DashIFrameTrickPlayNameModifier: "STRING_VALUE",
459465
* DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
460466
* Destination: "STRING_VALUE",
461467
* DestinationSettings: {
@@ -1743,7 +1749,11 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea
17431749
* // TimecodeSource: "EMBEDDED" || "ZEROBASED" || "SPECIFIEDSTART",
17441750
* // TimecodeStart: "STRING_VALUE",
17451751
* // VideoGenerator: { // InputVideoGenerator
1752+
* // Channels: Number("int"),
17461753
* // Duration: Number("int"),
1754+
* // FramerateDenominator: Number("int"),
1755+
* // FramerateNumerator: Number("int"),
1756+
* // SampleRate: Number("int"),
17471757
* // },
17481758
* // VideoOverlays: [ // __listOfVideoOverlay
17491759
* // { // VideoOverlay
@@ -1886,6 +1896,7 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea
18861896
* // BaseUrl: "STRING_VALUE",
18871897
* // ClientCache: "DISABLED" || "ENABLED",
18881898
* // CodecSpecification: "RFC_6381" || "RFC_4281",
1899+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
18891900
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
18901901
* // Destination: "STRING_VALUE",
18911902
* // DestinationSettings: { // DestinationSettings
@@ -1962,6 +1973,7 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea
19621973
* // ],
19631974
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
19641975
* // BaseUrl: "STRING_VALUE",
1976+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
19651977
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
19661978
* // Destination: "STRING_VALUE",
19671979
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/commands/CreateJobTemplateCommand.ts

+4
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ export interface CreateJobTemplateCommandOutput extends CreateJobTemplateRespons
366366
* BaseUrl: "STRING_VALUE",
367367
* ClientCache: "DISABLED" || "ENABLED",
368368
* CodecSpecification: "RFC_6381" || "RFC_4281",
369+
* DashIFrameTrickPlayNameModifier: "STRING_VALUE",
369370
* DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
370371
* Destination: "STRING_VALUE",
371372
* DestinationSettings: { // DestinationSettings
@@ -442,6 +443,7 @@ export interface CreateJobTemplateCommandOutput extends CreateJobTemplateRespons
442443
* ],
443444
* AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
444445
* BaseUrl: "STRING_VALUE",
446+
* DashIFrameTrickPlayNameModifier: "STRING_VALUE",
445447
* DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
446448
* Destination: "STRING_VALUE",
447449
* DestinationSettings: {
@@ -1820,6 +1822,7 @@ export interface CreateJobTemplateCommandOutput extends CreateJobTemplateRespons
18201822
* // BaseUrl: "STRING_VALUE",
18211823
* // ClientCache: "DISABLED" || "ENABLED",
18221824
* // CodecSpecification: "RFC_6381" || "RFC_4281",
1825+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
18231826
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
18241827
* // Destination: "STRING_VALUE",
18251828
* // DestinationSettings: { // DestinationSettings
@@ -1896,6 +1899,7 @@ export interface CreateJobTemplateCommandOutput extends CreateJobTemplateRespons
18961899
* // ],
18971900
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
18981901
* // BaseUrl: "STRING_VALUE",
1902+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
18991903
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
19001904
* // Destination: "STRING_VALUE",
19011905
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/commands/GetJobCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,11 @@ export interface GetJobCommandOutput extends GetJobResponse, __MetadataBearer {}
280280
* // TimecodeSource: "EMBEDDED" || "ZEROBASED" || "SPECIFIEDSTART",
281281
* // TimecodeStart: "STRING_VALUE",
282282
* // VideoGenerator: { // InputVideoGenerator
283+
* // Channels: Number("int"),
283284
* // Duration: Number("int"),
285+
* // FramerateDenominator: Number("int"),
286+
* // FramerateNumerator: Number("int"),
287+
* // SampleRate: Number("int"),
284288
* // },
285289
* // VideoOverlays: [ // __listOfVideoOverlay
286290
* // { // VideoOverlay
@@ -423,6 +427,7 @@ export interface GetJobCommandOutput extends GetJobResponse, __MetadataBearer {}
423427
* // BaseUrl: "STRING_VALUE",
424428
* // ClientCache: "DISABLED" || "ENABLED",
425429
* // CodecSpecification: "RFC_6381" || "RFC_4281",
430+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
426431
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
427432
* // Destination: "STRING_VALUE",
428433
* // DestinationSettings: { // DestinationSettings
@@ -499,6 +504,7 @@ export interface GetJobCommandOutput extends GetJobResponse, __MetadataBearer {}
499504
* // ],
500505
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
501506
* // BaseUrl: "STRING_VALUE",
507+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
502508
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
503509
* // Destination: "STRING_VALUE",
504510
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/commands/GetJobTemplateCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -375,6 +375,7 @@ export interface GetJobTemplateCommandOutput extends GetJobTemplateResponse, __M
375375
* // BaseUrl: "STRING_VALUE",
376376
* // ClientCache: "DISABLED" || "ENABLED",
377377
* // CodecSpecification: "RFC_6381" || "RFC_4281",
378+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
378379
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
379380
* // Destination: "STRING_VALUE",
380381
* // DestinationSettings: { // DestinationSettings
@@ -451,6 +452,7 @@ export interface GetJobTemplateCommandOutput extends GetJobTemplateResponse, __M
451452
* // ],
452453
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
453454
* // BaseUrl: "STRING_VALUE",
455+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
454456
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
455457
* // Destination: "STRING_VALUE",
456458
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/commands/ListJobTemplatesCommand.ts

+2
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ export interface ListJobTemplatesCommandOutput extends ListJobTemplatesResponse,
380380
* // BaseUrl: "STRING_VALUE",
381381
* // ClientCache: "DISABLED" || "ENABLED",
382382
* // CodecSpecification: "RFC_6381" || "RFC_4281",
383+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
383384
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
384385
* // Destination: "STRING_VALUE",
385386
* // DestinationSettings: { // DestinationSettings
@@ -456,6 +457,7 @@ export interface ListJobTemplatesCommandOutput extends ListJobTemplatesResponse,
456457
* // ],
457458
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
458459
* // BaseUrl: "STRING_VALUE",
460+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
459461
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
460462
* // Destination: "STRING_VALUE",
461463
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/commands/ListJobsCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,11 @@ export interface ListJobsCommandOutput extends ListJobsResponse, __MetadataBeare
285285
* // TimecodeSource: "EMBEDDED" || "ZEROBASED" || "SPECIFIEDSTART",
286286
* // TimecodeStart: "STRING_VALUE",
287287
* // VideoGenerator: { // InputVideoGenerator
288+
* // Channels: Number("int"),
288289
* // Duration: Number("int"),
290+
* // FramerateDenominator: Number("int"),
291+
* // FramerateNumerator: Number("int"),
292+
* // SampleRate: Number("int"),
289293
* // },
290294
* // VideoOverlays: [ // __listOfVideoOverlay
291295
* // { // VideoOverlay
@@ -428,6 +432,7 @@ export interface ListJobsCommandOutput extends ListJobsResponse, __MetadataBeare
428432
* // BaseUrl: "STRING_VALUE",
429433
* // ClientCache: "DISABLED" || "ENABLED",
430434
* // CodecSpecification: "RFC_6381" || "RFC_4281",
435+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
431436
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
432437
* // Destination: "STRING_VALUE",
433438
* // DestinationSettings: { // DestinationSettings
@@ -504,6 +509,7 @@ export interface ListJobsCommandOutput extends ListJobsResponse, __MetadataBeare
504509
* // ],
505510
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
506511
* // BaseUrl: "STRING_VALUE",
512+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
507513
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
508514
* // Destination: "STRING_VALUE",
509515
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/commands/SearchJobsCommand.ts

+6
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,11 @@ export interface SearchJobsCommandOutput extends SearchJobsResponse, __MetadataB
286286
* // TimecodeSource: "EMBEDDED" || "ZEROBASED" || "SPECIFIEDSTART",
287287
* // TimecodeStart: "STRING_VALUE",
288288
* // VideoGenerator: { // InputVideoGenerator
289+
* // Channels: Number("int"),
289290
* // Duration: Number("int"),
291+
* // FramerateDenominator: Number("int"),
292+
* // FramerateNumerator: Number("int"),
293+
* // SampleRate: Number("int"),
290294
* // },
291295
* // VideoOverlays: [ // __listOfVideoOverlay
292296
* // { // VideoOverlay
@@ -429,6 +433,7 @@ export interface SearchJobsCommandOutput extends SearchJobsResponse, __MetadataB
429433
* // BaseUrl: "STRING_VALUE",
430434
* // ClientCache: "DISABLED" || "ENABLED",
431435
* // CodecSpecification: "RFC_6381" || "RFC_4281",
436+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
432437
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
433438
* // Destination: "STRING_VALUE",
434439
* // DestinationSettings: { // DestinationSettings
@@ -505,6 +510,7 @@ export interface SearchJobsCommandOutput extends SearchJobsResponse, __MetadataB
505510
* // ],
506511
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
507512
* // BaseUrl: "STRING_VALUE",
513+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
508514
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
509515
* // Destination: "STRING_VALUE",
510516
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/commands/UpdateJobTemplateCommand.ts

+4
Original file line numberDiff line numberDiff line change
@@ -366,6 +366,7 @@ export interface UpdateJobTemplateCommandOutput extends UpdateJobTemplateRespons
366366
* BaseUrl: "STRING_VALUE",
367367
* ClientCache: "DISABLED" || "ENABLED",
368368
* CodecSpecification: "RFC_6381" || "RFC_4281",
369+
* DashIFrameTrickPlayNameModifier: "STRING_VALUE",
369370
* DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
370371
* Destination: "STRING_VALUE",
371372
* DestinationSettings: { // DestinationSettings
@@ -442,6 +443,7 @@ export interface UpdateJobTemplateCommandOutput extends UpdateJobTemplateRespons
442443
* ],
443444
* AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
444445
* BaseUrl: "STRING_VALUE",
446+
* DashIFrameTrickPlayNameModifier: "STRING_VALUE",
445447
* DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
446448
* Destination: "STRING_VALUE",
447449
* DestinationSettings: {
@@ -1817,6 +1819,7 @@ export interface UpdateJobTemplateCommandOutput extends UpdateJobTemplateRespons
18171819
* // BaseUrl: "STRING_VALUE",
18181820
* // ClientCache: "DISABLED" || "ENABLED",
18191821
* // CodecSpecification: "RFC_6381" || "RFC_4281",
1822+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
18201823
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
18211824
* // Destination: "STRING_VALUE",
18221825
* // DestinationSettings: { // DestinationSettings
@@ -1893,6 +1896,7 @@ export interface UpdateJobTemplateCommandOutput extends UpdateJobTemplateRespons
18931896
* // ],
18941897
* // AudioChannelConfigSchemeIdUri: "MPEG_CHANNEL_CONFIGURATION" || "DOLBY_CHANNEL_CONFIGURATION",
18951898
* // BaseUrl: "STRING_VALUE",
1899+
* // DashIFrameTrickPlayNameModifier: "STRING_VALUE",
18961900
* // DashManifestStyle: "BASIC" || "COMPACT" || "DISTINCT",
18971901
* // Destination: "STRING_VALUE",
18981902
* // DestinationSettings: {

Diff for: clients/client-mediaconvert/src/models/models_0.ts

+39-1
Original file line numberDiff line numberDiff line change
@@ -4118,10 +4118,36 @@ export type InputTimecodeSource = (typeof InputTimecodeSource)[keyof typeof Inpu
41184118
*/
41194119
export interface InputVideoGenerator {
41204120
/**
4121-
* Specify an integer value for Black video duration from 50 to 86400000 to generate a black video input for that many milliseconds. Required when you include Video generator.
4121+
* Specify the number of audio channels to include in your video generator input. MediaConvert creates these audio channels as silent audio within a single audio track. Enter an integer from 1 to 32.
4122+
* @public
4123+
*/
4124+
Channels?: number;
4125+
4126+
/**
4127+
* Specify the duration, in milliseconds, for your video generator input.
4128+
* Enter an integer from 50 to 86400000.
41224129
* @public
41234130
*/
41244131
Duration?: number;
4132+
4133+
/**
4134+
* Specify the denominator of the fraction that represents the frame rate for your video generator input. When you do, you must also specify a value for Frame rate numerator. MediaConvert uses a default frame rate of 29.97 when you leave Frame rate numerator and Frame rate denominator blank.
4135+
* @public
4136+
*/
4137+
FramerateDenominator?: number;
4138+
4139+
/**
4140+
* Specify the numerator of the fraction that represents the frame rate for your video generator input. When you do, you must also specify a value for Frame rate denominator. MediaConvert uses a default frame rate of 29.97 when you leave Frame rate numerator and Frame rate denominator blank.
4141+
* @public
4142+
*/
4143+
FramerateNumerator?: number;
4144+
4145+
/**
4146+
* Specify the audio sample rate, in Hz, for the silent audio in your video generator input.
4147+
* Enter an integer from 32000 to 48000.
4148+
* @public
4149+
*/
4150+
SampleRate?: number;
41254151
}
41264152

41274153
/**
@@ -5972,6 +5998,12 @@ export interface CmafGroupSettings {
59725998
*/
59735999
CodecSpecification?: CmafCodecSpecification;
59746000

6001+
/**
6002+
* 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.
6003+
* @public
6004+
*/
6005+
DashIFrameTrickPlayNameModifier?: string;
6006+
59756007
/**
59766008
* 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.
59776009
* @public
@@ -6402,6 +6434,12 @@ export interface DashIsoGroupSettings {
64026434
*/
64036435
BaseUrl?: string;
64046436

6437+
/**
6438+
* 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.
6439+
* @public
6440+
*/
6441+
DashIFrameTrickPlayNameModifier?: string;
6442+
64056443
/**
64066444
* 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.
64076445
* @public

0 commit comments

Comments
 (0)