Media Containers
container
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
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
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
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
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
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
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
track
Lists the video, audio and subtitle tracks in a container. By default each media stream represents a 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
Updated about 1 year ago