American consumers spend over $200 billion per month on video streaming, and spend nearly as much time viewing streaming video as they spend working, according to Deloitte. This huge demand puts pressure on publishers to offer more video, and make it highly accessible to digital consumers. Read on to learn how video streaming works, its basic performance challenges and how technology like adaptive streaming, CDN and multi-CDN is helping overcome those challenges.
In this article you will learn:
- What is video streaming
- What slows down video streaming
- Three technical approaches for video streaming
- How CDN can improve video streaming
- Multi-CDN for video streaming with NS1
What is Video Streaming?
Video streaming is a technology that allows users of Internet-connected devices to view audiovisual content without first having to download it to their devices. Streaming allows video files to be transmitted to a browser a little bit at a time, and allows it to play the video in real time, without saving the information locally.
Streaming breaks down audio and video files into data packets. The streaming server transmits a series of packets, which the audio or video player on the user’s device can receive and interpret in order to play the content.
Video streaming uses the User Datagram Protocol (UDP), which is much faster than the Transfer Control Protocol (TCP) since it is less strict about reliability. While some packets are lost along the way, streaming protocols are designed to be resilient to occasional data loss. They can continue streaming a video smoothly, in some cases degrading image quality or skipping some frames to account for missing data in the stream.
Another important concept is buffering - streaming audio or video players load additional packets of the stream ahead of time, before they actually need to play the data. Buffering lets the player continue to play smoothly, even if the connection slows down or terminates. Buffering can take a long time if the connection is slow or unstable.
What Can Slow Down Video Streaming?
To keep users happy, websites that stream video need to ensure high performance. However, in reality video streaming often slows down, resulting in a negative user experience.
The following factors can negatively affect video or audio streaming performance:
- Network latency and congestion - the user’s device takes too long to receive data from the streaming server, or some segments of the network connection are clogged up
- Local network issues - the user consuming the stream may have slow WiFi, a 3G mobile Internet connection, or a slow wired Internet connection. A large number of users in developing countries or rural areas may not have access to high-speed Internet.
- Client device performance - video streaming requires significant processing power on the user’s device, and a slow device can result in poor video performance.
- Client bandwidth - a rule of thumb is that streaming video requires at least 4 Mbps of effective bandwidth.
Three Technical Approaches for Video Streaming
There are three common methods to stream live video to client devices: progressive download, single-bitrate streaming, and adaptive bitrate streaming.
1. Progressive Download
Progressive download means that streamed video or audio files are actually delivered over HTTP much like a download. Playback starts when enough of the file has been downloaded to play it, and while the video starts playing, the rest of the file is downloaded in the background.
In a progressive download there is usually a wait before the video starts playing, and it is not possible to skip ahead to view the next parts of the video, if they haven’t downloaded yet. Videos are streamed using a single bitrate, and there is one video file delivered to all users regardless of the speed of their connection.
2. Single-Bitrate Streaming Protocols
Several protocols have been developed specifically for streaming, such as the Real Time Streaming Protocol (RTSP). These protocols require the use of a streaming server and a dedicated player on the client side. They deliver video or audio in chunks, and the player displays the media and then discards the information.
Unlike in a progressive download, video players using streaming protocols can allow users to skip forward in the video, by sending a request to the streaming server and receiving chunks of the video from a more advanced segment. These protocols also use UDP rather than TCP, so they can achieve much higher performance with the same connection speed.
3. Adaptive Bitrate Streaming
A more advanced method for streaming involves delivering video or audio over UDP, but with variable bitrate. The protocol changes the bitrate of streamed content depending on the user’s connection speed, network conditions and device resources. Commonly used implementation of adaptive bitrate streaming are the HTTP Live Streaming (HLS) protocol by Apple, HTTP Dynamic Streaming by Adobe, and the MPEG-DASH standard.
Adaptive bitrate streaming requires the video creator to upload the same audio or video file encoded with different bitrates. The video player monitors local conditions on the user’s device and requests the highest bitrate the user should be able to view without interruption. The player typically assesses the situation every 5-10 seconds and if necessary, requires a file with a different bitrate.
Multi-CDN Usage Grows as Video Streaming and Online Gaming Thrive
The use of a multi-CDN – that is, multiple content delivery networks (CDNs) operated in consort – has become a best practice for large-scale events such as Olympics streaming or the launch of the Disney+ video-on-demand service.
How Can CDN Improve Live Streaming?
It is a common practice to use Content Delivery Networks (CDN) to improve live audio and video streaming. A CDN can store audio and video files in Points of Presence (PoPs) close to the end-user’s physical location, which can dramatically improve streaming performance.
Benefits of CDN for live streaming include:
- Scalability - when you host a streaming server yourself, you are limited to the capacity of that server or cluster of servers. When hosting video files on a CDN and leveraging the CDN provider as your streaming server, you get the almost-unlimited capacity of their global server infrastructure.
- Streaming performance - most CDNs have Tier 1 Internet connections and POPs in a large number of global regions. They can bypass slow delivery at the first and last leg of the network and stream content directly to users.
- Security - CDNs can help prevent distributed denial of service (DDoS) attacks, because they offer a redundant infrastructure and can transition streaming to other servers if a specific server is attacked.
Multi-CDN for Video Streaming
The next optimization after CDN is to use multiple CDN providers, and automatically route users to the CDN that will give them the highest performance. NS1 is a next-generation DNS platform that can help you manage multiple CDN providers, boosting performance and reducing CDN costs. Learn more in our in-depth multi-CDN solution guide.
NS1 Pulsar, a real-time traffic management engine, takes multi-CDN performance to the next level by aggregating network performance data from millions of users, and tracking which CDNs are performing best in real time. Pulsar identifies which CDNs are experiencing timeouts and slowdowns, and routes each user to the CDN that is most likely to give them high performance in their location right now.
Learn more about NS1’s next-generation DNS solutions, built for video streaming and other demanding, high performance use cases.