Setup Live Streaming Events with Low Latency for Global Reach [A Deep Dive]

Written by ashely-john | Published 2020/01/07
Tech Story Tags: how-to-setup-live-streaming | setup-live-streaming | how-to-set-up-a-live-stream | global-delivery-of-live-stream | low-latency-for-streaming | what-cause-latency | video-capture-jitter-buffer | transcoding-decoding-rendering

TLDR The revenue generated in video streaming is expected to hit $25,894m in 2020. As live streaming happens in real-time, it is important to maintain a low latency throughout your live streams. The higher the latency of your live streaming, the worse the viewing experience is. The farther your audience is from the servers, the longer it takes for the live streams to reach them. A content distribution network or CDN helps with this. We will be discussing CDN's in the upcoming section.via the TL;DR App

Live streaming has been receiving a lot of attention these past years. Businesses are relying on live streams to reach and engage a massive audience.

The revenue generated in video streaming is expected to hit $25,894m in 2020 and live streaming takes up the majority of it. Taking these figures into consideration, more and more businesses are getting involved in this industry by creating a live streaming website.
It shouldn’t come as a surprise as faster, better quality, and real-time videos are always in demand. If you are thinking about how to set up live streaming professionally, you need to focus on factors like easy set-up, low latency, and global reach.
Each of these factors plays a significant role in professional and efficient live streaming. Often setting-up live streaming requires best practices to ensure smooth global delivery of live streams without any buffer- The topic of this blog. 
In this blog, we will explore how to set up live streaming events with low latency and a broader reach. Before learning about the ideal set up and how to achieve, it is important to learn about low latency and its role in live streaming. Let’s get started. 

What is the Latency in Live Streaming?

In simple terms, latency is lag or delay. To send a piece of information from one point to another in a network, latency is the total time taken for the info to reach the final point after leaving the destination.
Video latency to be specific can be described as the time difference between the actual time when the video frame was captured and the time when it was actually displayed on a user’s screen. 
The higher the latency of your live streaming, the worse the viewing experience is. As live streaming happens in real-time, it is important to maintain a low latency throughout your live streams.
If the lag between the time you start your live sessions and it appears on the user screen is 3 seconds, your live streams have a latency of 3 seconds. 
A thing about video latency is that there are no ideal standards for high and low values. There is no high or low value in latency as such. However, it is referred to as low latency when compared with the average values in live broadcasting.
Video streaming generally has a latency range with high values ranging between 30-60 seconds. Most of the video providers expect to attain latencies of less than 5 seconds and that is what is considered as low latency in live streaming.

What is the Global Delivery of Live Streams?

In today’s Internet-connected world, audiences of any business aren't just limited to a local broadcast. Viewers of today are global, all thanks to the Internet. When it comes to reaching a broader audience without any geographical constraints, this is great.
However, there are a lot of challenges to deliver videos to a global audience who are located in different parts of the world.
As you already know, live streams are large and require intense bandwidth to get it delivered without any buffering.  
Research done by IBM says that over 63% of viewers had faced buffering issues while watching videos. When brainstorming, it is important to learn about how to deliver live streaming to a global audience without any quality issues and delays.
A content distribution network or CDN helps with this. The farther your audience is from the servers, the longer it takes for the live streams to reach them. Even this can cause buffering issues and high latency. 
CDNs build super paths of connected servers that reduce the overall time taken to deliver live streams from the origin to the final destination. CDN not only reduces latency but also enhances scalability as your user base increases.
Content delivery networks make your live streaming solution and strategies effective by managing spikes in viewership, huge traffic, and hacking attacks. We will be discussing CDN's in the upcoming section. 

Why is the Low Latency Required for Live Streaming?

Imagine having a high latency on live streams with a latency of about 30 s with an interactive comment section where the audience can engage. This means that when the person in the live broadcast says something, it will only show up on the viewer’s screen 30 seconds later.
During this time, the broadcaster will continue what he is doing and while a viewer asks a question and it shows up on the broadcaster’s screen, he would have already proceeded to the next topic.
Low latency is also critical when you want to stream your live videos to multiple platforms simultaneously. 

What Causes Latency?

An end-end live streaming pipeline is complex and constitutes a range of components each contributing to latency. Depending on various components and the configuration of the pipeline, latency can be impacted greatly.
As the audio and video components pass through this pipeline, it is prone to latency. Let’s understand how typical live streaming works and look at how latency is introduced at each step. 

Video Capture

Whether you are using a single camera, multiple cameras, or a video mixing system, converting a live image to digital signals takes some time. On average, it might take at least 1/30th of a second for a 30fps.
If you are using more advanced systems like video mixers, there will be additional latency for decoding, video processing, re-encoding, and transmitting. Your video capture and processing prerequisites will influence this value. The value can range from 33 milliseconds to hundreds of milliseconds. 

Encoding

Using a hardware encoder or software encoder takes time to turn the raw image signals to a compressed format in order to be transmitted. This delay can vary from extremely low to a couple of values closer to the duration of a video frame. Altering encoding components can reduce this value at the cost of video quality. 

Transmission

The encoded video frame takes some time to get transmitted to a video distribution suite. This delay can be influenced by the encoded media bitrate, bandwidth of Internet connection, and the proximity over the Internet to the video distribution suite.

Jitter Buffer

As the internet is a heavily connected network of digital communication routes, the encoded video frames might take one of many available routes to the destination and the route changes over time.
As different routes require different amounts of time to transfer, it can arrive at the destination out of order.
A software component named Jitter buffer re-orders the data so that it can be decoded in the right way. 
While configuring the jitter buffer, it is recommended to choose a maximum time limit for the data to be made in order. This time boundary offers the delay of the jitter buffer. The lower the latency is, the higher the risk of losing data. 

Transcoding

Your audience will be viewing your live streaming from different locations and different types of devices over different types of networks. To offer the best quality viewing experience to all viewers across a range of devices and networks, your streaming solution must offer adaptive bitrate streaming.
This technique ensures the best video quality and viewing experience regardless of the device and connection.  
Generally, there are two common ways to achieve this. The first one is that the encoder streaming multiple quality level frames and is directly transmitted to the destination.
The second way is that the encoder sends a single quality stream which is then transcoded and trans-rated to different quality levels. Normally, the process of transcoding and transrating can be as long as the segment of the encoded video, but it can be faster at small resolutions and low bitrates. 

Transmission to Viewers

When it comes to viewing live streams, there are two protocols- HTTP based and non-HTTP based. Both of these differ in their scalability and latency. The streaming protocols you choose directly impacts the latency of your live streaming.
Depending on whether you are using RTMP, Apple HLS or WebRTC, latency can range anywhere between 1 to 40 seconds. Apple HLS (an HTTP-based protocol) is one of the most commonly used streaming protocols due to its reliability, but it does not support a true low latency live streaming. 
While HTTP-based streaming protocols are great in terms of user experience, they are not that great when it comes to lowering latency. RTMP delivers high-quality streaming efficiently but requires custom or flash-based players which causes people to move away from it.
There are also other alternatives like QUIC, SRT, WebSocket, and others you can rely on depending upon your requirements. 

Decoding and Rendering

Regardless of the devices, your viewers choose to view your live streams, it takes time to decompress the video data and display it on the screen. In ideal scenarios, it can be as low as single frame duration, but generally can be 2 to 5 times the length of a video frame.
This delay is influenced by the capabilities of the viewing device. 

Best Practices to Setup Low Latency Live Streaming

Now that you know in-depth about low latency and its significance in live streaming, you might be probably wondering, how to set up live streaming video with low latency? As we discussed already, low latency live streaming depends on a lot of factors. 
Here are some of the best practices you can follow to deliver a low latency live streaming to your viewers. 

Use a Low Latency Streaming Solution

Most live streaming platforms come with a latency of 30s-60s or even more and that is considered normal. For low latency, it is important to bring down these numbers to a 10-second range or even less. The first best practice to achieve this is to use a professional video storming solution with just 5s- 10s of latency.
If you are seriously thinking about how to make your own live streaming website, ensure that you choose a solution that helps you deliver live streams with low latency. 
Choose low latency live streaming solutions that use the HTTP protocol as it is the most dominating streaming format used commonly these days. You can use HLS, but as it can increase latency, it is important to use it in a low latency manner. 

Choose an Easy to Setup Encoder

It is important to choose an easy to set up encoder for your live streams as setting up an encoder can be a complex task for beginners. In a digital world, where anyone can easily go live from their smartphones, it is not necessary to understand live streaming protocols and about live stream set up.
However, if you are looking for different ways on how to build a live streaming website, it is important to be aware of these processes. It is recommended to look for a live streaming solution that allows you to customize every setting including the encoder settings, too. 

Use a CDN for Low Latency Global Reach

A global CDN is a collection of servers and data centers that are geographically distributed for smooth live video playback regardless of the location of your audience or the devices used by them.
Although having a CDN is critical for efficient delivery of live streams, not all CDNs are the same.
Some CDNs are faster than others and hence it is important to use a CDN that has a vast network of servers in the regions that you are trying to target. 
CDNs share the load across a server network and offers other benefits including:

Speed

CDNs deliver live streaming content at lower latency than other networks. Even if the local internet or Internet service providers might slow down delivery, the CDN will efficiently bypass any traffic. 

Scalability

Scalability is another great selling point of using a content delivery network. It is the quickest and secure way to deliver your live streams to your global audience. CDNs are capable of handling any huge viewership spikes. 

Quality Stream

Live streaming using a CDN helps you to deliver the best possible audio and video quality. 

Security

Not just speed and quality, CDNS also offers an extra layer of security to keep your live streams from breaching attempts. 

In Conclusion

The world of low latency live streaming is an exciting place to be. Low latency is a crucial factor for anyone who wants to make a live streaming website and deliver the best quality live streams, whether they are content creators, entrepreneurs, or marketers.
When choosing a live streaming solution, you must choose a professional solution that offers low latency to support future viewership growth.
Like we have already established, when broadcasting live streams, it is hard to deliver a real live stamina exigence as slight delays are natural. However, if you keep a check on the latency experienced during transmitting live videos over the network, you can actually deliver real-time live streams.
While optimizing latency is important, what should be an ideal latency range be? The answer greatly depends on your business preference. Generally, it is advised to keep the latency range to 10-30 range or less. What are your thoughts on the ideal latency range for live streaming? Share it with us in the comment section below.

Written by ashely-john | Entrepreneur
Published by HackerNoon on 2020/01/07