

# Accelerated transcoding
Accelerated transcodingAccelerated transcoding

MediaConvert added Accelerated transcoding support for Matroska inputs.Have AWS Elemental MediaConvert automatically choose Accelerated transcoding for jobs that are compatible

You can now set Accelerated transcoding to PREFERRED, to have the service fall back to standard transcoding when your inputs or job settings aren't compatible with Accelerated transcoding.

AWS Elemental MediaConvert jobs that create premium content may have high computational requirements and can take longer to complete. Such jobs may include Ultra High Definition (UHD) or High Dynamic Range (HDR) content. 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](https://aws.amazon.com/mediaconvert/pricing/).

**Topics**
+ [

# Configuring a job with Accelerated transcoding
](setting-up-accelerated-transcoding.md)
+ [

# Example accelerated transcoding job settings JSON
](sample-acceleration-job-settings-in-json.md)
+ [

# Accelerated transcoding job settings requirements
](job-requirements.md)

# Configuring a job with Accelerated transcoding
Configuring accelerated transcoding

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. This will 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 [Tutorial: Configuring job settings](setting-up-a-job.md).

   Make sure that your job input files and output settings conform to the limitations and requirements listed in [Accelerated transcoding job settings requirements](job-requirements.md).

1. 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**.

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

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

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

1. If you don't already have a dedicated queue for Accelerated transcoding jobs, create one. For more information, see [Creating a queue](creating-queues.md).

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

1. For **Acceleration**, choose **Enabled** or **Preferred**.

   With both **Enabled** and **Preferred**, if your input files and transcoding settings are compatible with accelerated transcoding, MediaConvert runs the job with Accelerated transcoding. 

   If your input files or transcoding settings aren't compatible with accelerated transcoding, MediaConvert handles the job differently, depending on the value that you set for **Acceleration**:
   + **Enabled** – The service fails the incompatible job.
   + **Preferred** – The service runs the job without Accelerated transcoding.

     Setting **Acceleration** to **Preferred** incurs Professional tier pricing only when MediaConvert runs the job with Accelerated transcoding.

   For more information about what files and settings are compatible with Accelerated transcoding, see [Accelerated transcoding job settings requirements](job-requirements.md).

If you use the API or an SDK, you can find this setting in the JSON file of your job. The setting name is AccelerationMode, under [AccelerationSettings](https://docs.aws.amazon.com/mediaconvert/latest/apireference/jobs.html#jobs-prop-createjobrequest-accelerationsetting).

# Example accelerated transcoding job settings JSON
Example JSON

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](https://docs.aws.amazon.com/mediaconvert/latest/ug/iam-role.html) 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 for your input file. Your file input can be an Amazon S3 object or an HTTP URL.

  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://amzn-s3-demo-bucket1/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://amzn-s3-demo-bucket/SampleVideo_h264_StereoAudio.mp4"
      }
    ]
  }
}
```

# Accelerated transcoding job settings requirements
RequirementsUse Accelerated transcoding with frame capture

You can now use Accelerated transcoding for jobs that include frame capture outputs.Use Accelerated transcoding with slow PAL

You can now use Accelerated transcoding for slow PAL jobs.

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

**Video inputs supported with Accelerated transcoding**  
The following table shows the video input codecs and containers that MediaConvert supports with Accelerated transcoding.


| Container | Video Codecs Supported with Container | 
| --- | --- | 
| HLS (MPEG-2 TS segments) | AVC (H.264), HEVC (H.265) | 
| IMF | JPEG 2000 (J2K) | 
| Matroska | AVC (H.264), MPEG-2, MPEG-4 part 2, VC-1 | 
| 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), DVCPro HD, JPEG 2000 (J2K), MPEG-2, SonyXDCam, SonyXDCam (as an MPEG-2 variant only), VC-3 | 
| QuickTime | Apple ProRes, AVC Intra 50/100, AVC (H.264), JPEG 2000 (J2K), MPEG-2 | 

**Note**  
For HLS inputs, your package must conform to the requirements listed in [HLS input requirements](using-hls-inputs.md#hls-input-package-requirements).

**Video outputs supported with Accelerated transcoding**  
The following table shows the video output codecs and containers that MediaConvert supports with Accelerated transcoding.


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

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

**Output restrictions:**
+ Your output must have a video component. MediaConvert doesn't support Accelerated transcoding with audio-only outputs.
+ Use only supported combinations of container and codec. The preceding table shows the supported video output codecs and containers.
+ Use any output audio codec other than Dolby Atmos. MediaConvert doesn't support Accelerated transcoding with Dolby Atmos.
+ Use only supported output captions formats. For Accelerated transcoding, MediaConvert doesn’t support the following output captions formats:
  + Not supported: Burn-in
  + Not supported: SCTE-20

  For a list of supported captions formats, see [Supported input captions, within video containers](captions-support-tables-by-container-type.md).

**Transcoding features not supported with Accelerated transcoding:**
+ Avail blanking
+ Motion image inserter
+ Interpolated frame rate conversion
+ VBI passthrough
+ Timecode passthrough
+ SEI timecode
+ Timecode anchor
+ Telecine output
+ Inverse telecine output
+ Embedded timecode source
  + Note: You can set the input setting **Timecode source** to **Embedded**, but not the job-wide setting **Source** under **Timecode configuration**.
+ Black video generator
+ Pad video
+ Inputs with variable frame rates (other than MOV/MP4 inputs, which *are* supported)
+ Inputs with discontinuities