Manage AWS Elemental MediaConvert with Step Functions
Experiment with Step Functions and MediaConvert
Learn how to use the MediaConvert optimized integration in a workflow that detects and removes SMTPE color bars of unknown length from the beginning of a video clip. Read the blog post from Apr, 12, 2024: Low code workflows with AWS Elemental MediaConvert
Step Functions can control certain AWS services directly from Amazon States Language (ASL). To learn more, see Working with other services and Pass parameters to a service API.
How the optimized integration is different than standard AWS SDK integration
The Run a Job (.sync) integration pattern is available.
No optimizations for Request Response or Wait for a Callback with the Task Token integration patterns.
Supported MediaConvert APIs:
-
-
Supported parameters:
-
Role
(Required) -
Settings
(Required) -
CreateJobRequest
(Optional)
-
-
Response syntax – see CreateJobResponse schema
The following includes a Task
state that submits an MediaConvert job and waits
for it to complete.
{
"StartAt": "MediaConvert_CreateJob",
"States": {
"MediaConvert_CreateJob": {
"Type": "Task",
"Resource": "arn:aws:states:::mediaconvert:createJob.sync",
"Parameters": {
"Role": "arn:aws:iam::111122223333:role/Admin",
"Settings": {
"OutputGroups": [
{
"Outputs": [
{
"ContainerSettings": {
"Container": "MP4"
},
"VideoDescription": {
"CodecSettings": {
"Codec": "H_264",
"H264Settings": {
"MaxBitrate": 1000,
"RateControlMode": "QVBR",
"SceneChangeDetect": "TRANSITION_DETECTION"
}
}
},
"AudioDescriptions": [
{
"CodecSettings": {
"Codec": "AAC",
"AacSettings": {
"Bitrate": 96000,
"CodingMode": "CODING_MODE_2_0",
"SampleRate": 48000
}
}
}
]
}
],
"OutputGroupSettings": {
"Type": "FILE_GROUP_SETTINGS",
"FileGroupSettings": {
"Destination": "s3://DOC-EXAMPLE-DESTINATION-BUCKET/"
}
}
}
],
"Inputs": [
{
"AudioSelectors": {
"Audio Selector 1": {
"DefaultSelection": "DEFAULT"
}
},
"FileInput": "s3://DOC-EXAMPLE-SOURCE-BUCKET/DOC-EXAMPLE-SOURCE_FILE"
}
]
}
},
"End": true
}
}
}
For information about how to configure IAM permissions when using Step Functions with MediaConvert, see IAM policies for AWS Elemental MediaConvert.
Parameters in Step Functions are expressed in PascalCase
Even if the native service API is in camelCase, for example the API action startSyncExecution
, you specify parameters in PascalCase, such as: StateMachineArn
.