Working with ID3 metadata - MediaLive

Working with ID3 metadata

In MediaLive, you can include ID3 metadata in the following types of output groups:

The metadata is associated with individual outputs within the output group. You have control over the individual output where you want to include it. Typically, you include the metadata in an output if you know that a downstream system expects the metadata and is capable of interpreting it. You should obtain the requirements for ID3 metadata from a representative of the downstream system.

Different mechanisms for including metadata

You can include metadata in the following ways.

  • Passthrough. You pass through metadata that is already present in the source input. You set up to include this metadata when you create or modify the channel.

  • Insert a timestamp at a regular interval. You set up to include this metadata when you create or modify the channel. See Inserting ID3 metadata when creating the MediaLive channel.

  • Insert metadata once, at a specified time. You insert this metadata by creating an action in the channel schedule. See Inserting ID3 metadata using the schedule.

  • Insert metadata in every segment. You insert this metadata by creating an action in the channel schedule. You insert the action as plain text, using the tag option, or as base64, using the ID3 option. See Inserting ID3 metadata using the schedule.

The different mechanisms are supported in specific types of output groups. You set up each output group separately. The following table specifies the different mechanisms that the different output groups support. If a cell is empty, then the output group doesn't support that mechanism.

Mechanism Archive HLS TS HLS MP4 HLS audio-only MediaPackage UDP
Passthrough Supported Supported Supported Supported Supported
Timestamp Supported Supported Supported Supported
One-time insertion, using the schedule Supported Supported Supported
Segment insertion with the tag option, using the schedule Supported Supported Supported Supported
Segment insertion with the ID3 option, using the schedule Supported

Scope of the insertion

You configure each mechanism separately, and you configure each mechanism at the output level. You can configure one group of outputs with one mechanism, and another group or an overlapping group with another mechanism. Each mechanism as its own scope. In the following table, read across each row to determine the scope of the mechanism.

Mechanism First condition Second condition Third condition
Passthrough All the outputs where you have enabled metadata passthrough And that support passthrough
Timestamp All the outputs where you have enabled metadata passthrough And that support timestamp And where you have configured the output group for timestamp
One-time insertion, using the schedule All the outputs where you have enabled metadata passthrough And that support one-time insertion
Segment insertion with the tag option, using the schedule All the outputs where you have enabled metadata passthrough And that support segment tags And where you have enabled segment tagging in the output group
Segment insertion with the ID3 option, using the schedule All the outputs where you have enabled metadata passthrough And that are audio-only outputs And where you have enabled segment tagging in the output

Frames, ID3 tags, PIDs

The metadata is inserted into a specific ID3 frame (for example, TXXX). The frame is inserted in an ID3 tag. The ID3 tag goes in a PID (for a TS output) or the emsg event (for an MP4 output).

Frame types

The container types are set as follows for each mechanism.

Container type Passthrough Insert a timestamp Insert metadata once Insert metadata in every segment
The ID3 frame MediaLive supports passing through any frame type, including PRIV or TDRL. PRIV or TDRL. You specify the frame type. Any frame type. You specify the frame type. TXXX.

PID for the ID3 tag

With TS output groups, all the mechanisms for ID3 metadata insert the ID3 tag in the same PID. The default is 502, but you have the option to override the default in any output group.