Adaptive Bit Rate (ABR) Live streaming is a demanding way of delivering video. In addition to the need for real-time encoding of the source video into tracks that represent different qualities, all of the different tracks must remain time-aligned and perfectly in sync.
For this to work well, the media segments that form the output of a Live encoder must be properly 'ingested' by the server that will deliver the stream, i.e. the 'origin'. That is why both the Live encoder and the origin must behave in a well-defined way.
We believe it is time to further standardize this 'Live ingest' step in order to improve interoperability between services and devices and increase the reliability of Live streaming setups across the industry.
The need to standardize 'Live ingest' becomes more apparent when taking into consideration the many advanced features that can nowadays be used for Live streaming. Looking at Unified Origin, streaming Live supports:
- Ultra High Definition (UHD) and 4K resolutions
- High Dynamic Range (HDR) video
- High Efficiency Video Coding (HEVC)
- Timed metadata (e.g., SCTE 35)
Even more important is the fact that all of the above is supported for both MPEG-DASH and Apple's HLS1, as Origin repackages an ingested Live stream on-the-fly into the requested play-out format. Such instantaneous content processing is very efficient and allows for a lot of flexibility, but leaves little room for error. Thus, eliminating as many uncertainties as possible by fully standardizing the Live ingest will guarantee a more seamless workflow. This is not only true when using Unified Origin, but other network-based media processing implementations as well.
Specifying Live ingest
At the moment there is no commonly agreed upon Live ingest specification for HTTP video streaming, although Microsoft published a specification as a follow-up on their Smooth Streaming ingest protocol: Azure Media Services fragmented MP4 live ingest specification [LINK]. This specification is supported by Unified Origin.
This specification defines for instance how an encoder announces a stream and opens ingest, as well as how it should close it. It also puts restrictions on how the content must be transferred and how different track characteristics should be signaled. Overall, it ranges from a broad overview to the configuration of smaller details, as well as redundancy procedures for workflows with multiple Live ingest sources.
Earlier this year, Microsoft officially added support for HEVC by publishing an addendum to their specification. As Unified Origin has supported Live ingest of HEVC since 2016 – when we successfully demonstrated the feature with encoder vendor Media Excel – we are happy to announce that our implementation supports Microsoft's addendum. In addition to Media Excel, we also support Live HEVC ingest from Telestream encoders, and other major vendors.
Towards an industry standard?
Although Microsoft's specification has been around for some time now and is supported as an output option by a number of encoders, it is not an industry-wide standard. This lack of a common agreement between all parties hinders compatibility, which can make the already complicated world of Live streaming more difficult than it needs to be.
Given the fact that the world of HTTP video streaming is finally moving to a point where all content will be distributed using fragmented MP4 (fMP4), we believe there might be an opportunity for a standard with broader support and more advanced features.
One of the more advanced features that could be added to a new standard is the option for separate streams of timed metadata. Such streams of metadata are useful in more complicated setups, as they can pass down markers that signal the start and end of a program, or that of an ad break, to name two examples. Markers like that can play a role in things like Dynamic Ad Insertion and networked Personal Video Recording (nPVR).
In an effort to create a broader agreement on Live ingest, we are currently working together with several major encoder vendors, Content Delivery Networks (CDNs) and broadcasters to establish a specification that is widely agreed upon. It builds on the ingest specifications by Microsoft, who is also a co-author of the new specification.
At the moment this is a work-in-progress that is publicly available as an IETF draft, based on the consensus between the different parties involved. It specifies improved procedures for the ingest of media, timed metadata, timed text and subtitles, as well as redundancy and fail-overs.
This is an ongoing project with further updates expected soon. And while the draft specification is publicly available, work is being done on the reference implementation and support is being gathered to initiate a formal standardization.
1.) HEVC over HLS requires you to stream fragmented MP4 (fMP4) instead of Transport Streams.