Bitmovin VOD Configuration

The bitmovin configurations can be found in:

  • {System-System bucket}/configuration/transcode-templates/
  • Your system includes dash and hls examples.

General layout

  1. Configurations
    1. Audio
      1. Defines 1 or more specific audio configurations
        1. aac, 128k
    2. Video
      1. Defines 1 or more video configurations
  2. AudioCodecs
    1. Defines a codec configuration for a specific audio codec
      1. Only 1 audio codec is supported at this time.
  3. VideoCodecs
    1. Defines 1 or more codec configurations for a specific video codec
  4. Manifest
    1. Defines a manifest

Example

{
  "configurations": {
    "audio": [
      {
        "name": "NOMAD_AAC_256K",
        "documentationUrl": "https://developer.bitmovin.com/encoding/reference/postencodingconfigurationsaudioaac",
        "postUrl": "https://api.bitmovin.com/v1/encoding/configurations/audio/aac",
        "postJson": {
          "channelLayout": "NONE",
          "name": "NOMAD_AAC_256K",
          "bitrate": 256000,
          "rate": 44100,
          "cutoffFrequency": 10000
        }
      }
    ],
    "video": [
      {
        "name": "NOMAD_DEFAULT_2000K",
        "documentationUrl": "https://developer.bitmovin.com/encoding/reference/postencodingconfigurationsvideoh264",
        "postUrl": "https://api.bitmovin.com/v1/encoding/configurations/video/h264",
        "postJson": {
          "name": "NOMAD_DEFAULT_2000K",
          "bitrate": 2000000,
          "profile": "MAIN"
        }
      }
    ]
  },
  "audioCodecs": [
    {
      "name": "NOMAD_AAC_256K",
      "type": "AAC",
      "documentationUrl": "https://developer.bitmovin.com/encoding/reference/postencodingencodingsmuxingsfmp4byencodingid",
      "postUrl": "https://api.bitmovin.com/v1/encoding/encodings/{{ENCODING_ID}}/muxings/fmp4",
      "postJson": {
        "name": "NOMAD_AAC_256K",
        "streamConditionsMode": "DROP_MUXING",
        "segmentLength": 4,
        "segmentNaming": "{{BASE_FILE_NAME}}_DASH_1080_AUDIO_%number%.mp4",
        "initSegmentName": "{{BASE_FILE_NAME}}_DASH_1080_AUDIO_INIT.mp4",
        "streams": "{{STREAM_IDS_LIST}}",
        "outputs": [
          {
            "outputId": "{{OUTPUT_ID}}",
            "outputPath": "{{OUTPUT_PATH}}",
            "acl": [
              {
                "permission": "PRIVATE"
              }
            ]
          }
        ]
      }
    }
  ],
  "videoCodecs": [
    {
      "name": "NOMAD_DEFAULT_2000K",
      "type": "DASH",
      "height": 1080,
      "documentationUrl": "https://developer.bitmovin.com/encoding/reference/postencodingencodingsmuxingsfmp4byencodingid",
      "postUrl": "https://api.bitmovin.com/v1/encoding/encodings/{{ENCODING_ID}}/muxings/fmp4",
      "postJson": {
        "name": "NOMAD_DEFAULT_2000K",
        "ptsAlignMode": "ALIGN_ZERO_NEGATIVE_CTO",
        "streamConditionsMode": "DROP_MUXING",
        "segmentLength": 4,
        "segmentNaming": "{{BASE_FILE_NAME}}_1080_%number%.mp4",
        "initSegmentName": "{{BASE_FILE_NAME}}_1080init.mp4",
        "streams": "{{STREAM_IDS_LIST}}",
        "outputs": [
          {
            "outputId": "{{OUTPUT_ID}}",
            "outputPath": "{{OUTPUT_PATH}}",
            "acl": [
              {
                "permission": "PRIVATE"
              }
            ]
          }
        ]
      }
    },
    {
      "name": "NOMAD_640_360_850K",
      "type": "DASH",
      "height": 360,
      "documentationUrl": "https://developer.bitmovin.com/encoding/reference/postencodingencodingsmuxingsfmp4byencodingid",
      "postUrl": "https://api.bitmovin.com/v1/encoding/encodings/{{ENCODING_ID}}/muxings/fmp4",
      "postJson": {
        "name": "NOMAD_640_360_850K",
        "ptsAlignMode": "ALIGN_ZERO_NEGATIVE_CTO",
        "streamConditionsMode": "DROP_MUXING",
        "segmentLength": 4,
        "segmentNaming": "{{BASE_FILE_NAME}}_360_%number%.mp4",
        "initSegmentName": "{{BASE_FILE_NAME}}_360init.mp4",
        "streams": "{{STREAM_IDS_LIST}}",
        "outputs": [
          {
            "outputId": "{{OUTPUT_ID}}",
            "outputPath": "{{OUTPUT_PATH}}",
            "acl": [
              {
                "permission": "PRIVATE"
              }
            ]
          }
        ]
      }
    }
  ],
  "manifest": {
    "name": "DASH_MANIFEST",
    "type": "DASH",
    "documentationUrl": "https://developer.bitmovin.com/encoding/reference/postencodingmanifestsdashdefault",
    "postUrl": "https://api.bitmovin.com/v1/encoding/manifests/dash/default",
    "postJson": {
      "profile": "LIVE",
      "version": "V2",
      "name": "{{BASE_FILE_NAME}}_DASH",
      "outputs": [
        {
          "outputId": "{{OUTPUT_ID}}",
          "outputPath": "{{OUTPUT_PATH}}",
          "acl": [
            {
              "permission": "PRIVATE"
            }
          ]
        }
      ],
      "manifestName": "{{BASE_FILE_NAME}}.mpd",
      "dashEditionCompatibility": "V4",
      "encodingId": "{{ENCODING_ID}}"
    }
  }
}
📘

TOKENS

items wrapped with {{}} are tokens that get replaced with a hard coded value during processing.

example: {{ENCODING_ID}} --> 8675-aeiou-309