Skip to content

JobTemplate

The JobTemplate resource allows you to manage AWS MediaConvert JobTemplates for video transcoding workflows. JobTemplates define the settings used for transcoding video files, enabling consistent processing and output.

Minimal Example

Create a basic JobTemplate with required properties and one optional property for category.

ts
import AWS from "alchemy/aws/control";

const basicJobTemplate = await AWS.MediaConvert.JobTemplate("basicJobTemplate", {
  settingsJson: {
    // Example settings for video transcoding
    Version: "2019-06-01",
    JobTemplate: "Basic",
    Outputs: [{
      ContainerSettings: {
        Container: "MP4"
      },
      VideoDescription: {
        CodecSettings: {
          Codec: "H.264"
        }
      }
    }]
  },
  Category: "Standard Transcoding"
});

Advanced Configuration

Configure a JobTemplate with acceleration settings and multiple output specifications for enhanced performance.

ts
const advancedJobTemplate = await AWS.MediaConvert.JobTemplate("advancedJobTemplate", {
  settingsJson: {
    // Example settings for video transcoding with multiple outputs
    Version: "2019-06-01",
    JobTemplate: "Advanced",
    Outputs: [{
      ContainerSettings: {
        Container: "MP4"
      },
      VideoDescription: {
        CodecSettings: {
          Codec: "H.264"
        }
      }
    },
    {
      ContainerSettings: {
        Container: "MKV"
      },
      VideoDescription: {
        CodecSettings: {
          Codec: "H.265"
        }
      }
    }]
  },
  AccelerationSettings: {
    Mode: "TRANSCODE"
  },
  Priority: 1
});

Custom Settings with Tags

Create a JobTemplate that includes custom settings and tags for better organization.

ts
const taggedJobTemplate = await AWS.MediaConvert.JobTemplate("taggedJobTemplate", {
  settingsJson: {
    // Example settings for video transcoding with specific configurations
    Version: "2019-06-01",
    JobTemplate: "Tagged",
    Outputs: [{
      ContainerSettings: {
        Container: "MP4"
      },
      VideoDescription: {
        CodecSettings: {
          Codec: "H.264"
        }
      }
    }]
  },
  Tags: {
    Project: "Video Production",
    Environment: "Production"
  }
});

JobTemplate with Queue and Status Update Interval

Define a JobTemplate that specifies a queue for job processing and a status update interval for monitoring.

ts
const queuedJobTemplate = await AWS.MediaConvert.JobTemplate("queuedJobTemplate", {
  settingsJson: {
    // Example settings for video transcoding with specified queue
    Version: "2019-06-01",
    JobTemplate: "Queued",
    Outputs: [{
      ContainerSettings: {
        Container: "MP4"
      },
      VideoDescription: {
        CodecSettings: {
          Codec: "H.264"
        }
      }
    }]
  },
  Queue: "arn:aws:mediaconvert:us-east-1:123456789012:queues/Default",
  StatusUpdateInterval: "SECONDS_15"
});