Media Containers

container

Represents a specific type of file containing video, audio and subtitle media streams.

Property

Type

Description

name

string

Uniquely identifies the container.

type

string

Four character code that identifies the container implementation.

size

integer

Size of the container file (or files) in bytes.

path

string

File system path to the primary container file.

start

string

Start time or timecode in HH:MM:SS.SSS or HH:MM:SS:FF.

end

string

End time or timecode in HH:MM:SS.SSS or HH:MM:SS:FF.

duration

string

Duration of the container in HH:MM:SS.SSS.

optional

boolean

Indicates whether a composition input container is optional.

If the input container is not supplied all output stream references are removed from the composition.

manifest

array

Lists the relative or absolute path of each file referenced by the container.

template

array

Provides the path template for each file produced by the container.

properties

object

Container specific properties.

extension

array

Lists the container property extensions.

encryption

object

Describes the encryption and protection systems applied to the container.

track

array

Lists each video, audio or subtitle track in the container

video

array

Lists each video stream in the container.

audio

array

Lists each audio stream in the container.

subtitle

array

Lists each subtitle stream in the container.

package

Represents a a specific type of adaptive bit rate (ABR) package.

Property

Type

Description

name

string

Uniquely identifies the package.

type

string

Four character code that identifies the package implementation.

path

string

File system path to the package folder.

manifest

array

Lists the relative or absolute path of each file referenced by the package.

template

array

Provides the path template for each file produced by the package.

properties

object

Package specific properties.

encryption

object

Describes the encryption and protection systems applied to the package.

video

array

Lists each video stream in the package.

audio

array

Lists each audio stream in the package.

subtitle

array

Lists each subtitle stream in the package.

container

array

Lists each variant container in the package.

manifest

A manifest contains a list of the absolute or relative file paths referenced (or produced) by a media container or package. For example the following illustrates the manifest for a typical Interoperable Master Format (IMF) container:

---
type: 'imf '
name: output1
manifest:
- CPL_dcd70179-817c-47e1-9654-03070ae5a855.xml
- VOLINDEX.xml
- ASSETMAP.xml
- PKL_a0be0813-fa4f-49f1-b2b9-3509e6fbeee8.xml
- OPL_f191e003-e035-4ea3-964d-410883a73359.xml
- 71e42f65-b344-403c-b2a9-bcab6d271059.mxf
- dc377ae4-dda5-4783-b0f0-288d36464e2d_en_51.mxf
- 7040fd1e-f419-432c-8b3e-098ce44cbc84_en_20.mxf
- fda0098f-b6ef-4fdb-b7a7-626d80db7e1e_en_tt.mxf
{
  "type": "imf ",
  "name": "output1",
  "manifest": [
    "CPL_dcd70179-817c-47e1-9654-03070ae5a855.xml",
    "VOLINDEX.xml",
    "ASSETMAP.xml",
    "PKL_a0be0813-fa4f-49f1-b2b9-3509e6fbeee8.xml",
    "OPL_f191e003-e035-4ea3-964d-410883a73359.xml",
    "71e42f65-b344-403c-b2a9-bcab6d271059.mxf",
    "dc377ae4-dda5-4783-b0f0-288d36464e2d_en_51.mxf",
    "7040fd1e-f419-432c-8b3e-098ce44cbc84_en_20.mxf",
    "fda0098f-b6ef-4fdb-b7a7-626d80db7e1e_en_tt.mxf"
  ]
}

The first entry in the manifest represents the primary file path. The remaining manifest entries represent secondary files referenced by the primary file.

template

A template is used to construct a path for each file produced by a container or package.

Property

Type

Description

name

string

Uniquely identifies the file. Each container and package type defines a set names.

path

string

The path template for the file.

For example the following composition illustrates a typical template for an Interoperable Master Format (IMF) container:

---
output:
  container:
  - type: 'imf '
    name: output1
    template:
    - name: assetmap
      path: ASSETMAP.xml
    - name: volindex
      path: VOLINDEX.xml
    - name: cpl
      path: CPL_$title$.xml
    - name: pkl
      path: PKL_$uuid$.xml
    - name: opl
      path: OPL_$uuid$.xml
    - name: video
      path: $title$.mxf
    - name: ancillary
      path: $title$_anc.mxf
    - name: audio
      path: $title$_$language$_$layout$.mxf
    - name: subtitle
      path: $title$_$language$_$format$.mxf
{
  "output": {
    "container": [
      {
        "type": "imf ",
        "name": "output1",
        "template": [
          {
            "name": "assetmap",
            "path": "ASSETMAP.xml"
          },
          {
            "name": "volindex",
            "path": "VOLINDEX.xml"
          },
          {
            "name": "cpl",
            "path": "CPL_$title$.xml"
          },
          {
            "name": "pkl",
            "path": "PKL_$uuid$.xml"
          },
          {
            "name": "opl",
            "path": "OPL_$uuid$.xml"
          },
          {
            "name": "video",
            "path": "$title$.mxf"
          },
          {
            "name": "ancillary",
            "path": "$title$_anc.mxf"
          },
          {
            "name": "audio",
            "path": "$title$_$language$_$layout$.mxf"
          },
          {
            "name": "subtitle",
            "path": "$title$_$language$_$format$.mxf"
          }
        ]
      }
    ]
  }
}

encryption

Represents the encryption applied to a container or package.

Property

Type

Description

key

array

Lists the encryption keys applied to the package.

protection

array

Lists the protection systems available to retrieve encryption keys.

key

Represents an encryption key value.

Property

Type

Description

id

string

Uniquely identifies the key (KID).

seed

string

PlayReady seed value used to generate encryption keys.

uri

string

Identifies a resource containing the key. Typcially the location of the license server.

value

string

Encryption key value.

iv

string

Initialization vector.

protection

Represents a specific type of protection system such as PlayReady, WideVine or FairPlay.

Property

Type

Description

type

string

Four character code identifying the type of protection system.

track

Lists the video, audio and subtitle tracks in a container. By default each media stream represents a track in the container.

Property

Type

Description

video

array

Lists each video track in the container.

audio

array

Lists each audio track in the container.

subtitle

array

Lists each subtitle track in the container.

The select operator maps specific tracks (or audio channels) to an input media stream. Track properties are used to match a track (or channel) to a media stream.

The layout operator maps an output stream (or channels) to specific tracks. Track properties are used to route a media stream (or channel) to a track.

For example the following composition routes a stereo audio stream from channels 1 and 2 in the input container to channels 7 and 8 in the output container (channels 1 through 6 will be silent):

---
input:
  container:
  - name: input1
    audio:
    - name: stereo
      channels: 2
      select:
        channel:
        - 1
        - 2
output:
  container:
  - name: output1
    track:
      audio:
      - channels: 8
    audio:
    - name: stereo
      layout:
        channel:
        - 7
        - 8

Did this page help you?