AWS Elemental
MediaConvert API Reference
API Reference
AWS Elemental MediaConvert API Reference: API Reference
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
Getting Started with the AWS SDKs and the CLI ... 1
CreateJob Example Using the AWS CLI ... 2
CreateJob Example Using the SDK for C++ ... 2
Finding More Information in the SDK for Go Documentation ... 8
CreateJob Example Using theSDK for Java ... 8
CreateJob Example Using the AWS SDK for .NET ... 9
CreateJob Example Using the SDK for Python ... 15
Finding More Information in the SDK for Ruby Documentation ... 16
Finding More Information in the Tools for PowerShell Core Documentation ... 16
Getting Started with the API ... 17
AWS Elemental MediaConvert Postman Collection Files ... 18
GET Collection ... 18
POST Collection ... 22
Tagging Collection ... 30
Creating Your Job Specification ... 38
Sample Settings in JSON ... 38
Simple Example ... 39
Complex Example ... 41
Important Notes ... 48
AWS Region-Specific Endpoints ... 48
Versioned Endpoints ... 48
FIPS Endpoints ... 48
Using the AWS CLI ... 49
Schemas and Example Job Settings ... 49
Resources ... 50
Certificates ... 50
URI ... 50
HTTP methods ... 50
Schemas ... 51
Properties ... 52
See also ... 52
Certificates arn ... 53
URI ... 53
HTTP methods ... 53
Schemas ... 54
Properties ... 54
See also ... 55
Endpoints ... 55
URI ... 55
HTTP methods ... 55
Schemas ... 56
Properties ... 57
See also ... 58
Jobs ... 59
URI ... 59
HTTP methods ... 59
Schemas ... 61
Properties ... 118
See also ... 408
Jobs id ... 409
URI ... 409
HTTP methods ... 409
Schemas ... 411
Properties ... 431
See also ... 717
JobTemplates ... 718
URI ... 718
HTTP methods ... 718
Schemas ... 720
Properties ... 776
See also ... 1057
JobTemplates name ... 1058
URI ... 1058
HTTP methods ... 1058
Schemas ... 1061
Properties ... 1117
See also ... 1398
Policy ... 1399
URI ... 1399
HTTP methods ... 1399
Schemas ... 1401
Properties ... 1402
See also ... 1404
Presets ... 1405
URI ... 1405
HTTP methods ... 1405
Schemas ... 1407
Properties ... 1442
See also ... 1640
Presets name ... 1640
URI ... 1640
HTTP methods ... 1640
Schemas ... 1643
Properties ... 1678
See also ... 1875
Queues ... 1876
URI ... 1876
HTTP methods ... 1876
Schemas ... 1878
Properties ... 1880
See also ... 1887
Queues name ... 1887
URI ... 1887
HTTP methods ... 1887
Schemas ... 1890
Properties ... 1892
See also ... 1898
Tags ... 1899
URI ... 1899
HTTP methods ... 1899
Schemas ... 1900
Properties ... 1900
See also ... 1901
Tags arn ... 1901
URI ... 1901
HTTP methods ... 1901
Schemas ... 1903
Properties ... 1904
See also ... 1906
Document History ... 1907
AWS glossary ... 1908
Getting Started with AWS Elemental MediaConvert Using the AWS SDKs or the AWS CLI
To get started with AWS Elemental MediaConvert using one of the AWS SDKS or the AWS Command Line Interface (AWS CLI), follow this general procedure. For specific instructions and examples, choose a language in the final step of this procedure.
1. Set up AWS Identity and Access Management (IAM) permissions for both yourself and for the MediaConvert service to access your resources on your behalf:
• For information about setting up permissions for yourself, see Overview of Identity Management:
Users in the IAM User Guide.
• For information about setting up permissions for the service to access your resources, see Set Up IAM Permissions in the MediaConvert User Guide.
2. In your client configuration, specify your authentication credentials and your AWS Region. For instructions that are specific to the programming language that you use, choose from this list of links to open the relevant topics in the AWS CLI or SDK guides:
• AWS CLI
• C++: credentials and Region
• Go
• Java
• JavaScript
• .NET
• PHP
• Python: credentials and Region
• Ruby
• Tools for PowerShell
3. Get your Region-specific endpoint and send your MediaConvert requests to it.
Note
When you send requests, use camelCase or PascalCase as appropriate for the language you are using. All examples in this guide use PascalCase, which is the correct casing for the AWS CLI and AWS SDK for Python (Boto3). The MediaConvert console JSON export function also generates JSON job specifications in PascalCase.
When you use a language that specifies camelCase, such as JavaScript, you must convert the casing of your properties before you submit your requests. For example, if you use the properties "Settings" and "TimecodeConfig" in your call through the AWS CLI, you must change those to "settings" and "timecodeConfig" for your call through the AWS SDK for JavaScript.
With most AWS services, you send your service request to a public endpoint. But with MediaConvert, you request an endpoint that is specific to your Region, and then you send your service requests to that. For information about MediaConvert FIPS endpoints, see FIPS Endpoints (p. 48).
Note
This endpoint is specific to your AWS Region and won't change. Request this endpoint once, and then hardcode or cache it.CreateJob Example Using the AWS CLI
For specific instructions and code samples, choose one of the following topics.
• AWS CLI: CreateJob Example Using the AWS CLI (p. 2)
• C++: CreateJob Example Using the SDK for C++ (p. 2)
• Go: Finding More Information in the SDK for Go Documentation (p. 8)
• Java: CreateJob Example Using theSDK for Java (p. 8)
• JavaScript: AWS Elemental MediaConvert Examples, in the SDK for JavaScript Developer Guide
• .NET: CreateJob Example Using the AWS SDK for .NET (p. 9)
• PHP: AWS Elemental MediaConvert Examples, in the AWS SDK for PHP Developer Guide
• Python: CreateJob Example Using the SDK for Python (p. 15)
• Ruby: Finding More Information in the SDK for Ruby Documentation (p. 16)
• Tools for Powershell: Finding More Information in the Tools for PowerShell Core Documentation (p. 16)
AWS Elemental MediaConvert CreateJob Example Using the AWS CLI
To create a transcoding job using the AWS CLI:
1. Use describe-endpoints to get your endpoint and set your Region. In this example, the Region is set to ap-northeast-3:
aws mediaconvert describe-endpoints --region ap-northeast-3 2. Use the --endpoint-url option to send your request to your endpoint:
aws --endpoint-url https://abcd1234.mediaconvert.region-name-1.amazonaws.com -- region region-name-1 mediaconvert create-job --cli-input-json file://~/job.json
In the preceding example, job.json specifies your transcoding job settings. You can use the MediaConvert console to generate the JSON job specification. For more information and sample job specifications, see Creating Your Job Specification (p. 38).
AWS Elemental MediaConvert CreateJob Example Using the SDK for C++
To send requests using the SDK for C++:
// MediaConvertPort.cpp : Defines the entry point for the console application.
//
// Imports needed
#include <aws/core/Aws.h>
#include <aws/core/utils/Outcome.h>
#include <aws/mediaconvert/MediaConvertClient.h>
CreateJob Example Using the SDK for C++
#include <aws/mediaconvert/Model/DescribeEndpointsRequest.h>
#include <aws/mediaconvert/Model/CreateJobRequest.h>
#include <aws/mediaconvert/Model/CreateJobResult.h>
/* --- * Permissions IAM user needs to run this example * --- *
{
"Version": "2012-10-17", "Statement": [
{
"Sid": "VisualEditor0", "Effect": "Allow", "Action": [
"mediaconvert:DescribeEndpoints", "mediaconvert:CreateJob"
],
"Resource": "*"
} ] } */
/* --- * JSON job settings used in this example * --- *
{
"Queue": "arn:aws:mediaconvert:us-west-2:505474453218:queues/Default", "UserMetadata": {
"Customer": "Amazon"
},
"Role": "Your AWS Elemental MediaConvert role ARN", "Settings": {
"OutputGroups": [ {
"Name": "File Group", "OutputGroupSettings": {
"Type": "FILE_GROUP_SETTINGS", "FileGroupSettings": {
"Destination": "s3://youroutputdestination"
} },
"Outputs": [ {
"VideoDescription": {
"ScalingBehavior": "DEFAULT", "TimecodeInsertion": "DISABLED", "AntiAlias": "ENABLED",
"Sharpness": 50, "CodecSettings": { "Codec": "H_264", "H264Settings": {
"InterlaceMode": "PROGRESSIVE", "NumberReferenceFrames": 3, "Syntax": "DEFAULT", "Softness": 0,
"GopClosedCadence": 1, "GopSize": 90,
"Slices": 1,
"GopBReference": "DISABLED", "SlowPal": "DISABLED",
"SpatialAdaptiveQuantization": "ENABLED", "TemporalAdaptiveQuantization": "ENABLED", "FlickerAdaptiveQuantization": "DISABLED", "EntropyEncoding": "CABAC",
CreateJob Example Using the SDK for C++
"Bitrate": 5000000,
"FramerateControl": "SPECIFIED", "RateControlMode": "CBR", "CodecProfile": "MAIN", "Telecine": "NONE", "MinIInterval": 0,
"AdaptiveQuantization": "HIGH", "CodecLevel": "AUTO",
"FieldEncoding": "PAFF",
"SceneChangeDetect": "ENABLED", "QualityTuningLevel": "SINGLE_PASS",
"FramerateConversionAlgorithm": "DUPLICATE_DROP", "UnregisteredSeiTimecode": "DISABLED",
"GopSizeUnits": "FRAMES", "ParControl": "SPECIFIED",
"NumberBFramesBetweenReferenceFrames": 2, "RepeatPps": "DISABLED",
"FramerateNumerator": 30, "FramerateDenominator": 1, "ParNumerator": 1,
"ParDenominator": 1 }
},
"AfdSignaling": "NONE",
"DropFrameTimecode": "ENABLED", "RespondToAfd": "NONE",
"ColorMetadata": "INSERT"
},
"AudioDescriptions": [ {
"AudioTypeControl": "FOLLOW_INPUT", "CodecSettings": {
"Codec": "AAC", "AacSettings": {
"AudioDescriptionBroadcasterMix": "NORMAL", "RateControlMode": "CBR",
"CodecProfile": "LC",
"CodingMode": "CODING_MODE_2_0", "RawFormat": "NONE",
"SampleRate": 48000, "Specification": "MPEG4", "Bitrate": 64000
} },
"LanguageCodeControl": "FOLLOW_INPUT", "AudioSourceName": "Audio Selector 1"
} ],
"ContainerSettings": { "Container": "MP4", "Mp4Settings": {
"CslgAtom": "INCLUDE", "FreeSpaceBox": "EXCLUDE",
"MoovPlacement": "PROGRESSIVE_DOWNLOAD"
} },
"NameModifier": "_1"
} ] } ],
"AdAvailOffset": 0, "Inputs": [
{
"AudioSelectors": { "Audio Selector 1": {
CreateJob Example Using the SDK for C++
"Offset": 0,
"DefaultSelection": "NOT_DEFAULT", "ProgramSelection": 1,
"SelectorType": "TRACK", "Tracks": [
1 ] } },
"VideoSelector": { "ColorSpace": "FOLLOW"
},
"FilterEnable": "AUTO", "PsiControl": "USE_PSI", "FilterStrength": 0,
"DeblockFilter": "DISABLED", "DenoiseFilter": "DISABLED", "TimecodeSource": "EMBEDDED", "FileInput": "s3://yourinputfile"
} ],
"TimecodeConfig": { "Source": "EMBEDDED"
} } } */
int main()
{ // Initialize the C++ SDK Aws::SDKOptions options;
Aws::InitAPI(options);
{
std::string mediaConvertRole = "arn:aws:iam::640773029566:role/media-convert-role";
std::string fileInput = "s3://media-convert-sample/my-video.mp4";
std::string fileOutput = "s3://media-convert-sample";
// Once you know what your customer endpoint is, set it here std::string mediaConvertEndpoint = "";
// If we do not have our customer-specific endpoint if (mediaConvertEndpoint.empty())
{ // Obtain the customer-specific MediaConvert endpoint Aws::Client::ClientConfiguration clientConfig;
clientConfig.region = "us-west-2";
Aws::MediaConvert::MediaConvertClient client(clientConfig);
Aws::MediaConvert::Model::DescribeEndpointsRequest request;
// need to strip https:// from endpoint for C++
mediaConvertEndpoint =
client.DescribeEndpoints(request).GetResult().GetEndpoints().at(0).GetUrl().substr(8);
}
// Create MediaConvert client with the endpoints and region from above Aws::Client::ClientConfiguration mcClientConfig;
// Also need to set region endpoint, must match endpoint embedded in custom endpoint mcClientConfig.region = "us-west-2";
mcClientConfig.endpointOverride = mediaConvertEndpoint;
Aws::MediaConvert::MediaConvertClient mcClient(mcClientConfig);
// Create job request
Aws::MediaConvert::Model::CreateJobRequest createJobRequest;
createJobRequest.SetRole(mediaConvertRole);
Aws::Http::HeaderValueCollection hvc;
hvc.emplace("Customer", "Amazon");
CreateJob Example Using the SDK for C++
createJobRequest.SetUserMetadata(hvc);
// Create job settings
Aws::MediaConvert::Model::JobSettings jobSettings;
jobSettings.SetAdAvailOffset(0);
Aws::MediaConvert::Model::TimecodeConfig timecodeConfig;
timecodeConfig.SetSource(Aws::MediaConvert::Model::TimecodeSource::EMBEDDED);
jobSettings.SetTimecodeConfig(timecodeConfig);
createJobRequest.SetSettings(jobSettings);
// Output Group
Aws::MediaConvert::Model::OutputGroup og;
og.SetName("File Group");
Aws::MediaConvert::Model::OutputGroupSettings ogs;
ogs.SetType(Aws::MediaConvert::Model::OutputGroupType::FILE_GROUP_SETTINGS);
Aws::MediaConvert::Model::FileGroupSettings fgs;
fgs.SetDestination(fileOutput);
ogs.SetFileGroupSettings(fgs);
og.SetOutputGroupSettings(ogs);
Aws::MediaConvert::Model::Output output;
output.SetNameModifier("_1");
Aws::MediaConvert::Model::VideoDescription vdes;
vdes.SetScalingBehavior(Aws::MediaConvert::Model::ScalingBehavior::DEFAULT);
vdes.SetTimecodeInsertion(Aws::MediaConvert::Model::VideoTimecodeInsertion::DISABLED);
vdes.SetAntiAlias(Aws::MediaConvert::Model::AntiAlias::ENABLED);
vdes.SetSharpness(50);
vdes.SetAfdSignaling(Aws::MediaConvert::Model::AfdSignaling::NONE);
vdes.SetDropFrameTimecode(Aws::MediaConvert::Model::DropFrameTimecode::ENABLED);
vdes.SetRespondToAfd(Aws::MediaConvert::Model::RespondToAfd::NONE);
vdes.SetColorMetadata(Aws::MediaConvert::Model::ColorMetadata::INSERT);
Aws::MediaConvert::Model::VideoCodecSettings vcs;
vcs.SetCodec(Aws::MediaConvert::Model::VideoCodec::H_264);
Aws::MediaConvert::Model::H264Settings h264;
h264.SetNumberReferenceFrames(3);
h264.SetSyntax(Aws::MediaConvert::Model::H264Syntax::DEFAULT);
h264.SetSoftness(0);
h264.SetGopClosedCadence(1);
h264.SetGopSize(90);
h264.SetSlices(1);
h264.SetGopBReference(Aws::MediaConvert::Model::H264GopBReference::DISABLED);
h264.SetSlowPal(Aws::MediaConvert::Model::H264SlowPal::DISABLED);
h264.SetSpatialAdaptiveQuantization(Aws::MediaConvert::Model::H264SpatialAdaptiveQuantization::ENABLED);
h264.SetTemporalAdaptiveQuantization(Aws::MediaConvert::Model::H264TemporalAdaptiveQuantization::ENABLED);
h264.SetFlickerAdaptiveQuantization(Aws::MediaConvert::Model::H264FlickerAdaptiveQuantization::DISABLED);
h264.SetEntropyEncoding(Aws::MediaConvert::Model::H264EntropyEncoding::CABAC);
h264.SetBitrate(5000000);
h264.SetFramerateControl(Aws::MediaConvert::Model::H264FramerateControl::SPECIFIED);
h264.SetRateControlMode(Aws::MediaConvert::Model::H264RateControlMode::CBR);
h264.SetCodecProfile(Aws::MediaConvert::Model::H264CodecProfile::MAIN);
h264.SetTelecine(Aws::MediaConvert::Model::H264Telecine::NONE);
h264.SetMinIInterval(0);
h264.SetAdaptiveQuantization(Aws::MediaConvert::Model::H264AdaptiveQuantization::HIGH);
h264.SetCodecLevel(Aws::MediaConvert::Model::H264CodecLevel::AUTO);
h264.SetFieldEncoding(Aws::MediaConvert::Model::H264FieldEncoding::PAFF);
h264.SetSceneChangeDetect(Aws::MediaConvert::Model::H264SceneChangeDetect::ENABLED);
h264.SetQualityTuningLevel(Aws::MediaConvert::Model::H264QualityTuningLevel::SINGLE_PASS);
h264.SetFramerateConversionAlgorithm(Aws::MediaConvert::Model::H264FramerateConversionAlgorithm::DUPLICATE_DROP);
CreateJob Example Using the SDK for C++
h264.SetUnregisteredSeiTimecode(Aws::MediaConvert::Model::H264UnregisteredSeiTimecode::DISABLED);
h264.SetGopSizeUnits(Aws::MediaConvert::Model::H264GopSizeUnits::FRAMES);
h264.SetParControl(Aws::MediaConvert::Model::H264ParControl::SPECIFIED);
h264.SetNumberBFramesBetweenReferenceFrames(2);
h264.SetRepeatPps(Aws::MediaConvert::Model::H264RepeatPps::DISABLED);
h264.SetFramerateNumerator(30);
h264.SetFramerateDenominator(1);
h264.SetParNumerator(1);
h264.SetParDenominator(1);
vcs.SetH264Settings(h264);
vdes.SetCodecSettings(vcs);
output.SetVideoDescription(vdes);
Aws::MediaConvert::Model::AudioDescription ades;
ades.SetLanguageCodeControl(Aws::MediaConvert::Model::AudioLanguageCodeControl::FOLLOW_INPUT);
// This name matches one specified in the Inputs below ades.SetAudioSourceName("Audio Selector 1");
Aws::MediaConvert::Model::AudioCodecSettings acs;
acs.SetCodec(Aws::MediaConvert::Model::AudioCodec::AAC);
Aws::MediaConvert::Model::AacSettings aac;
aac.SetAudioDescriptionBroadcasterMix(Aws::MediaConvert::Model::AacAudioDescriptionBroadcasterMix::NORMAL);
aac.SetRateControlMode(Aws::MediaConvert::Model::AacRateControlMode::CBR);
aac.SetCodecProfile(Aws::MediaConvert::Model::AacCodecProfile::LC);
aac.SetCodingMode(Aws::MediaConvert::Model::AacCodingMode::CODING_MODE_2_0);
aac.SetRawFormat(Aws::MediaConvert::Model::AacRawFormat::NONE);
aac.SetSampleRate(48000);
aac.SetSpecification(Aws::MediaConvert::Model::AacSpecification::MPEG4);
aac.SetBitrate(64000);
acs.SetAacSettings(aac);
ades.SetCodecSettings(acs);
Aws::Vector<Aws::MediaConvert::Model::AudioDescription> adess;
adess.emplace_back(ades);
output.SetAudioDescriptions(adess);
Aws::MediaConvert::Model::ContainerSettings mp4container;
mp4container.SetContainer(Aws::MediaConvert::Model::ContainerType::MP4);
Aws::MediaConvert::Model::Mp4Settings mp4;
mp4.SetCslgAtom(Aws::MediaConvert::Model::Mp4CslgAtom::INCLUDE);
mp4.SetFreeSpaceBox(Aws::MediaConvert::Model::Mp4FreeSpaceBox::EXCLUDE);
mp4.SetMoovPlacement(Aws::MediaConvert::Model::Mp4MoovPlacement::PROGRESSIVE_DOWNLOAD);
mp4container.SetMp4Settings(mp4);
output.SetContainerSettings(mp4container);
og.AddOutputs(output);
jobSettings.AddOutputGroups(og);
// End Output Group
Aws::MediaConvert::Model::Input input;
input.SetFilterEnable(Aws::MediaConvert::Model::InputFilterEnable::AUTO);
input.SetPsiControl(Aws::MediaConvert::Model::InputPsiControl::USE_PSI);
input.SetFilterStrength(0);
input.SetDeblockFilter(Aws::MediaConvert::Model::InputDeblockFilter::DISABLED);
input.SetDenoiseFilter(Aws::MediaConvert::Model::InputDenoiseFilter::DISABLED);
input.SetTimecodeSource(Aws::MediaConvert::Model::InputTimecodeSource::EMBEDDED);
input.SetFileInput(fileInput);
Aws::MediaConvert::Model::AudioSelector audsel;
audsel.SetOffset(0);
audsel.SetDefaultSelection(Aws::MediaConvert::Model::AudioDefaultSelection::NOT_DEFAULT);
audsel.SetProgramSelection(1);
audsel.SetSelectorType(Aws::MediaConvert::Model::AudioSelectorType::TRACK);
audsel.AddTracks(1);
Finding More Information in the SDK for Go Documentation input.AddAudioSelectors("Audio Select 1", audsel);
Aws::MediaConvert::Model::VideoSelector vidsel;
vidsel.SetColorSpace(Aws::MediaConvert::Model::ColorSpace::FOLLOW);
input.SetVideoSelector(vidsel);
jobSettings.AddInputs(input);
createJobRequest.SetSettings(jobSettings);
Aws::MediaConvert::Model::CreateJobOutcome createJobResponse = mcClient.CreateJob(createJobRequest);
std::cout << createJobResponse.GetResult().GetJob().GetId() << std::endl;
}
Aws::ShutdownAPI(options);
return 0;
}
Note
The previous example shows a job with very simple transcoding settings. You can use the AWS Elemental MediaConvert console to generate your production job specifications in JSON format. For more information and sample JSON job specifications, see Creating Your Job Specification (p. 38).
After you specify your job in JSON format, translate it according to the SDK for C++
documentation.
Finding More Information in the SDK for Go Documentation
After you use the DescribeEndpoints method to request an endpoint, send your requests to it as described in Creating an Account Endpoint in the AWS SDK for Go Developer Guide.
Important
Make the DescribeEndpoints call only once, then hardcode or cache your endpoint. This endpoint is specific to your AWS Region and won't change.
Don't use DescribeEndpoints to create your AWS client each time that you make a request to MediaConvert. Otherwise, you will reach the throttle maximum on the public API endpoint.
AWS Elemental MediaConvert CreateJob Example Using theSDK for Java
For information about setting up your credentials and AWS Region in your client configuration, see Set up AWS Credentials and Region for Development in the AWS SDK for Java Developer Guide.
This procedure shows you how to get your endpoint and send MediaConvert requests to it.
1. Add the following import statements:
import com.amazonaws.client.builder.AwsClientBuilder.EndpointConfiguration;
import com.amazonaws.regions.Region;
import com.amazonaws.services.mediaconvert.*;
2. Determine the Region for your endpoint and create an AWSMediaConvert client object for it:
CreateJob Example Using the AWS SDK for .NET
String region = "us-west-2";
AWSMediaConvert mediaConvertClient = AWSMediaConvertClientBuilder.standard() .withRegion(region)
.build();
3. Call the describeEndpoints method to retrieve the endpoint and save the endpoint's URL:
DescribeEndpointsRequest request = new DescribeEndpointsRequest();
String endpoint = mediaConvertClient.describeEndpoints(request) .getEndpoints()
.get(0).getUrl();
Important
Make the DescribeEndpoints call only once, then hardcode or cache your endpoint. This endpoint is specific to your AWS Region and won't change.
Don't use DescribeEndpoints to create your AWS client each time that you make a request to MediaConvert. Otherwise, you will reach the throttle maximum on the public API endpoint.
4. Create a job request and a submit job request object:
CreateJobRequest jobParam = new CreateJobRequest() .withSettings(jobSettings);
CreateJobResult mcResponse = new CreateJobResult();
mcResponse = mcClient.createJob(jobParam)
Note
The jobSettings object specifies your transcoding job settings. You can use the AWS Elemental MediaConvert console to generate your job specification in JSON format.For more information and sample JSON job specifications, see Creating Your Job Specification (p. 38).
After you specify your job in JSON format, translate it according to the SDK for Java documentation to create your jobSettings object.
AWS Elemental MediaConvert CreateJob Example Using the AWS SDK for .NET
To send requests using the AWS SDK for .NET:
using System;
using Amazon.MediaConvert;
using Amazon.MediaConvert.Model;
namespace MediaConvertNET {
/* -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
\-\-\-\-
* Permissions IAM user needs to run this example
* -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
\-\-\-\-
CreateJob Example Using the AWS SDK for .NET
* {
"Version": "2012-10-17", "Statement": [
{
"Sid": "VisualEditor0", "Effect": "Allow", "Action": [
"mediaconvert:DescribeEndpoints", "mediaconvert:CreateJob"
],
"Resource": "*"
} ] } */
/* -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- * JSON job settings used in this example
* -\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- *
{
"Queue": "arn:aws:mediaconvert:us-west-2:505474453218:queues/Default", "UserMetadata": {
"Customer": "Amazon"
},
"Role": "Your AWS Elemental MediaConvert role ARN", "Settings": {
"OutputGroups": [ {
"Name": "File Group", "OutputGroupSettings": {
"Type": "FILE_GROUP_SETTINGS", "FileGroupSettings": {
"Destination": "s3://youroutputdestination"
} },
"Outputs": [ {
"VideoDescription": {
"ScalingBehavior": "DEFAULT", "TimecodeInsertion": "DISABLED", "AntiAlias": "ENABLED",
"Sharpness": 50, "CodecSettings": { "Codec": "H_264", "H264Settings": {
"InterlaceMode": "PROGRESSIVE", "NumberReferenceFrames": 3, "Syntax": "DEFAULT", "Softness": 0,
"GopClosedCadence": 1, "GopSize": 90,
"Slices": 1,
"GopBReference": "DISABLED", "SlowPal": "DISABLED",
"SpatialAdaptiveQuantization": "ENABLED", "TemporalAdaptiveQuantization": "ENABLED", "FlickerAdaptiveQuantization": "DISABLED", "EntropyEncoding": "CABAC",
"Bitrate": 5000000,
"FramerateControl": "SPECIFIED", "RateControlMode": "CBR", "CodecProfile": "MAIN", "Telecine": "NONE", "MinIInterval": 0,
"AdaptiveQuantization": "HIGH",
CreateJob Example Using the AWS SDK for .NET
"CodecLevel": "AUTO", "FieldEncoding": "PAFF",
"SceneChangeDetect": "ENABLED", "QualityTuningLevel": "SINGLE_PASS",
"FramerateConversionAlgorithm": "DUPLICATE_DROP", "UnregisteredSeiTimecode": "DISABLED",
"GopSizeUnits": "FRAMES", "ParControl": "SPECIFIED",
"NumberBFramesBetweenReferenceFrames": 2, "RepeatPps": "DISABLED",
"FramerateNumerator": 30, "FramerateDenominator": 1, "ParNumerator": 1,
"ParDenominator": 1 }
},
"AfdSignaling": "NONE",
"DropFrameTimecode": "ENABLED", "RespondToAfd": "NONE",
"ColorMetadata": "INSERT"
},
"AudioDescriptions": [ {
"AudioTypeControl": "FOLLOW_INPUT", "CodecSettings": {
"Codec": "AAC", "AacSettings": {
"AudioDescriptionBroadcasterMix": "NORMAL", "RateControlMode": "CBR",
"CodecProfile": "LC",
"CodingMode": "CODING_MODE_2_0", "RawFormat": "NONE",
"SampleRate": 48000, "Specification": "MPEG4", "Bitrate": 64000
} },
"LanguageCodeControl": "FOLLOW_INPUT", "AudioSourceName": "Audio Selector 1"
} ],
"ContainerSettings": { "Container": "MP4", "Mp4Settings": {
"CslgAtom": "INCLUDE", "FreeSpaceBox": "EXCLUDE",
"MoovPlacement": "PROGRESSIVE_DOWNLOAD"
} },
"NameModifier": "_1"
} ] } ],
"AdAvailOffset": 0, "Inputs": [
{
"AudioSelectors": { "Audio Selector 1": { "Offset": 0,
"DefaultSelection": "NOT_DEFAULT", "ProgramSelection": 1,
"SelectorType": "TRACK", "Tracks": [
1 ]
CreateJob Example Using the AWS SDK for .NET
} },
"VideoSelector": { "ColorSpace": "FOLLOW"
},
"FilterEnable": "AUTO", "PsiControl": "USE_PSI", "FilterStrength": 0,
"DeblockFilter": "DISABLED", "DenoiseFilter": "DISABLED", "TimecodeSource": "EMBEDDED", "FileInput": "s3://yourinputfile"
} ],
"TimecodeConfig": { "Source": "EMBEDDED"
} } } */
class Program
{ static void Main(string[] args) {
String mediaConvertRole = "Your AWS Elemental MediaConvert role ARN";
String fileInput = "s3://yourinputfile";
String fileOutput = "s3://youroutputdestination";
// Once you know what your customer endpoint is, set it here String mediaConvertEndpoint = "";
// If we do not have our customer-specific endpoint if (String.IsNullOrEmpty(mediaConvertEndpoint)) {
// Obtain the customer-specific MediaConvert endpoint AmazonMediaConvertClient client = new
AmazonMediaConvertClient(Amazon.RegionEndpoint.USWest2);
DescribeEndpointsRequest describeRequest = new DescribeEndpointsRequest();
DescribeEndpointsResponse describeResponse = client.DescribeEndpoints(describeRequest);
mediaConvertEndpoint = describeResponse.Endpoints[0].Url;
}
// Since we have a service url for MediaConvert, we do not // need to set RegionEndpoint. If we do, the ServiceURL will // be overwritten
AmazonMediaConvertConfig mcConfig = new AmazonMediaConvertConfig {
ServiceURL = mediaConvertEndpoint, };
AmazonMediaConvertClient mcClient = new AmazonMediaConvertClient(mcConfig);
CreateJobRequest createJobRequest = new CreateJobRequest();
createJobRequest.Role = mediaConvertRole;
createJobRequest.UserMetadata.Add("Customer", "Amazon");
#Region Create job settings
JobSettings jobSettings = new JobSettings();
jobSettings.AdAvailOffset = 0;
jobSettings.TimecodeConfig = new TimecodeConfig();
jobSettings.TimecodeConfig.Source = TimecodeSource.EMBEDDED;
createJobRequest.Settings = jobSettings;
#Region OutputGroup
OutputGroup ofg = new OutputGroup();
CreateJob Example Using the AWS SDK for .NET
ofg.Name = "File Group";
ofg.OutputGroupSettings = new OutputGroupSettings();
ofg.OutputGroupSettings.Type = OutputGroupType.FILE_GROUP_SETTINGS;
ofg.OutputGroupSettings.FileGroupSettings = new FileGroupSettings();
ofg.OutputGroupSettings.FileGroupSettings.Destination = fileOutput;
Output output = new Output();
output.NameModifier = "_1";
#Region VideoDescription
VideoDescription vdes = new VideoDescription();
output.VideoDescription = vdes;
vdes.ScalingBehavior = ScalingBehavior.DEFAULT;
vdes.TimecodeInsertion = VideoTimecodeInsertion.DISABLED;
vdes.AntiAlias = AntiAlias.ENABLED;
vdes.Sharpness = 50;
vdes.AfdSignaling = AfdSignaling.NONE;
vdes.DropFrameTimecode = DropFrameTimecode.ENABLED;
vdes.RespondToAfd = RespondToAfd.NONE;
vdes.ColorMetadata = ColorMetadata.INSERT;
vdes.CodecSettings = new VideoCodecSettings();
vdes.CodecSettings.Codec = VideoCodec.H_264;
H264Settings h264 = new H264Settings();
h264.InterlaceMode = H264InterlaceMode.PROGRESSIVE;
h264.NumberReferenceFrames = 3;
h264.Syntax = H264Syntax.DEFAULT;
h264.Softness = 0;
h264.GopClosedCadence = 1;
h264.GopSize = 90;
h264.Slices = 1;
h264.GopBReference = H264GopBReference.DISABLED;
h264.SlowPal = H264SlowPal.DISABLED;
h264.SpatialAdaptiveQuantization = H264SpatialAdaptiveQuantization.ENABLED;
h264.TemporalAdaptiveQuantization = H264TemporalAdaptiveQuantization.ENABLED;
h264.FlickerAdaptiveQuantization = H264FlickerAdaptiveQuantization.DISABLED;
h264.EntropyEncoding = H264EntropyEncoding.CABAC;
h264.Bitrate = 5000000;
h264.FramerateControl = H264FramerateControl.SPECIFIED;
h264.RateControlMode = H264RateControlMode.CBR;
h264.CodecProfile = H264CodecProfile.MAIN;
h264.Telecine = H264Telecine.NONE;
h264.MinIInterval = 0;
h264.AdaptiveQuantization = H264AdaptiveQuantization.HIGH;
h264.CodecLevel = H264CodecLevel.AUTO;
h264.FieldEncoding = H264FieldEncoding.PAFF;
h264.SceneChangeDetect = H264SceneChangeDetect.ENABLED;
h264.QualityTuningLevel = H264QualityTuningLevel.SINGLE_PASS;
h264.FramerateConversionAlgorithm = H264FramerateConversionAlgorithm.DUPLICATE_DROP;
h264.UnregisteredSeiTimecode = H264UnregisteredSeiTimecode.DISABLED;
h264.GopSizeUnits = H264GopSizeUnits.FRAMES;
h264.ParControl = H264ParControl.SPECIFIED;
h264.NumberBFramesBetweenReferenceFrames = 2;
h264.RepeatPps = H264RepeatPps.DISABLED;
h264.FramerateNumerator = 30;
h264.FramerateDenominator = 1;
h264.ParNumerator = 1;
h264.ParDenominator = 1;
output.VideoDescription.CodecSettings.H264Settings = h264;
#endregion VideoDescription #Region AudioDescription
AudioDescription ades = new AudioDescription();
ades.LanguageCodeControl = AudioLanguageCodeControl.FOLLOW_INPUT;
// This name matches one specified in the Inputs below ades.AudioSourceName = "Audio Selector 1";
CreateJob Example Using the AWS SDK for .NET
ades.CodecSettings = new AudioCodecSettings();
ades.CodecSettings.Codec = AudioCodec.AAC;
AacSettings aac = new AacSettings();
aac.AudioDescriptionBroadcasterMix = AacAudioDescriptionBroadcasterMix.NORMAL;
aac.RateControlMode = AacRateControlMode.CBR;
aac.CodecProfile = AacCodecProfile.LC;
aac.CodingMode = AacCodingMode.CODING_MODE_2_0;
aac.RawFormat = AacRawFormat.NONE;
aac.SampleRate = 48000;
aac.Specification = AacSpecification.MPEG4;
aac.Bitrate = 64000;
ades.CodecSettings.AacSettings = aac;
output.AudioDescriptions.Add(ades);
#endregion AudioDescription #region Mp4 Container
output.ContainerSettings = new ContainerSettings();
output.ContainerSettings.Container = ContainerType.MP4;
Mp4Settings mp4 = new Mp4Settings();
mp4.CslgAtom = Mp4CslgAtom.INCLUDE;
mp4.FreeSpaceBox = Mp4FreeSpaceBox.EXCLUDE;
mp4.MoovPlacement = Mp4MoovPlacement.PROGRESSIVE_DOWNLOAD;
output.ContainerSettings.Mp4Settings = mp4;
#endregion Mp4 Container ofg.Outputs.Add(output);
createJobRequest.Settings.OutputGroups.Add(ofg);
#endregion OutputGroup #Region Input
Input input = new Input();
input.FilterEnable = InputFilterEnable.AUTO;
input.PsiControl = InputPsiControl.USE_PSI;
input.FilterStrength = 0;
input.DeblockFilter = InputDeblockFilter.DISABLED;
input.DenoiseFilter = InputDenoiseFilter.DISABLED;
input.TimecodeSource = InputTimecodeSource.EMBEDDED;
input.FileInput = fileInput;
AudioSelector audsel = new AudioSelector();
audsel.Offset = 0;
audsel.DefaultSelection = AudioDefaultSelection.NOT_DEFAULT;
audsel.ProgramSelection = 1;
audsel.SelectorType = AudioSelectorType.TRACK;
audsel.Tracks.Add(1);
input.AudioSelectors.Add("Audio Selector 1", audsel);
input.VideoSelector = new VideoSelector();
input.VideoSelector.ColorSpace = ColorSpace.FOLLOW;
createJobRequest.Settings.Inputs.Add(input);
#endregion Input
#endregion Create job settings try
{
CreateJobResponse createJobResponse = mcClient.CreateJob(createJobRequest);
Console.WriteLine("Job Id: {0}", createJobResponse.Job.Id);
}
catch (BadRequestException bre) {
// If the enpoint was bad
if (bre.Message.StartsWith("You must use the customer-")) {
// The exception contains the correct endpoint; extract it mediaConvertEndpoint = bre.Message.Split('\'')[1];
CreateJob Example Using the SDK for Python
// Code to retry query }
} } } }
Note
The previous example shows a job with very simple transcoding settings. You can use the AWS Elemental MediaConvert console to generate your production job specifications in JSON format. For more information and sample JSON job specifications, see Creating Your Job Specification (p. 38).After youspecify your job in JSON format, translate it according to the AWS SDK for .NET documentation.
For more information about sending requests to an endpoint, see the Overriding Endpoints in the AWS SDK for .NET post in the AWS Developer Blog.
AWS Elemental MediaConvert CreateJob Example Using the SDK for Python
Follow these steps to send requests using the AWS SDK for Python (Boto):
1. Use the describe_endpoints method to request an endpoint.
Important
Make the DescribeEndpoints call only once, then hardcode or cache your endpoint. This endpoint is specific to your AWS Region and won't change.
Don't use DescribeEndpoints to create your AWS client each time that you make a request to MediaConvert. Otherwise, you will reach the throttle maximum on the public API endpoint.
2. Specify the transcoding settings for your job in a JSON file.
You can use the AWS Elemental MediaConvert console to generate the JSON job specification. For more information and sample job specifications, see Creating Your Job Specification (p. 38).
3. Perform these steps in your Python code, as demonstrated in the example that follows these steps:
a. Create the client with endpoint specified.
b. Load your settings JSON file.
c. Create the transcoding job using create_job.
import json import boto3
# Create MediaConvert client
mediaconvert_client = boto3.client('mediaconvert', endpoint_url='https://
abcd1234.mediaconvert.us-west-2.amazonaws.com')
# Load job.json from disk and store as Python object: job_object with open("job.json", "r") as jsonfile:
job_object = json.load(jsonfile)
# Create MediaConvert job by unpacking the arguments from job_object. The job object contains the required parameters
# for create_job. Pass these to create_job using Python's ** argument unpacking syntax.
Finding More Information in the SDK for Ruby Documentation mediaconvert_client.create_job(**job_object)
Finding More Information in the SDK for Ruby Documentation
After you use the DescribeEndpointsRequest method to request an endpoint, send your requests to it as described in Setting a Nonstandard Endpoint in the AWS SDK for Ruby Developer Guide.
Important
Make the DescribeEndpoints call only once, then hardcode or cache your endpoint. This endpoint is specific to your AWS Region and won't change.
Don't use DescribeEndpoints to create your AWS client each time that you make a request to MediaConvert. Otherwise, you will reach the throttle maximum on the public API endpoint.
Finding More Information in the Tools for PowerShell Core Documentation
After you use the Get-EMCEndpoint Cmdlet to request an endpoint, send your requests to it as described in Specifying a Custom or Nonstandard Endpoint in the AWS Tools for PowerShell User Guide. In brief, you specify your endpoint as a URL by adding the -EndpointUrl common parameter to your AWS Tools for PowerShell command.
In this example, replace https://abcd1234.mediaconvert.us-west-1.amazonaws.com with the endpoint that you get back from your Get-EMCEndpoint Cmdlet request:
AWS-PowerShellCmdlet -EndpointUrl "https://abcd1234.mediaconvert.us-west-1.amazonaws.com."
-Other -Parameters
Important
Make the DescribeEndpoints call only once, then hardcode or cache your endpoint. This endpoint is specific to your AWS Region and won't change.
Don't use DescribeEndpoints to create your AWS client each time that you make a request to MediaConvert. Otherwise, you will reach the throttle maximum on the public API endpoint.
Getting Started with MediaConvert Using the API
This section shows you how to get started with the MediaConvert API to transcode media files using API calls.
Important
Unlike most AWS services, AWS Elemental MediaConvert requires that you send your requests to an endpoint that is specific to your AWS Region. Use the following steps to get started.
To get set up to use the AWS Elemental MediaConvert API
1. Set up permissions:• Permissions that the AWS Elemental MediaConvert service can assume on your behalf. These allow access to your Amazon S3 buckets and to Amazon API Gateway. For instructions, see Set Up IAM Permissions in the AWS Elemental MediaConvert User Guide.
• Your Signature Version 4 authentication for the requests that you send to AWS. When you use the AWS Command Line Interface (AWS CLI) or one of the AWS SDKs, these tools automatically sign the requests for you with the access key and secret key that you specify in your client configuration.
2. Set up S3 file locations.
The service reads your input files from and saves your output files to Amazon S3 buckets.
For instructions on creating these buckets, see Create Storage for Files in the AWS Elemental MediaConvert User Guide.
3. Request your endpoint.
Send a POST request with an empty body to the following endpoint, replacing <region> with the name of your Region. Usually, this is the Region where you store your input and output files. This Region must match the Region that you set up in your client configuration:
https://mediaconvert.<region>.amazonaws.com/2017-08-29/endpoints
For example, for the Region ap-southeast-2, the endpoint is the following:
https://mediaconvert.ap-southeast-2.amazonaws.com/2017-08-29/endpoints
For a full list of MediaConvert public endpoints, see AWS Elemental MediaConvert Regions and Endpoints.
For information about MediaConvert FIPS endpoints, see FIPS Endpoints (p. 48).
The service returns an endpoint similar to "https://abcd1234.mediaconvert.us- west-1.amazonaws.com". The first eight digits after "https://" are an alphanumeric
combination. The Region matches the regional endpoint that you send the request to. This is the endpoint to use for your transcoding requests.
Important
If you request your endpoint programmatically, do so only once in your application. Don't make a request to the public endpoint each time that you make a request to MediaConvert.
Otherwise, you will reach the throttle maximum on the public API endpoint.
AWS Elemental MediaConvert Postman Collection Files
4. Send your transcoding requests.
Using the endpoint that you received from your POST request, send your requests to manage transcoding jobs, queues, job templates, and presets. For more information, see the following:
• For information about setting up your transcoding job, see the Creating Your Job Specification (p. 38) topic of this guide.
• For general information about how the MediaConvert resources (jobs, queues, job templates, and output presets) work, see the AWS Elemental MediaConvert User Guide.
• For information about interacting programmatically with each resource type, see the Resources topic of this guide.
• For detailed information about each transcoding setting, see the Properties topic of the Jobs resource chapter of this guide. You might find it easiest to navigate to a particular setting in the Properties topic by following the links in the Schemas section.
Tip
If you use Postman to send your requests, you can optionally copy and import the preconfigured AWS Elemental MediaConvert Postman Collection Files (p. 18).AWS Elemental MediaConvert Postman Collection Files
Use these collections with Postman for simple access to MediaConvert through the REST API. Copy the collections and save them as JSON files, then import them into Postman.
Topics
• MediaConvert List Resources Collection (p. 18)
• MediaConvert Create Resources Collection (p. 22)
• MediaConvert Resource Tagging Collection (p. 30)
MediaConvert List Resources Collection
{
"id": "87fac2df-dd0f-b54a-b1f9-5b138cb4147f", "name": "AWS Elemental MediaConvert GET Request",
"description": "AWS Elemental MediaConvert GET Request", "order": [
"bc671df5-4a85-54b6-f137-19cb70516fd2", "85318a0b-c490-3718-62eb-2a737de83af0", "1fd40def-ca4b-1842-c99a-778f62269010", "8c5ee49e-3eb0-5b9f-ae03-f6ce59763c93", "abedbb9c-4b97-6596-ae4c-dc1ff83f1e59", "0348eabe-0893-696e-718d-e819e699b34c"
], "folders": [], "folders_order": [], "timestamp": 0, "owner": "2332976", "public": false, "requests": [
{ "id": "0348eabe-0893-696e-718d-e819e699b34c", "headers": "Content-Type: application/json\n",
GET Collection
"headerData": [ {
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/
presets/<name-of-preset>", "folder": null,
"queryParams": [], "preRequestScript": null, "pathVariables": {}, "pathVariableData": [], "method": "GET", "data": null,
"dataMode": "params", "tests": null,
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region", "service": "mediaconvert", "saveToRequest": true },
"time": 1530559387196,
"name": "List of Job Presets", "description": "",
"collectionId": "87fac2df-dd0f-b54a-b1f9-5b138cb4147f", "responses": []
}, {
"id": "1fd40def-ca4b-1842-c99a-778f62269010", "headers": "Content-Type: application/json\n", "headerData": [
{
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/
queues",
"folder": null, "queryParams": [], "preRequestScript": null, "pathVariables": {}, "pathVariableData": [], "method": "GET", "data": null,
"dataMode": "params", "tests": null,
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region", "service": "mediaconvert", "saveToRequest": true },
"time": 1530558971036, "name": "List All Queues", "description": "",
GET Collection
"collectionId": "87fac2df-dd0f-b54a-b1f9-5b138cb4147f", "responses": []
}, {
"id": "85318a0b-c490-3718-62eb-2a737de83af0", "headers": "Content-Type: application/json\n", "headerData": [
{
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/
queues/<QUEUE-NAME-HERE>", "folder": null,
"queryParams": [], "preRequestScript": null, "pathVariables": {}, "pathVariableData": [], "method": "GET", "data": null,
"dataMode": "params", "tests": null,
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region", "service": "mediaconvert", "saveToRequest": true },
"time": 1530558975692,
"name": "Specific Queue Details", "description": "",
"collectionId": "87fac2df-dd0f-b54a-b1f9-5b138cb4147f", "responses": []
},
{ "id": "8c5ee49e-3eb0-5b9f-ae03-f6ce59763c93", "headers": "Content-Type: application/json\n", "headerData": [
{
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/
jobTemplates/<job-template-name>", "folder": null,
"queryParams": [], "preRequestScript": null, "pathVariables": {}, "pathVariableData": [], "method": "GET", "data": null,
"dataMode": "params", "tests": null,
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region",
GET Collection
"service": "mediaconvert", "saveToRequest": true },
"time": 1530559427717,
"name": "Specific Job Template", "description": "",
"collectionId": "87fac2df-dd0f-b54a-b1f9-5b138cb4147f", "responses": []
},
{ "id": "abedbb9c-4b97-6596-ae4c-dc1ff83f1e59", "headers": "Content-Type: application/json\n", "headerData": [
{
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/
jobTemplates", "queryParams": [], "pathVariables": {}, "pathVariableData": [], "preRequestScript": null, "method": "GET",
"collectionId": "87fac2df-dd0f-b54a-b1f9-5b138cb4147f", "data": null,
"dataMode": "params",
"name": "List of Job Templates", "description": "",
"descriptionFormat": "html", "time": 1530559135843, "version": 2,
"responses": [], "tests": null,
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region", "service": "mediaconvert", "saveToRequest": true } },
{ "id": "bc671df5-4a85-54b6-f137-19cb70516fd2", "headers": "Content-Type: application/json\n", "headerData": [
{
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/jobs/
<job-id>",
"folder": null, "queryParams": [], "preRequestScript": null, "pathVariables": {}, "pathVariableData": [], "method": "GET", "data": null,
POST Collection
"dataMode": "params", "tests": null,
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region", "service": "mediaconvert", "saveToRequest": true },
"time": 1530558979699, "name": "Specific Job ID", "description": "",
"collectionId": "87fac2df-dd0f-b54a-b1f9-5b138cb4147f", "responses": []
} ]}
MediaConvert Create Resources Collection
{
"id": "7f8f50a7-df20-f8c6-0180-9fe2eab4e285", "name": "AWS Elemental MediaConvert POST Request", "description": "",
"order": [
"18510e9e-cc88-8c19-5b28-64606a24bb03", "b4a440ea-e235-fefa-636f-d0f5da8143f5", "dbad1515-df7d-fbc7-84ad-bd97688ee0dd", "37896178-5574-1b03-858f-8c3dd362c231", "3a124a9e-e437-2a47-b8e1-eb51e121311c"
],
"folders": [], "folders_order": [], "timestamp": 0, "owner": "2332976", "public": false, "requests": [
{ "id": "18510e9e-cc88-8c19-5b28-64606a24bb03", "headers": "Content-Type: application/json\n", "headerData": [
{
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/
jobs",
"queryParams": [ {
"key": "AWS_Region", "value": "eu-west-1", "equals": false, "description": "", "enabled": false },
{
"key": "AWS_Access_Key", "value": "KEY",
"equals": false,
POST Collection
"description": "", "enabled": false },
{
"key": "AWS_Secret_Key", "value": "KEY",
"equals": false, "description": "", "enabled": false }
],
"preRequestScript": "", "pathVariables": {}, "pathVariableData": [], "method": "POST", "data": [], "dataMode": "raw", "tests": "",
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region", "service": "mediaconvert", "saveToRequest": true },
"time": 1530561471298,
"name": "Submit MP4 Job (No Preset)", "description": "",
"collectionId": "7f8f50a7-df20-f8c6-0180-9fe2eab4e285", "responses": [],
"rawModeData": "{\r\n \"userMetadata\": {},\r\n \"role\": \"ROLE ARN HERE\",\r\n \"settings\": {\r\n \"outputGroups\": [\r\n {\r\n \"name\": \"File Group
\",\r\n \"outputs\": [\r\n {\r\n \"containerSettings\": {\r\n \"container\": \"MP4\",\r\n \"mp4Settings\": {\r\n \"cslgAtom\": \"INCLUDE\",\r\n \"freeSpaceBox\": \"EXCLUDE\",\r\n \"moovPlacement\": \"PROGRESSIVE_DOWNLOAD\"\r\n }\r\n },\r\n \"videoDescription\": {\r\n \"scalingBehavior\": \"DEFAULT\",\r\n \"timecodeInsertion\": \"DISABLED\",\r\n \"antiAlias\": \"ENABLED
\",\r\n \"sharpness\": 50,\r\n \"codecSettings\": {\r\n \"codec\": \"H_264\",\r\n \"h264Settings\": {\r\n \"interlaceMode\": \"PROGRESSIVE\",\r\n \"numberReferenceFrames\": 1,\r
\n \"syntax\": \"DEFAULT\",\r\n \"softness\": 0,\r\n \"gopClosedCadence\": 1,\r\n \"gopSize\": 90,\r\n \"slices\": 1,\r\n \"gopBReference\": \"DISABLED\",\r\n \"slowPal\": \"DISABLED\",\r\n \"spatialAdaptiveQuantization
\": \"ENABLED\",\r\n \"temporalAdaptiveQuantization\": \"ENABLED\",
\r\n \"flickerAdaptiveQuantization\": \"ENABLED\",\r\n \"entropyEncoding\": \"CABAC\",\r\n \"bitrate\": 5000000,\r\n \"framerateControl\": \"INITIALIZE_FROM_SOURCE\",\r\n \"rateControlMode\": \"CBR\",\r\n \"codecProfile\": \"MAIN\",\r\n \"telecine\": \"NONE\",\r\n \"minIInterval\": 0,\r\n \"adaptiveQuantization\": \"MEDIUM\",\r\n \"codecLevel\": \"AUTO\",
\r\n \"fieldEncoding\": \"PAFF\",\r\n \"sceneChangeDetect
\": \"ENABLED\",\r\n \"qualityTuningLevel\": \"SINGLE_PASS\",\r\n \"framerateConversionAlgorithm\": \"DUPLICATE_DROP\",\r\n \"unregisteredSeiTimecode\": \"DISABLED\",\r\n \"gopSizeUnits\":
\"FRAMES\",\r\n \"parControl\": \"INITIALIZE_FROM_SOURCE\",\r\n \"numberBFramesBetweenReferenceFrames\": 2,\r\n \"repeatPps
\": \"DISABLED\"\r\n }\r\n },\r\n \"afdSignaling
\": \"NONE\",\r\n \"dropFrameTimecode\": \"ENABLED\",\r\n \"respondToAfd\": \"NONE\",\r\n \"colorMetadata\": \"INSERT\"\r\n },\r\n \"audioDescriptions\": [\r\n {\r\n \"audioTypeControl\": \"FOLLOW_INPUT\",\r\n \"codecSettings\": {\r\n \"codec\": \"AAC\",\r\n \"aacSettings\": {\r\n \"audioDescriptionBroadcasterMix\": \"NORMAL\",\r\n \"bitrate
POST Collection
\": 96000,\r\n \"rateControlMode\": \"CBR\",\r\n \"codecProfile\": \"LC\",\r\n \"codingMode\": \"CODING_MODE_2_0\",\r\n \"rawFormat\": \"NONE\",\r\n \"sampleRate\": 48000,
\r\n \"specification\": \"MPEG4\"\r\n }\r\n },\r\n \"languageCodeControl\": \"FOLLOW_INPUT\"\r\n }\r
\n ]\r\n }\r\n ],\r\n \"outputGroupSettings\": {\r\n \"type\": \"FILE_GROUP_SETTINGS\",\r\n \"fileGroupSettings\": {\r\n \"destination\": \"s3://test/test\"\r\n }\r\n }\r\n }\r\n ],
\r\n \"adAvailOffset\": 0,\r\n \"inputs\": [\r\n {\r\n \"audioSelectors
\": {\r\n \"Audio Selector 1\": {\r\n \"offset\": 0,\r\n \"defaultSelection\": \"DEFAULT\",\r\n \"programSelection\": 1\r\n }\r
\n },\r\n \"videoSelector\": {\r\n \"colorSpace\": \"FOLLOW\"\r\n },\r\n \"filterEnable\": \"AUTO\",\r\n \"psiControl\": \"USE_PSI\",
\r\n \"filterStrength\": 0,\r\n \"deblockFilter\": \"DISABLED\",\r\n \"denoiseFilter\": \"DISABLED\",\r\n \"timecodeSource\": \"EMBEDDED\",\r\n \"fileInput\": \"s3://bucket/file.mp4\"\r\n }\r\n ]\r\n }\r\n}"
}, {
"id": "37896178-5574-1b03-858f-8c3dd362c231",
"headers": "Content-Type: application/json\nHost: <custom-account-
id>.mediaconvert.<region>.amazonaws.com\nContent-Length: 5274\nX-Amz-Date: 20180702T200725Z
\nAuthorization: AWS4-HMAC-SHA256 Credential=AccessKey/20180702/supported-region/
mediaconvert/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=345d7d88d77bb9b227f6044a64b1c9cc76f0556f0365256cb2931acfabcd413b\n", "headerData": [
{
"key": "Content-Type", "value": "application/json", "description": "",
"enabled": true },
{
"key": "Host",
"value": "<custom-account-id>.mediaconvert.<region>.amazonaws.com", "description": "",
"enabled": true },
{
"key": "Content-Length", "value": "5274",
"description": "", "enabled": true },
{
"key": "X-Amz-Date",
"value": "20180702T200725Z", "description": "",
"enabled": true },
{
"key": "Authorization",
"value": "AWS4-HMAC-SHA256 Credential=AccessKey/20180702/supported-region/
mediaconvert/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date, Signature=345d7d88d77bb9b227f6044a64b1c9cc76f0556f0365256cb2931acfabcd413b",
"description": "", "enabled": true }
],
"url": "https://<custom-account-id>.mediaconvert.<region>.amazonaws.com/2017-08-29/
jobTemplates", "queryParams": [ {
"key": "AWS_Region", "value": "eu-west-1", "equals": false, "description": "",
POST Collection
"enabled": false },
{
"key": "AWS_Access_Key", "value": "KEY",
"equals": false, "description": "", "enabled": false },
{
"key": "AWS_Secret_Key", "value": "KEY",
"equals": false, "description": "", "enabled": false }
],
"preRequestScript": "", "pathVariables": {}, "pathVariableData": [], "method": "POST", "data": [], "dataMode": "raw", "tests": "",
"currentHelper": "awsSigV4", "helperAttributes": { "accessKey": "AccessKey", "secretKey": "SecretKey", "region": "supported-region", "service": "mediaconvert", "saveToRequest": true },
"time": 1530563456504,
"name": "Create Job Template", "description": "",
"collectionId": "7f8f50a7-df20-f8c6-0180-9fe2eab4e285", "responses": [],
"rawModeData": "{\n\t\"name\": \"Job Template Test\",\n\t\"description\": \"Job Template Test\",\n\t\"settings\":{\n \"outputGroups\": [\n {\n \"name\":
\"File Group\",\n \"outputs\": [\n {\n \"containerSettings\": {\n \"container\": \"MP4\",\n \"mp4Settings\": {\n \"cslgAtom\": \"INCLUDE\",
\n \"freeSpaceBox\": \"EXCLUDE\",\n \"moovPlacement\": \"PROGRESSIVE_DOWNLOAD\"\n }\n },\n \"videoDescription\": {\n \"width
\": 640,\n \"scalingBehavior\": \"DEFAULT\",\n \"height\": 480,\n \"videoPreprocessors\": {\n \"deinterlacer\": {\n \"algorithm\":
\"INTERPOLATE\",\n \"mode\": \"DEINTERLACE\",\n \"control\": \"NORMAL\"\n }\n },\n \"timecodeInsertion\": \"DISABLED\",\n \"antiAlias\": \"ENABLED\",\n \"sharpness\":
50,\n \"codecSettings\": {\n \"codec\":
\"H_264\",\n \"h264Settings\": {\n \"interlaceMode\": \"PROGRESSIVE\",\n \"parNumerator\":
1,\n \"numberReferenceFrames\": 3,\n \"syntax\": \"DEFAULT\",\n \"softness\": 0,\n \"framerateDenominator\": 1001,\n \"gopClosedCadence\": 1,\n \"hrdBufferInitialFillPercentage
\": 90,\n \"gopSize\": 2,\n \"slices\": 1,\n \"gopBReference\": \"ENABLED\",\n \"hrdBufferSize\": 3000000,\n \"slowPal\": \"DISABLED\",\n \"parDenominator\": 1,\n \"spatialAdaptiveQuantization\": \"ENABLED\",\n \"temporalAdaptiveQuantization\": \"ENABLED\",\n \"flickerAdaptiveQuantization\": \"ENABLED\",\n