EXP Manifest
The EXP manifest used to be called a content program, and some old references to "content program" or program Id may still be present in the associated APIs in both the backend and frontend SDKs and in this documentation.
The EXP Manifest serves as a repository for relevant information on the Event Watching Experience. It focuses on time information, AV (audio/video) playback, and specific details related to an event. The manifest contains various objects and can be extended using statically typed objects called Extensions. Some of the key information that can be found in the EXP Manifest includes:
- Event Start and Duration: The start time and duration of the event.
- Entities: Describes the entities involved in the event, such as drivers in a motorsport race.
- Video and Audio Tracks: Contains information about the available video and audio tracks, their synchronization with the virtual manifest timeline, and their availability throughout the timeline.
- Video and Audio Objects: Represents individual video and audio objects associated with the event. (See Create a New Video Stream for more information about content streams vs content objects)
- Global Audio: Information about global audio sources in the event.
- Moments: Highlights or significant moments in the event, such as goals in a football match.
- Sections: Longer periods of time within the event, such as halves in a game.
- Clips: Specific video or audio clips associated with the event.
However, it's crucial to understand that the EXP Manifest does not dictate how the information should be visualized. The responsibility for visualization lies with the user interface (UI), which decides how and when to present the information to the user.
In cases where multiple events are happening simultaneously, such as in a conference experience or when multiple matches are played at the same time in football/soccer, separate EXP Manifests can be created for each event. The EXP Engine handles the switching between the Manifests, while the UI provides the necessary options for users to navigate between them.
All timing information within the EXP Manifest is relative to the Manifest's reference point (point 0), including start and end values. Any duration values are relative to their respective start values.
Additional details related to the playback of the EXP Manifest can be found in the EXP Manifest Playback documentation. The concept of a Virtual Timeline is introduced, which acts as a reference for navigating through different content tracks and objects.
The Content Abstraction Layer introduces the concept of entities, which allows for describing content relationships and supports powerful use cases in the user experience (UX). For example, an entity can represent a driver in a motorsport race and link relevant video tracks (front, back, 360° cam) to that entity.
Timeline Information and Markers provide contextual information about moments and sections on the timeline. Sections represent longer periods, while moments highlight specific events within the timeline, such as goals or corners in a football match.
Extension Data enables the inclusion of event type-specific context information in the manifest. This allows for linking data provider IDs, for example, to display additional information in the UX.
Overall, the EXP Manifest serves as a comprehensive source of event-related information, while its visualization and presentation are determined by the UI, providing an immersive and tailored event watching experience.