MediaConvert
User Guide

Using Accelerated Transcoding in AWS Elemental MediaConvert

AWS Elemental MediaConvert jobs that create premium content, such as those that incorporate Ultra High Definition (UHD) and High Dynamic Range (HDR) content, can have high computational requirements and can take longer to complete. To reduce the transcoding time required to run these jobs, you can use accelerated transcoding. Consider using accelerated transcoding for jobs that would otherwise take 10 minutes or longer to run.

For example, jobs that generate the following assets might benefit from accelerated transcoding:

  • Ultra High Definition content

  • High dynamic range content in HEVC

  • Any long-duration, visually complex video

Note

Accelerated transcoding is a Professional tier feature. You pay more per minute of transcoded output for outputs that use Professional tier features. For more information about MediaConvert pricing tiers, see MediaConvert Pricing.

Setting Up Accelerated Transcoding in AWS Elemental MediaConvert

You set up accelerated transcoding for your AWS Elemental MediaConvert jobs in the same way that you set up unaccelerated jobs, except that you enable acceleration.

Note

We recommend that you use a dedicated transcoding queue for your accelerated transcoding jobs, to provide isolation between the resources that you use for your accelerated jobs and your other jobs.

To set up your transcoding job with accelerated transcoding (console)

  1. Set up your transcoding job as usual. For more information, see Setting Up a Job in AWS Elemental MediaConvert.

    Make sure that your job input files and output settings conform to the limitations and requirements listed in Job Limitations and Requirements for Accelerated Transcoding in AWS Elemental MediaConvert.

  2. Change your timecode settings from the default value Embedded to Start at zero.

    1. On the Create job page, in the Job pane on the left, under Job settings, choose Settings.

    2. In the Timecode configuration pane, for Source, choose Start at 0.

    3. On the Create job page, in the Job pane on the left, under Inputs, choose the input.

    4. In the Video selector pane, for Timecode source, choose Start at 0.

  3. If you don't already have a dedicated queue for accelerated transcoding jobs, create one. For more information, see Creating an On-Demand Queue in AWS Elemental MediaConvert..

  4. On the Create job page, in the Job pane on the left, in the Job Settings section, choose Settings.

  5. For Acceleration, choose Enabled.

If you use the API or an SDK, you can find this setting in the JSON file of your job, called AccelerationSettings.

Example Accelerated Transcoding JSON Job for AWS Elemental MediaConvert

The following example JSON job converts an MP4 file to another MP4 file that is 720p encoded with H.265. To use this example, replace the settings with your values. At minimum, you must provide values for the following settings:

  • Role: This is the AWS Identity and Access Management (IAM) role that you set up to give AWS Elemental MediaConvert permission to access your input and output Amazon S3 buckets and to access Amazon API Gateway on your behalf. For information about setting up this role, see Set Up IAM Permissions in the AWS Elemental MediaConvert User Guide.

  • Destination: The Amazon S3 bucket where you want MediaConvert to store your output file. Make sure to include a trailing backslash, as in the example.

  • InputClippings: Define the clips that you want transcoded by specifying sets of values for StartTimecode and EndTimecode. Alternatively, you can remove InputClippings entirely to transcode the entire asset.

  • FileInput: Specify the file name and location in Amazon S3 for your input file. Accelerated transcoding is supported with jobs that have only a single input; you can't do input stitching.

{ "Role": "arn:aws:iam::123456789012:role/MediaConvert_Role", "AccelerationSettings" : { "Mode" : "ENABLED" }, "UserMetadata": { "job" : "Acceleration" }, "Settings": { "TimecodeConfig": { "Source": "ZEROBASED" }, "OutputGroups": [ { "Name": "File Group", "Outputs": [ { "ContainerSettings": { "Container": "MP4", "Mp4Settings": { "CslgAtom": "EXCLUDE", "FreeSpaceBox": "EXCLUDE", "MoovPlacement": "NORMAL" } }, "VideoDescription": { "Width": 1280, "ScalingBehavior": "DEFAULT", "Height": 720, "VideoPreprocessors": { "TimecodeBurnin": { "FontSize": 32, "Position": "TOP_CENTER" } }, "TimecodeInsertion": "DISABLED", "AntiAlias": "ENABLED", "Sharpness": 50, "CodecSettings": { "Codec": "H_265", "H265Settings": { "InterlaceMode": "PROGRESSIVE", "ParNumerator": 1, "NumberReferenceFrames": 3, "FramerateDenominator": 1001, "GopClosedCadence": 1, "AlternateTransferFunctionSei": "DISABLED", "HrdBufferInitialFillPercentage": 90, "GopSize": 48, "Slices": 4, "GopBReference": "ENABLED", "HrdBufferSize": 20000000, "SlowPal": "DISABLED", "ParDenominator": 1, "SpatialAdaptiveQuantization": "ENABLED", "TemporalAdaptiveQuantization": "ENABLED", "FlickerAdaptiveQuantization": "DISABLED", "Bitrate": 10000000, "FramerateControl": "INITIALIZE_FROM_SOURCE", "RateControlMode": "CBR", "CodecProfile": "MAIN_MAIN", "Tiles": "ENABLED", "Telecine": "NONE", "FramerateNumerator": 24000, "MinIInterval": 0, "AdaptiveQuantization": "HIGH", "CodecLevel": "LEVEL_5", "SceneChangeDetect": "ENABLED", "QualityTuningLevel": "SINGLE_PASS_HQ", "FramerateConversionAlgorithm": "DUPLICATE_DROP", "UnregisteredSeiTimecode": "DISABLED", "GopSizeUnits": "FRAMES", "ParControl": "SPECIFIED", "NumberBFramesBetweenReferenceFrames": 3, "TemporalIds": "DISABLED", "SampleAdaptiveOffsetFilterMode": "ADAPTIVE" } }, "AfdSignaling": "NONE", "DropFrameTimecode": "ENABLED", "RespondToAfd": "NONE", "ColorMetadata": "INSERT" }, "AudioDescriptions": [ { "AudioTypeControl": "FOLLOW_INPUT", "CodecSettings": { "Codec": "AAC", "AacSettings": { "AudioDescriptionBroadcasterMix": "NORMAL", "Bitrate": 160000, "RateControlMode": "CBR", "CodecProfile": "LC", "CodingMode": "CODING_MODE_2_0", "RawFormat": "NONE", "SampleRate": 48000, "Specification": "MPEG4" } }, "LanguageCodeControl": "FOLLOW_INPUT", "AudioType": 0 } ], "Extension": "mp4", "NameModifier": "1280x720" } ], "OutputGroupSettings": { "Type": "FILE_GROUP_SETTINGS", "FileGroupSettings": { "Destination": "s3://mediaconvert-outputs/accelerated/" } } } ], "AdAvailOffset": 0, "Inputs": [ { "InputClippings": [ { "EndTimecode": "01:00:00:00", "StartTimecode": "00:00:00:00" } ], "AudioSelectors": { "Audio Selector 1": { "Offset": 0, "DefaultSelection": "DEFAULT", "ProgramSelection": 1 } }, "VideoSelector": { "ColorSpace": "FOLLOW" }, "FilterEnable": "AUTO", "PsiControl": "USE_PSI", "FilterStrength": 0, "DeblockFilter": "DISABLED", "DenoiseFilter": "DISABLED", "TimecodeSource": "ZEROBASED", "FileInput": "s3://mediaconvert-inputs/SampleVideo_h264_StereoAudio.mp4" } ] } }

Job Limitations and Requirements for Accelerated Transcoding in AWS Elemental MediaConvert

Before you enable accelerated transcoding, make sure that your job conforms to the following requirements and limitations.

Video Input Requirements

  • Progressive scan type only. Telecine input is not supported.

  • The following table shows the supported video input codecs and containers.

    Container Video Codecs Supported with Container
    IMF JPEG 2000 (J2K)
    MPEG Transport Streams AVC (H.264), HEVC (H.265), MPEG-2, VC-1
    MPEG-4 AVC Intra 50/100, AVC (H.264), HEVC (H.265), MPEG-2
    MXF Apple ProRes, AVC Intra 50/100, AVC (H.264), JPEG 2000 (J2K), MPEG-2, SonyXDCam, SonyXDCam (as an MPEG-2 variant only)
    QuickTime® Apple ProRes, AVC Intra 50/100, AVC (H.264), JPEG 2000 (J2K), MPEG-2

Output Restrictions

  • You can't set up an output for frame capture. That is, you can't choose Frame Capture to JPEG for Video codec in any of your outputs.

  • Use only supported combinations of container and codec. The following table shows the supported video output codecs and containers.

    Container Codecs Supported with Container
    MPEG DASH AVC (H.264), HEVC (H.265)
    MPEG-2 TS AVC (H.264), HEVC (H.265), MPEG-2
    HLS AVC (H.264), HEVC (H.265)
    Smooth (ISMV) AVC (H.264)
    MPEG-4 (.mp4) AVC (H.264), HEVC (H.265)
    MPEG-4 Flash (.f4v) AVC (H.264)
    QuickTime AVC (H.264), MPEG-2
    MXF MPEG-2
    Raw (no container) AVC (H.264), HEVC (H.265), MPEG-2

    Note

    For MPEG-2 TS outputs, to use accelerated transcoding, you must change the default value of CBR for Transport stream settings > Rate mode to VBR.

  • Use only supported output captions formats. Except for the captions in the following list, all of the output captions listed in the general AWS Elemental MediaConvert support tables are supported with accelerated transcoding:

    • Not supported: Burn-in

    • Not supported: SCTE-20

    For a list of supported captions formats, see Captions Support Tables by Output Container Type.

Transcoding Features Not Supported with Accelerated Transcoding

  • Slow PAL

  • Watermarking

  • Avail blanking

  • Motion image inserter (Motion graphic overlay)

  • Interpolated frame rate conversion

  • Frame capture to JPEG

  • VBI passthrough

  • Timecode passthrough

  • SEI timecode

  • Timecode anchor

  • Telecine output

  • Inverse telecine output

  • Open GOP outputs

  • Embedded timecode source

    Note

    With accelerated transcoding, you can set the input setting Timecode source to Embedded, but not the job-wide setting Source under Timecode configuration.

  • Values for Min-I interval other than the default of 0

  • ESAM

  • SCTE-35 passthrough