AWS::MediaConvert::Preset - Amazon CloudFormation
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

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 Amazon 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 Amazon 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

Tags

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 Amazon 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

  1. Create an output preset using the MediaConvert https://console.amazonaws.cn/mediaconvert/. For more information, see Working with AWS Elemental MediaConvert Output Presets.

  2. Use the Amazon 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'

  3. 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