Working with ID3 metadata
In MediaLive, you can include ID3 metadata in the following types of output groups:
-
Archive
-
HLS TS (transport stream)
-
HLS MP4
-
HLS audio-only. This is an HLS MP4 output group that contains only audio encodes.
-
MediaPackage
-
UDP.
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.