Amazon Elastic Transcoder · JSON Structure

Amazon Elastic Transcoder Create Job Playlist Structure

Information about the master playlist.

Type: object Properties: 5
Amazon Web ServicesMediaTranscodingVideo

CreateJobPlaylist is a JSON Structure definition published by Amazon Elastic Transcoder, describing 5 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

Name Format OutputKeys HlsContentProtection PlayReadyDrm

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-elastic-transcoder/refs/heads/main/json-structure/amazon-elastic-transcoder-create-job-playlist-structure.json",
  "name": "CreateJobPlaylist",
  "description": "Information about the master playlist.",
  "type": "object",
  "properties": {
    "Name": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Filename"
        },
        {
          "description": "<p>The name that you want Elastic Transcoder to assign to the master playlist, for example, nyc-vacation.m3u8. If the name includes a <code>/</code> character, the section of the name before the last <code>/</code> must be identical for all <code>Name</code> objects. If you create more than one master playlist, the values of all <code>Name</code> objects must be unique.</p> <note> <p> Elastic Transcoder automatically appends the relevant file extension to the file name (<code>.m3u8</code> for <code>HLSv3</code> and <code>HLSv4</code> playlists, and <code>.ism</code> and <code>.ismc</code> for <code>Smooth</code> playlists). If you include a file extension in <code>Name</code>, the file name will have two extensions.</p> </note>"
        }
      ]
    },
    "Format": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PlaylistFormat"
        },
        {
          "description": "The format of the output playlist. Valid formats include <code>HLSv3</code>, <code>HLSv4</code>, and <code>Smooth</code>."
        }
      ]
    },
    "OutputKeys": {
      "allOf": [
        {
          "$ref": "#/components/schemas/OutputKeys"
        },
        {
          "description": "<p>For each output in this job that you want to include in a master playlist, the value of the <code>Outputs:Key</code> object. </p> <ul> <li> <p>If your output is not <code>HLS</code> or does not have a segment duration set, the name of the output file is a concatenation of <code>OutputKeyPrefix</code> and <code>Outputs:Key</code>:</p> <p>OutputKeyPrefix<code>Outputs:Key</code> </p> </li> <li> <p>If your output is <code>HLSv3</code> and has a segment duration set, or is not included in a playlist, Elastic Transcoder creates an output playlist file with a file extension of <code>.m3u8</code>, and a series of <code>.ts</code> files that include a five-digit sequential counter beginning with 00000:</p> <p>OutputKeyPrefix<code>Outputs:Key</code>.m3u8</p> <p>OutputKeyPrefix<code>Outputs:Key</code>00000.ts</p> </li> <li> <p>If your output is <code>HLSv4</code>, has a segment duration set, and is included in an <code>HLSv4</code> playlist, Elastic Transcoder creates an output playlist file with a file extension of <code>_v4.m3u8</code>. If the output is video, Elastic Transcoder also creates an output file with an extension of <code>_iframe.m3u8</code>:</p> <p>OutputKeyPrefix<code>Outputs:Key</code>_v4.m3u8</p> <p>OutputKeyPrefix<code>Outputs:Key</code>_iframe.m3u8</p> <p>OutputKeyPrefix<code>Outputs:Key</code>.ts</p> </li> </ul> <p>Elastic Transcoder automatically appends the relevant file extension to the file name. If you include a file extension in Output Key, the file name will have two extensions.</p> <p>If you include more than one output in a playlist, any segment duration settings, clip settings, or caption settings must be the same for all outputs in the playlist. For <code>Smooth</code> playlists, the <code>Audio:Profile</code>, <code>Video:Profile</code>, and <code>Video:FrameRate</code> to <code>Video:KeyframesMaxDist</code> ratio must be the same for all outputs.</p>"
        }
      ]
    },
    "HlsContentProtection": {
      "allOf": [
        {
          "$ref": "#/components/schemas/HlsContentProtection"
        },
        {
          "description": "The HLS content protection settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist."
        }
      ]
    },
    "PlayReadyDrm": {
      "allOf": [
        {
          "$ref": "#/components/schemas/PlayReadyDrm"
        },
        {
          "description": "The DRM settings, if any, that you want Elastic Transcoder to apply to the output files associated with this playlist."
        }
      ]
    }
  }
}