Ingesting Ancillary Data from SMPTE-2038 in an MPEG-2 TS - AWS Elemental Live

This is version 2.18 of the AWS Elemental Live documentation. This is the latest version. For prior versions, see the Previous Versions section of AWS Elemental Live and AWS Elemental Statmux Documentation.

Ingesting Ancillary Data from SMPTE-2038 in an MPEG-2 TS

AWS Elemental Live supports extraction of select SDI ancillary data from SMPTE-2038 contained in MPEG-2 transport stream (TS) sources.

This procedure describes how to set up an event where the input is a TS that includes a SMPTE-2038 PID. This procedure applies for both TS sources that contain TR-01-compliant video and audio, and TS sources that contain video and audio that is not TR-01 compliant.

The ancillary data wrapped in a SMPTE-2038 can include any SDI ancillary data. AWS Elemental Live supports the ability to extract and process captions, timecode, AFD, and SCTE-104 messages.

Well-formed SMPTE-2038 Source

For AWS Elemental Live to extract and process the ancillary data appropriately, the SMPTE-2038 must meet certain criteria:

  • The SMPTE-2038 must be present in every PMT.

  • The PID in which the SMPTE-2038 is located must not change in the stream. There is no support for changing the PID and sending a new PMT identifying that PID.

  • The stream should contain the SMPTE-2038 in only one PID. If it is present in more than one PID, there is no guarantee that AWS Elemental Live will identify the PID that appears first. It could choose another PID, with results you do not intend.

Set up a New Event for SMPTE-2038

Do the following to set up a new event for SMPTE-2038:

  1. In Input, make sure you have set the Input type field to one of: Network Input, File Input, HLS File Input, or HLS Network Input (all these values are valid for MPEG-2 TS input). With any of these options, the Prefer SMPTE-2038 field appears in the Advanced section.

  2. In Input > Advanced, set Prefer SMPTE-2038 to control how AWS Elemental Live ingests the SMPTE-2038 ancillary data.

    • If you do not want AWS Elemental Live to look at the SMPTE-2038, uncheck this field. When the Prefer SMPTE-2038 field is unchecked (default), then AWS Elemental Live follows the legacy behavior. It looks for ancillary data in the native TS. Even if a SMPTE-2038 PID is present, AWS Elemental Live ignores that PID.

    • If you want to use the SMPTE-2038 ancillary data, and assuming the stream contains well-formed SMPTE-2038 (above), then check this field.

  3. Set the Timecode Source (in Video Selector) in the usual way:

    • If you checked Prefer SMPTE-2038, then set the source to Embedded in order to use the timecode in the SMPTE-2038. Or choose another value in order to use a different timecode source.

    • If you did not check Prefer SMPTE-2038, then set the source in the usual way. If you choose Embedded, the timecode will be extracted from the native TS (never from the SMPTE-2038).

  4. In Input > Caption Selector, set up the captions in the usual way. For more information on working with captions, see Working with Captions.

    The captions will be extracted as specified in the Prefer field, above.

  5. If you need support for extracting OP-47 metadata (rather than captions) carried in SMPTE-2031, contact AWS Elemental Support through your company’s Private Space in AWS Elemental User Community.

    In Input > Timecode Configuration, set up the timecode for all outputs in the event in the usual way. This field is not affected by the presence or absence of SMPTE-2038.

  6. In Output > Video Stream > Advanced set the Respond to AFD field and the Insert AFD signaling field in the usual way. These fields are not affected by the presence or absence of SMPTE-2038.

  7. Set up the remainder of the event in the usual way.

How Assets and Ancillary Data Are Processed

If ancillary data is extracted from the SMPTE-2038 source, it is associated with the closest video frame.

Regardless of where ancillary data is extracted from (a SMPTE-2038 PID or the native TS), once it is extracted, it is processed as follows:

  • Captions are processed in the usual way, as specified in the output sections of the event.

  • AFD (active format descriptors) is processed as specified by two fields in the Output > Video Stream > Advanced area: The Respond to AFD field and the Insert AFD signaling field.

  • Time code is inserted as specified in the Timecode Configuration field.

  • SCTE 104 markers are processed in the usual way: they are converted to SCTE 35 markers.