Introduction to Unified Streaming
Unified Packager is a file to file packager, for offline use.
Unified Origin is a software plugin for the Apache webserver, which takes an ingest in one format that it can package on-the-fly to all formats.
It can be used to stream Video on Demand (VOD) and Live. For Streaming VOD, it takes HLS, MP4 or fMP4 as an ingest, while for streaming Live, an fMP4 (HSS, CMAF) ingest is required. All of its features and requirements are part of our Factsheet.
The Unified Origin plugin comes in the form of the mod-smooth-streaming
package and uses information from a manifest file on the server (the 'server
manifest') to generate the different client manifest files (HSS, HDS, DASH) and
playlists (HLS) that a player can use for playout.
Additional, optional customizations can be applied to the client manifest with Manifest Edit, a plugin-based python manifest editing engine (DASH format only).
Unified Origin will automatically create the corresponding client manifest or playlist at the moment that a player requests a stream in a certain format. From its ingest, Unified Origin will then also generate the corresponding fragments in the requested format (i.e. audio, video and subtitles). Each format has its own Player URL to request the corresponding stream for playout.
As the manifest files and playlists for the different clients are created
on-the-fly, they are not stored on disk. The server manifest file, on the other
hand, is stored on disk and needs to be generated by our Unified Packager, which
comes in the form of the mp4split
package that is part of Unified Origin's
full setup.
To easily set up your own Unified Origin demo, read our Docker Express tutorial.
To get a quick start with streaming video, read our VOD tutorial and/or our Live tutorial.
For in-depth information on using Unified Origin for VOD, consult our Documentation on VOD. Please check our Best Practices for VOD as well.
For in-depth information on streaming Live, consult our Documentation on Live. Please check our Best Practices for Live as well.
For info regarding the use of DRM with Unified Origin, consult our Documentation on DRM.
For info regarding manifest customizations using Manifest Edit, consult our Documentation on manifest-edit.
Unified Remix 'mixes' media from various origin into a single stream. Clients and playback devices see the stream coming from a single origin and having a timeline without any discontinuities.
Remix uses a playlist, in SMIL format, as its single input format. It transforms this SMIL file into a reference MP4 (ISO BMFF) file for Unified Origin to use as input (or similarly for Unified Packager to package from).
The introduction of a playlist allows for many new use cases, for instance:
Even more advanced uses as for instance Dynamic Ad Replacement (Live) will become possible.
Since Unified Origin delivers all playout formats from the remixed MP4, we now have a unified approach to deliver to all devices from a single SMIL playlist!
Resolving a playlist server side has the following benefits:
It works everywhere, on all devices, as they see only one stream.
No player development is required, so larger audience can be reached as it 'just works'.
Flexibility. Changes can be made server side, without having to update devices or apps.
On a technical level, the MP4 file Unified Remix creates references the original content (e.g. a URL). The new MP4 file has its own new timeline (hence there are no discontinuities). It also makes sure that the various source clips are correctly aligned and/or padded with e.g. audio silence frames to keep A/V sync.
To mitigate any potential interoperability issues its recommended the same version of Unified Remix is also used for Unified Origin or Unified Packager in any workflow.
Flow diagram
The following flow diagram depicts components and their relations.
cms unified transcode (jit) rule sets
| | /
player --> cdn --> unified origin --> unified remix --> smil origin - ad networks
| | \
[metrics] a/v sources broadcast epg
All components are HTTP based. Results are easily proxied and cached. Like
Unified Origin and Unified Packager, Unified Remix supports authentication when
making requests to S3. When using Remix via the command-line interface,
configuration works the same as for mp4split
, see
Authenticate requests to AWS S3. Using Apache's subrequest
feature is supported
as well.
Note
Please note that this flow diagram is for Unified Origin but Remix could also be used as a pre-processing step for Packager.