Example Transcoder Configuration File

<?xml version="1.0" encoding="UTF-8"?>
<service-definition xmlns="http://xmlns.escenic.com/2012/transcoder-service"
                    xmlns:ui="http://xmlns.escenic.com/2008/interface-hints">
  <pipelines>
    <pipeline default="true" name="low-priority">
      <ui:title>Normal</ui:title>
      <id>pipeline-id</id>
    </pipeline>
    <pipeline name="high-priority">
      <ui:title>High priority</ui:title>
      <id>pipeline-id</id>
    </pipeline>
  </pipelines>
  <presetGroups>
    <presetGroup type="video" name="low-res">
      <ui:title>Low resolution videos</ui:title>
      <presets>
        <preset id="preset-id">
          <thumbnails/>
        </preset>
        <preset id="preset-id"/>
        <preset id="preset-id"/>
      </presets>
    <presetGroup type="video" name="high-res" default="true">
      <ui:title>High resolution videos</ui:title>
      <presets>
        <preset id="preset-id">
          <thumbnails/>
        </preset>
        <preset id="preset-id"/>
        <preset id="preset-id"/>
        <preset id="hls-preset-id"/>
        <preset id="hls-preset-id"/>
        <preset id="hls-preset-id"/>
      </presets>
    </presetGroup>
  </presetGroups>
</service-definition>

This example defines a service that provides two pipelines and two preset groups. pipeline-id and preset-id in a real service definition file would be replaced by Elastic Transcoder IDs - long, unique strings of characters generated when you create a pipeline or preset. Note the following:

  • Two pipelines, one of which is for high priority jobs, is a typical set-up. There is no actual difference between the two pipelines. The idea is that most jobs are put in the "normal" pipeline, which may result in long queues during busy periods. Since the "high priority" pipeline is reserved for occasional high priority jobs, long queues should not arise. The prioritization mechanism is therefore dependent on disciplined use.

  • A preset group is a group of Elastic transcoder presets suitable for a particular purpose: in the example above, low-res contains the presets needed to convert low-resolution videos to all the required output formats. high-res does the same for high resolution videos, and includes a set of HLS presets that are combined to form an HLS stream. See Using HLS Video Presets for more about this. What preset groups you create is entirely determined by your particular requirements.

  • A preset group must contain either only audio presets or only video presets, and must have a type attribute indicating what kind of preset group it is.

  • One preset group of each type (audio and video) must have the attribute default="true" set.

  • The ui:title elements are used to specify the names displayed in Content Studio pipeline and preset group selection controls.