Skip to content

Commit 57770b3

Browse files
This release adds support for TAMS server integration with MediaConvert inputs.
1 parent bb84f7c commit 57770b3

File tree

12 files changed

+557
-15
lines changed

12 files changed

+557
-15
lines changed

generator/ServiceModels/mediaconvert/mediaconvert-2017-08-29.api.json

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6795,6 +6795,10 @@
67956795
"shape": "__listOf__stringPatternS3ASSETMAPXml",
67966796
"locationName": "supplementalImps"
67976797
},
6798+
"TamsSettings": {
6799+
"shape": "InputTamsSettings",
6800+
"locationName": "tamsSettings"
6801+
},
67986802
"TimecodeSource": {
67996803
"shape": "InputTimecodeSource",
68006804
"locationName": "timecodeSource"
@@ -6912,6 +6916,27 @@
69126916
"PSF"
69136917
]
69146918
},
6919+
"InputTamsSettings": {
6920+
"type": "structure",
6921+
"members": {
6922+
"AuthConnectionArn": {
6923+
"shape": "__stringPatternArnAwsAZ09EventsAZ090912ConnectionAZAZ09AF0936",
6924+
"locationName": "authConnectionArn"
6925+
},
6926+
"GapHandling": {
6927+
"shape": "TamsGapHandling",
6928+
"locationName": "gapHandling"
6929+
},
6930+
"SourceId": {
6931+
"shape": "__string",
6932+
"locationName": "sourceId"
6933+
},
6934+
"Timerange": {
6935+
"shape": "__stringPattern019090190908019090190908",
6936+
"locationName": "timerange"
6937+
}
6938+
}
6939+
},
69156940
"InputTemplate": {
69166941
"type": "structure",
69176942
"members": {
@@ -10516,6 +10541,14 @@
1051610541
"type": "structure",
1051710542
"members": {}
1051810543
},
10544+
"TamsGapHandling": {
10545+
"type": "string",
10546+
"enum": [
10547+
"SKIP_GAPS",
10548+
"FILL_WITH_BLACK",
10549+
"HOLD_LAST_FRAME"
10550+
]
10551+
},
1051910552
"TeletextDestinationSettings": {
1052010553
"type": "structure",
1052110554
"members": {
@@ -13302,6 +13335,10 @@
1330213335
"type": "string",
1330313336
"pattern": "^([01][0-9]|2[0-4]):[0-5][0-9]:[0-5][0-9][:;][0-9]{2}(@[0-9]+(\\.[0-9]+)?(:[0-9]+)?)?$"
1330413337
},
13338+
"__stringPattern019090190908019090190908": {
13339+
"type": "string",
13340+
"pattern": "^(\\[|\\()?(-?(0|[1-9][0-9]*):(0|[1-9][0-9]{0,8}))?(_(-?(0|[1-9][0-9]*):(0|[1-9][0-9]{0,8}))?)?(\\]|\\))?$"
13341+
},
1330513342
"__stringPattern01D20305D205D": {
1330613343
"type": "string",
1330713344
"pattern": "^((([0-1]\\d)|(2[0-3]))(:[0-5]\\d){2}([:;][0-5]\\d))$"
@@ -13334,6 +13371,10 @@
1333413371
"type": "string",
1333513372
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9-]+)?$"
1333613373
},
13374+
"__stringPatternArnAwsAZ09EventsAZ090912ConnectionAZAZ09AF0936": {
13375+
"type": "string",
13376+
"pattern": "^arn:aws[a-z0-9-]*:events:[a-z0-9-]+:[0-9]{12}:connection/[a-zA-Z0-9-]+/[a-f0-9-]{36}$"
13377+
},
1333713378
"__stringPatternArnAwsUsGovAcm": {
1333813379
"type": "string",
1333913380
"pattern": "^arn:aws(-us-gov)?:acm:"

generator/ServiceModels/mediaconvert/mediaconvert-2017-08-29.docs.json

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2440,6 +2440,12 @@
24402440
"InputTemplate$InputScanType": "When you have a progressive segmented frame (PsF) input, use this setting to flag the input as PsF. MediaConvert doesn't automatically detect PsF. Therefore, flagging your input as PsF results in better preservation of video quality when you do deinterlacing and frame rate conversion. If you don't specify, the default value is Auto. Auto is the correct setting for all inputs that are not PsF. Don't set this value to PsF when your input is interlaced. Doing so creates horizontal interlacing artifacts."
24412441
}
24422442
},
2443+
"InputTamsSettings": {
2444+
"base": "Specify a Time Addressable Media Store (TAMS) server as an input source. TAMS is an open-source API specification that provides access to time-segmented media content. Use TAMS to retrieve specific time ranges from live or archived media streams. When you specify TAMS settings, MediaConvert connects to your TAMS server, retrieves the media segments for your specified time range, and processes them as a single input. This enables workflows like extracting clips from live streams or processing specific portions of archived content. To use TAMS, you must: 1. Have access to a TAMS-compliant server 2. Specify the server URL in the Input file URL field 3. Provide the required SourceId and Timerange parameters 4. Configure authentication, if your TAMS server requires it",
2445+
"refs": {
2446+
"Input$TamsSettings": "Specify a Time Addressable Media Store (TAMS) server as an input source. TAMS is an open-source API specification that provides access to time-segmented media content. Use TAMS to retrieve specific time ranges from live or archived media streams. When you specify TAMS settings, MediaConvert connects to your TAMS server, retrieves the media segments for your specified time range, and processes them as a single input. This enables workflows like extracting clips from live streams or processing specific portions of archived content. To use TAMS, you must: 1. Have access to a TAMS-compliant server 2. Specify the server URL in the Input file URL field 3. Provide the required SourceId and Timerange parameters 4. Configure authentication, if your TAMS server requires it"
2447+
}
2448+
},
24432449
"InputTemplate": {
24442450
"base": "Specified video input in a template.",
24452451
"refs": {
@@ -3693,6 +3699,12 @@
36933699
"refs": {
36943700
}
36953701
},
3702+
"TamsGapHandling": {
3703+
"base": "Specify how MediaConvert handles gaps between media segments in your TAMS source. Gaps can occur in live streams due to network issues or other interruptions. Choose from the following options: * Skip gaps - Default. Skip over gaps and join segments together. This creates a continuous output with no blank frames, but may cause timeline discontinuities. * Fill with black - Insert black frames to fill gaps between segments. This maintains timeline continuity but adds black frames where content is missing. * Hold last frame - Repeat the last frame before a gap until the next segment begins. This maintains visual continuity during gaps.",
3704+
"refs": {
3705+
"InputTamsSettings$GapHandling": "Specify how MediaConvert handles gaps between media segments in your TAMS source. Gaps can occur in live streams due to network issues or other interruptions. Choose from the following options: * Skip gaps - Default. Skip over gaps and join segments together. This creates a continuous output with no blank frames, but may cause timeline discontinuities. * Fill with black - Insert black frames to fill gaps between segments. This maintains timeline continuity but adds black frames where content is missing. * Hold last frame - Repeat the last frame before a gap until the next segment begins. This maintains visual continuity during gaps."
3706+
}
3707+
},
36963708
"TeletextDestinationSettings": {
36973709
"base": "Settings related to teletext captions. Set up teletext captions in the same output as your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/teletext-output-captions.html.",
36983710
"refs": {
@@ -4592,8 +4604,8 @@
45924604
"MxfXavcProfileSettings$MaxAncDataSize": "Specify a value for this setting only for outputs that you set up with one of these two XAVC profiles: XAVC HD Intra CBG or XAVC 4K Intra CBG. Specify the amount of space in each frame that the service reserves for ancillary data, such as teletext captions. The default value for this setting is 1492 bytes per frame. This should be sufficient to prevent overflow unless you have multiple pages of teletext captions data. If you have a large amount of teletext data, specify a larger number.",
45934605
"Rectangle$X": "The distance, in pixels, between the rectangle and the left edge of the video frame. Specify only even numbers.",
45944606
"Rectangle$Y": "The distance, in pixels, between the rectangle and the top edge of the video frame. Specify only even numbers.",
4595-
"VideoOverlayCrop$Height": "Specify the height of the video overlay cropping rectangle. To use the same height as your overlay input video: Keep blank, or enter 0. To specify a different height for the cropping rectangle: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 100 and choose Pixels, the cropping rectangle will 100 pixels high. When you enter 10, choose Percentage, and your overlay input video is 1920x1080, the cropping rectangle will be 108 pixels high.",
4596-
"VideoOverlayCrop$Width": "Specify the width of the video overlay cropping rectangle. To use the same width as your overlay input video: Keep blank, or enter 0. To specify a different width for the cropping rectangle: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 100 and choose Pixels, the cropping rectangle will 100 pixels wide. When you enter 10, choose Percentage, and your overlay input video is 1920x1080, the cropping rectangle will be 192 pixels wide.",
4607+
"VideoOverlayCrop$Height": "Specify the height of the video overlay cropping rectangle. To use the same height as your overlay input video: Keep blank, or enter 0. To specify a different height for the cropping rectangle: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 100 and choose Pixels, the cropping rectangle will be 100 pixels high. When you enter 10, choose Percentage, and your overlay input video is 1920x1080, the cropping rectangle will be 108 pixels high.",
4608+
"VideoOverlayCrop$Width": "Specify the width of the video overlay cropping rectangle. To use the same width as your overlay input video: Keep blank, or enter 0. To specify a different width for the cropping rectangle: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 100 and choose Pixels, the cropping rectangle will be 100 pixels wide. When you enter 10, choose Percentage, and your overlay input video is 1920x1080, the cropping rectangle will be 192 pixels wide.",
45974609
"VideoOverlayCrop$X": "Specify the distance between the cropping rectangle and the left edge of your overlay video's frame. To position the cropping rectangle along the left edge: Keep blank, or enter 0. To position the cropping rectangle to the right, relative to the left edge of your overlay video's frame: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 10 and choose Pixels, the cropping rectangle will be positioned 10 pixels from the left edge of the overlay video's frame. When you enter 10, choose Percentage, and your overlay input video is 1920x1080, the cropping rectangle will be positioned 192 pixels from the left edge of the overlay video's frame.",
45984610
"VideoOverlayCrop$Y": "Specify the distance between the cropping rectangle and the top edge of your overlay video's frame. To position the cropping rectangle along the top edge: Keep blank, or enter 0. To position the cropping rectangle down, relative to the top edge of your overlay video's frame: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 10 and choose Pixels, the cropping rectangle will be positioned 10 pixels from the top edge of the overlay video's frame. When you enter 10, choose Percentage, and your overlay input video is 1920x1080, the cropping rectangle will be positioned 108 pixels from the top edge of the overlay video's frame.",
45994611
"VideoSelector$MaxLuminance": "Specify the maximum mastering display luminance. Enter an integer from 0 to 2147483647, in units of 0.0001 nits. For example, enter 10000000 for 1000 nits.",
@@ -5786,6 +5798,7 @@
57865798
"HlsSettings$AudioRenditionSets": "List all the audio groups that are used with the video output stream. Input all the audio GROUP-IDs that are associated to the video, separate by ','.",
57875799
"HlsSettings$SegmentModifier": "Use this setting to add an identifying string to the filename of each segment. The service adds this string between the name modifier and segment index number. You can use format identifiers in the string. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html",
57885800
"HopDestination$Queue": "Optional unless the job is submitted on the default queue. When you set up a job to use queue hopping, you can specify a destination queue. This queue cannot be the original queue to which the job is submitted. If the original queue isn't the default queue and you don't specify the destination queue, the job will move to the default queue.",
5801+
"InputTamsSettings$SourceId": "Specify the unique identifier for the media source in your TAMS server. MediaConvert uses this source ID to locate the appropriate flows containing the media segments you want to process. The source ID corresponds to a specific media source registered in your TAMS server. This source must be of type urn:x-nmos:format:multi, and can can reference multiple flows for audio, video, or combined audio/video content. MediaConvert automatically selects the highest quality flows available for your job. This setting is required when include TAMS settings in your job.",
57895802
"Job$Arn": "An identifier for this resource that is unique within all of AWS.",
57905803
"Job$ClientRequestToken": "Prevent duplicate jobs from being created and ensure idempotency for your requests. A client request token can be any string that includes up to 64 ASCII characters. If you reuse a client request token within one minute of a successful request, the API returns the job details of the original request instead. For more information see https://docs.aws.amazon.com/mediaconvert/latest/apireference/idempotency.html.",
57915804
"Job$ErrorMessage": "Error message of Job",
@@ -5877,7 +5890,7 @@
58775890
"__stringMax2048PatternS3Https": {
58785891
"base": null,
58795892
"refs": {
5880-
"Input$FileInput": "Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format is IMF, specify your input by providing the path to your CPL. For example, \"s3://bucket/vf/cpl.xml\". If the CPL is in an incomplete IMP, make sure to use *Supplemental IMPs* to specify any supplemental IMPs that contain assets referenced by the CPL."
5893+
"Input$FileInput": "Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. For standard inputs, provide the path to your S3, HTTP, or HTTPS source file. For example, s3://amzn-s3-demo-bucket/input.mp4 for an Amazon S3 input or https://example.com/input.mp4 for an HTTPS input. For TAMS inputs, specify the HTTPS endpoint of your TAMS server. For example, https://tams-server.example.com . When you do, also specify Source ID, Timerange, GAP handling, and the Authorization connection ARN under TAMS settings. (Don't include these parameters in the Input file URL.) For IMF inputs, specify your input by providing the path to your CPL. For example, s3://amzn-s3-demo-bucket/vf/cpl.xml . If the CPL is in an incomplete IMP, make sure to use Supplemental IMPsto specify any supplemental IMPs that contain assets referenced by the CPL."
58815894
}
58825895
},
58835896
"__stringMax256": {
@@ -6086,6 +6099,12 @@
60866099
"VideoOverlayInputClipping$StartTimecode": "Specify the timecode of the first frame to include in your video overlay's clip. Use the format HH:MM:SS:FF or HH:MM:SS;FF, where HH is the hour, MM is the minute, SS is the second, and FF is the frame number. When entering this value, take into account your choice for Timecode source."
60876100
}
60886101
},
6102+
"__stringPattern019090190908019090190908": {
6103+
"base": null,
6104+
"refs": {
6105+
"InputTamsSettings$Timerange": "Specify the time range of media segments to retrieve from your TAMS server. MediaConvert fetches only the segments that fall within this range. Use the format specified by your TAMS server implementation. This must be two timestamp values with the format {sign?}{seconds}:{nanoseconds}, separated by an underscore, surrounded by either parentheses or square brackets. Example: [15:0_35:0) This setting is required when include TAMS settings in your job."
6106+
}
6107+
},
60896108
"__stringPattern01D20305D205D": {
60906109
"base": null,
60916110
"refs": {
@@ -6136,6 +6155,12 @@
61366155
"AudioDescription$CustomLanguageCode": "Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control to Use configured. The service also uses your specified custom language code when you set Language code control to Follow input, but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming."
61376156
}
61386157
},
6158+
"__stringPatternArnAwsAZ09EventsAZ090912ConnectionAZAZ09AF0936": {
6159+
"base": null,
6160+
"refs": {
6161+
"InputTamsSettings$AuthConnectionArn": "Specify the ARN (Amazon Resource Name) of an EventBridge Connection to authenticate with your TAMS server. The EventBridge Connection stores your authentication credentials securely. MediaConvert assumes your job's IAM role to access this connection, so ensure the role has the events:RetrieveConnectionCredentials, secretsmanager:DescribeSecret, and secretsmanager:GetSecretValue permissions. Format: arn:aws:events:region:account-id:connection/connection-name/unique-id"
6162+
}
6163+
},
61396164
"__stringPatternArnAwsUsGovAcm": {
61406165
"base": null,
61416166
"refs": {
@@ -6264,4 +6289,4 @@
62646289
}
62656290
}
62666291
}
6267-
}
6292+
}

0 commit comments

Comments
 (0)