How low Latency was introduced to the world of P2P CDNs
Latency describes the time between a video stream and the start of its transmission. It is an essential factor determining the stream quality. Many factors influence streaming latency, and some specific problems can arise when CDN technology is used.
This article gives you an introduction to the background of low latency. We will elaborate on its hindering issues for live streaming and explain how StriveCast’s server-side managed P2P product, StriveCast OTT, now supports CMAF as the most active standard used for low latency streaming.
With this feature, StriveCast OTT easily copes with the growing requirements. StriveCast OTT can be used by modern broadcasters even to decrease their latency to end-users.
Latency Remains A Problem Until Today
Everyone knows this problem, you watch a game of football with your friends, and suddenly the neighbors are already celebrating their team, leaving you wondering what is going on. This situation is entirely normal with OTT live streaming. Typically, you have to accept a delay of 30 to 60 seconds for OTT live streaming. A 30-second delay is not what you would consider as “low latency.” Such a delay is far from what you expected when switching from traditional TV service to an online subscription.
However, why is that? Why can’t these delays be eliminated when streaming over the Internet? It is mainly the live streaming protocols that are responsible. Many protocols are perfectly capable of streaming in low latency (for example WebRTC, WebSockets, SRT, SLDP, RTSP, and even RTMP). However, only a few are suitable for transmission over traditional CDNs via HTTP.
CDNs are the backbone of the Internet, and no live streaming provider can scale without them. It is critical to optimize CDN-enabled protocols like HLS or DASH for low latency. Additionally, these protocols should ideally always be compatible with P2P CDNs to improve QoE and reduce cost.
What Does Low Latency Mean Precisely?
There are different types of latency, such as playback latency or absolute latency.
Absolute latency measures the time from recording the stream to playback on the end device. Playback latency is the duration from the start of the stream to the first frame on the end device. Since the transmission protocol only influences the playback latency, we will always refer to it in the following.
HTTP-based protocols such as HLS or DASH usually have a minimum latency of about 5-15 seconds. Even these numbers can be reduced slightly, but in practice, it is hard to do so. When talking about low latency, people usually mean latency of fewer than 5 seconds.
There is also ultra-low latency, which means latency below one second (thus also referred to as sub-second latency). Since ultra-low latency is very difficult to implement with current CDNs, we will limit this article to low latency only.
CMAF As An Emerging Solution For HTTP Based Low Latency Streaming
Of course, there are many different applications in the live streaming industry, and not all benefit equally from low latency. For example, VOD services do not benefit as much from low latency as live/linear channels do. When it comes to providing a TV-like experience to online subscribers, one specific challenge is the so-called startup latency. It is the amount of time a user would have to wait when switching from one channel to another. While the video player would start loading an entirely new stream, a user will have to look at a buffering screen.
There is one idea of how to reduce startup latency by using a standard called CMAF. In a nutshell, what CMAF does is splitting video segments (for example a TS file when using HLS) into smaller parts, called chunks. These chunks can be streamed almost instantaneously to a device even before the actual segment is finished by the encoding software. The implication of this process is much faster startup latency.
As CMAF’s adoption and usage are growing fast, StriveCast decided to make it the very first low-latency standard to support. Wowza already named both WebRTC and CMAF as two leading technologies to improve in 2019, so it makes perfect sense to support CMAF with our WebRTC-based video delivery technology.
How Does StriveCast Support CMAF And Low Latency
In order to support CMAF with StriveCast OTT, two steps where necessary:
We adapted our CDN fallback technology to auto-detect CMAF usage
StriveCast OTT works in an optimization layer above an existing (multi) CDN infrastructure. To guarantee zero additional latency and minimize the potential impact of users to user users, we implemented a “fallback” mechanism. It is an algorithm that predicts a user’s bandwidth and peer-efficiency in real-time. Whenever a user would get better streaming results via a traditional CDN route, the fallback algorithm will adapt the user’s traffic source accordingly. We changed our fallback algorithm to automatically detect the usage of CMAF and activate the delivery of streamed chunks as well as full video segments.
We had to add chunked streaming to our client-side P2P software
To make CMAF possible, CDNs have to support a method calling chunked transfer encoding. It is part of the HTTP/1.1 standard and thus receives extensive support from all modern CDNs. StriveCast OTT has to provide a CDN-like interface to the client-side video player to easily integrate into any given OTT infrastructure. So our client-side interface also had to adapt chunked transfer encoding.
By making these two changes in our product, StriveCast OTT is now CMAF compatible out of the box. Since a smooth integration of StriveCast OTT was a significant design goal right from the beginning, StriveCast OTT is now compatible with CMAF and every HTML5-based web player, CDN and encoding software. There is no plugin needed at all on the player side.
About Peer-To-Peer Video Delivery Technology And Low Latency
Many P2P CDN providers work according to a BitTorrent model. BitTorrent forms a decentralized end-user centric database in a self-managing network. To share static content, using BitTorrent is reasonable and even necessary for a high offloading ratio. Unfortunately, it is also the reason why P2P CDNs and low latency streaming have been considered fundamentally incompatible in the past.
StriveCast’s unique approach to manage Peer-To-Peer networks solves this problem once and for all. Our centralized management backend controls the flow of data and the connection map between peers. This amount of control enables StriveCast to alter the P2P network’s size, throughput, and efficiency in real-time on a global scale. If you want to get more technical, check out our research paper about real-time bounds in video streaming.
Having such server-side-managed control of a P2P network also solves the problem of added latency due to inter-peer communication.
Low Latency is one of the most discussed topics in 2018 and 2019. CMAF is a promising standard to reduce startup latency and further improve delivery as the TV of the future. With StriveCast making the first step towards low latency adoption of Peer-To-Peer networks, WebRTC and P2P video delivery also move forward as fully compatible OTT streaming technologies.