AWS::MediaConvert::Preset
The AWS::MediaConvert::Preset resource is an AWS Elemental MediaConvert resource type that you can use to specify encoding settings for a single output in a transcoding job.
When you declare this entity in your AWS CloudFormation template, you pass in your
transcoding job settings in JSON or YAML format. This settings specification must be
formed in a particular way that conforms to AWS Elemental MediaConvert job validation. For
more information about creating an output preset model for the SettingsJson
property, see the Remarks section later in this topic.
For more information about output MediaConvert presets, see Working with AWS Elemental MediaConvert Output Presets in the AWS Elemental MediaConvert User Guide .
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::MediaConvert::Preset", "Properties" : { "Category" :
String
, "Description" :String
, "Name" :String
, "SettingsJson" :Json
, "Tags" :[
} }Tag
, ... ]
YAML
Type: AWS::MediaConvert::Preset Properties: Category:
String
Description:String
Name:String
SettingsJson:Json
Tags:-
Tag
Properties
Category
-
The new category for the preset, if you are changing it.
Required: No
Type: String
Update requires: No interruption
Description
-
The new description for the preset, if you are changing it.
Required: No
Type: String
Update requires: No interruption
Name
-
The name of the preset that you are modifying.
Required: No
Type: String
Update requires: Replacement
SettingsJson
-
Specify, in JSON format, the transcoding job settings for this output preset. This specification must conform to the AWS Elemental MediaConvert job validation. For information about forming this specification, see the Remarks section later in this topic.
For more information about MediaConvert output presets, see Working with AWS Elemental MediaConvert Output Presets in the AWS Elemental MediaConvert User Guide .
Required: Yes
Type: Json
Update requires: No interruption
-
An array of key-value pairs to apply to this resource.
For more information, see Tag.
Required: No
Type: Array of
Tag
Update requires: No interruption
Return values
Ref
When you pass the logical ID of an AWS::MediaConvert::Preset
resource to
the intrinsic Ref
function, the function returns the name of the output
preset, such as HEVC high res
.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
Arn
-
The Amazon Resource Name (ARN) of the output preset, such as
arn:aws:mediaconvert:us-west-2:123456789012
. Name
-
The name of the output preset, such as
HEVC high res
.
Remarks
Creating an Ouput Preset Model for the SettingsJson Property
When you declare an AWS::MediaConvert::Preset entity in your AWS CloudFormation
template, you pass in your transcoding job settings as the value for the property
SettingsJson
. This settings specification must be in in JSON or
YAML format and must conform to AWS Elemental MediaConvert job validation.
The following procedure is for generating the specification in JSON. If you need it in YAML, you can create it in JSON and use a conversion utility.
To create a JSON job template model for
SettingsJson
-
Create an output preset using the MediaConvert https://console.aws.amazon.com/mediaconvert/
. For more information, see Working with AWS Elemental MediaConvert Output Presets. -
Use the AWS CLI to get just the settings structure using the following command:
aws mediaconvert https://abcd1234.mediaconvert.region-name-1.amazonaws.com get-preset --name HEVC-high-res --query 'Preset.Settings'
-
Copy the settings as the value for the property
SettingsJson
.
For an example output preset model in JSON and YAML, see the Examples section of this topic.
Examples
Output Preset Model for SettingsJson
For more information about creating an output preset model in JSON or YAML for
the SettingsJson
property, see the Remarks section of this
topic.
JSON
{ "AudioDescriptions": [ { "AudioType": 0, "AudioTypeControl": "FOLLOW_INPUT", "CodecSettings": { "AacSettings": { "AudioDescriptionBroadcasterMix": "NORMAL", "Bitrate": 160000, "CodecProfile": "LC", "CodingMode": "CODING_MODE_2_0", "RateControlMode": "CBR", "RawFormat": "NONE", "SampleRate": 48000, "Specification": "MPEG4" }, "Codec": "AAC" }, "LanguageCodeControl": "FOLLOW_INPUT" } ], "ContainerSettings": { "Container": "MP4", "Mp4Settings": { "CslgAtom": "EXCLUDE", "FreeSpaceBox": "EXCLUDE", "MoovPlacement": "NORMAL" } }, "VideoDescription": { "AfdSignaling": "NONE", "AntiAlias": "ENABLED", "CodecSettings": { "Codec": "H_265", "H265Settings": { "AdaptiveQuantization": "HIGH", "AlternateTransferFunctionSei": "DISABLED", "Bitrate": 10000000, "CodecLevel": "LEVEL_5", "CodecProfile": "MAIN_MAIN", "FlickerAdaptiveQuantization": "DISABLED", "FramerateControl": "SPECIFIED", "FramerateConversionAlgorithm": "DUPLICATE_DROP", "FramerateDenominator": 1001, "FramerateNumerator": 24000, "GopBReference": "ENABLED", "GopClosedCadence": 1, "GopSize": 48.0, "GopSizeUnits": "FRAMES", "HrdBufferInitialFillPercentage": 90, "HrdBufferSize": 20000000, "InterlaceMode": "PROGRESSIVE", "MinIInterval": 0, "NumberBFramesBetweenReferenceFrames": 3, "NumberReferenceFrames": 3, "ParControl": "SPECIFIED", "ParDenominator": 1, "ParNumerator": 1, "QualityTuningLevel": "SINGLE_PASS", "RateControlMode": "CBR", "SampleAdaptiveOffsetFilterMode": "ADAPTIVE", "SceneChangeDetect": "ENABLED", "Slices": 4, "SlowPal": "DISABLED", "SpatialAdaptiveQuantization": "ENABLED", "Telecine": "NONE", "TemporalAdaptiveQuantization": "ENABLED", "TemporalIds": "DISABLED", "Tiles": "ENABLED", "UnregisteredSeiTimecode": "DISABLED" } }, "ColorMetadata": "INSERT", "DropFrameTimecode": "ENABLED", "Height": 2160, "RespondToAfd": "NONE", "ScalingBehavior": "DEFAULT", "Sharpness": 50, "TimecodeInsertion": "DISABLED", "VideoPreprocessors": { "Deinterlacer": { "Algorithm": "INTERPOLATE", "Control": "NORMAL", "Mode": "DEINTERLACE" } }, "Width": 3840 } }
YAML
--- AudioDescriptions: - AudioType: 0 AudioTypeControl: FOLLOW_INPUT CodecSettings: AacSettings: AudioDescriptionBroadcasterMix: NORMAL Bitrate: 160000 CodecProfile: LC CodingMode: CODING_MODE_2_0 RateControlMode: CBR RawFormat: NONE SampleRate: 48000 Specification: MPEG4 Codec: AAC LanguageCodeControl: FOLLOW_INPUT ContainerSettings: Container: MP4 Mp4Settings: CslgAtom: EXCLUDE FreeSpaceBox: EXCLUDE MoovPlacement: NORMAL VideoDescription: AfdSignaling: NONE AntiAlias: ENABLED CodecSettings: Codec: H_265 H265Settings: AdaptiveQuantization: HIGH AlternateTransferFunctionSei: DISABLED Bitrate: 10000000 CodecLevel: LEVEL_5 CodecProfile: MAIN_MAIN FlickerAdaptiveQuantization: DISABLED FramerateControl: SPECIFIED FramerateConversionAlgorithm: DUPLICATE_DROP FramerateDenominator: 1001 FramerateNumerator: 24000 GopBReference: ENABLED GopClosedCadence: 1 GopSize: 48.0 GopSizeUnits: FRAMES HrdBufferInitialFillPercentage: 90 HrdBufferSize: 20000000 InterlaceMode: PROGRESSIVE MinIInterval: 0 NumberBFramesBetweenReferenceFrames: 3 NumberReferenceFrames: 3 ParControl: SPECIFIED ParDenominator: 1 ParNumerator: 1 QualityTuningLevel: SINGLE_PASS RateControlMode: CBR SampleAdaptiveOffsetFilterMode: ADAPTIVE SceneChangeDetect: ENABLED Slices: 4 SlowPal: DISABLED SpatialAdaptiveQuantization: ENABLED Telecine: NONE TemporalAdaptiveQuantization: ENABLED TemporalIds: DISABLED Tiles: ENABLED UnregisteredSeiTimecode: DISABLED ColorMetadata: INSERT DropFrameTimecode: ENABLED Height: 2160 RespondToAfd: NONE ScalingBehavior: DEFAULT Sharpness: 50 TimecodeInsertion: DISABLED VideoPreprocessors: Deinterlacer: Algorithm: INTERPOLATE Control: NORMAL Mode: DEINTERLACE Width: 384