High-speed internet connections and the significantly increased computational power of mobile devices have rendered access to hi-res and instantly loading video the new normal. But if we look behind the scenes, it turns out that a smooth video scrolling of the TikTok era requires a powerful and complex IT infrastructure. Enter video CDN. Video CDN is a type of CDN (content delivery network) that is fine tuned for delivering heavy multimedia files and optimized for processing massive volumes of traffic. Let’s explore what a video CDN is, what it does, why it matters, and how to get one.
Video CDN is an informal term describing a CDN that features a set of specific functionalities that are necessary for video streaming needs. It can have two different meanings:
Video CDN can be contrasted with the traditional CDN, which refers to a service accelerating the delivery of static website assets like HTML and images. Today, almost every CDN provider is able to transfer and accelerate video streaming for massive audiences of viewers—but it’s important to confirm that your provider offers video CDN capabilities at the level you require.
Before we look at how a CDN works, we first need to review what video content means from the end user’s perspective. Video has become an essential medium of the internet and is predicted to account for 80% of mobile traffic by 2028. Video content can be engaging and informative at the same time. It offers use cases across industries, including e-commerce, banking, non-profit organizations, and entertainment projects.
Video content can be presented over the internet in three forms:
Each of these use cases has its own features and infrastructure requirements. But from the end-user perspective, all of them demand the same video quality criteria:
This is where a CDN service comes into play.
CDN is a key infrastructure component for delivering video content via the internet. It helps you transfer a video stream to viewers worldwide with the best possible quality, prevents stutters and delays, and protects your origin servers from being overwhelmed by user requests.
Fundamentally, a CDN for video streaming is based on the same principles as a CDN for transferring web files:
A CDN’s use case determines exactly how it works and its performance criteria. Let’s dive into these in the next sections.
Video on demand refers to a situation where you have a large file that needs to be uploaded and delivered via the internet to your audience, who can watch it whenever they want. A CDN solves the challenge of the multi-GB file transfer by chopping it into smaller segments (or “chunks”) and creating file copies on CDN servers. Distributed copies will then be available to users on demand; they are put back together in order in the user’s player/browser with minimum delays and reduced buffering time.
This architecture saves the origin’s bandwidth and CPU resources because user requests for the content will be terminated on the CDN servers, and its network capacity will manage the huge amount of the traffic. This allows the video stream to remain available for end users and prevents any disruptions in viewer experience.
In a live streaming scenario, we don’t have a video as a discrete file. Instead, the video is an ongoing stream of video segments appearing at the origin server. Since the video is created in real time, it is impossible to create a copy of the entire file on CDN servers.
In this case, a CDN can cache only a few video segments at a time on its servers, and only for a very short period of time. That’s sufficient, though, to distribute the content to all established client connections. As long as the live streaming is in progress, the CDN servers will receive the pieces of this broadcasting and instantly send them out.
Live streaming in CDN uses the same approach as a regular HTTP delivery: clients’ requests for the video segments have less distance to travel because they’re terminated at the edge servers instead of the origin. Since a broadcasting process implies a one-to-many approach, the purpose of proxying via CDN, in this case, is to prevent the origin server from overloading while reaching out to a massive audience.
The key performance metric for a CDN in live streaming is how fast caching servers are able to pass the traffic through themselves: the less time it takes, the better. Generally, we consider latency of under four seconds to be a good result, but Gcore’s products can provide latency as low as 0.3 seconds in some cases.
RTC servers simply accept and retransmit the stream from every participant of the video conference. This type of architecture comprises just a cluster of globally distributed servers without content caching capabilities. So strictly speaking, for RTC we don’t have a CDN functionality; instead, we use specific infrastructure and frameworks (like WebRTC) which use UDP (User Datagram Protocol) to transmit data in the fastest possible way.
UDP is a loss-tolerant, low-latency protocol, making it perfect for the specific use cases of RTC. Real-time communications work well over UDP because this approach has lower requirements for data integrity. In RTC streaming, it’s preferable to sacrifice video quality in favor of real-time interaction between speakers. To keep viewers satisfied and prevent video distortion, the network quality for RTC service must have rich connectivity and a low risk of network congestion.
End users expect the best possible quality when viewing your videos, regardless of their device, location, or environment. Failure to meet their standards means they may quickly turn elsewhere for video content.
For this reason, it is essential to create a video streaming infrastructure that provides what users want: the highest possible resolution, no pixelation, chopping, or echoing, and instant playback with zero delay. Let’s explore what each end-user metric demands from an infrastructure-focused point of view.
|Viewer’s experience||Backend parameters|
|Fast buffering and stutter-free playback|
|RTC video integrity|
|Minimum delay for live events|
Considering this list of backend parameters, we can now define the fundamental requirements of a CDN service dedicated to video streaming.
Usually, target audiences aren’t dispersed equally across the globe. This means that in some regions, more bandwidth demand is experienced due to a higher user concentration. In these high-demand regions, any changes in your local backend infrastructure (whether good or bad) will have a substantial impact on user experience.
There is a clear correlation between video file size and network capacity. Delivering hi-res content for hundreds of thousands of viewers worldwide requires your CDN network to transfer dozens of gigabits per second. If the streaming content exceeds your network’s bandwidth, your video streaming quality will be severely negatively affected for end users.
Another meaningful characteristic of the network is connectivity. This refers to how well your infrastructure is interconnected with your internet service providers (ISPs,) internet exchange points (IXPs,) and other autonomous systems (AS) on the internet. The more connections your network has, the higher the number of optimal routes and lower TTFB you can provide for your clients. The number of connections also affects the quality of real-time communication (RTC) if it goes through your network.
RTC is challenging when you need to stream video through dozens of CDN servers. Multiple connections to your origin server could overload its computation resources and network bandwidth, and if that occurs, you will face network congestion and server shut down. The most efficient and simple way to prevent such a disaster is to create a second layer of caching between the origin and edge servers. This approach is called origin shielding.
For live streaming use cases, the main performance criteria is to reduce the time gap between what’s happening in reality and when that arrives on users’ devices, which is called latency. Here are some techniques on how to improve latency on CDN servers.
Although core features of a video CDN are contained within its basic infrastructure characteristics, in some cases you need more than just a content delivery service. Since video is becoming a key online medium, an increasing number of businesses are trying to adopt its potential for their commercial and entertainment purposes. This demands a simplified, full-service video streaming process from cloud service providers.
An out-of-the-box video CDN solution should include video compression, transcoding, adaptive bitrate, video storage, and HTML player to help customers deploy a streaming process without requiring in-house system engineering experts.
We discussed earlier that Video CDN can have two different meanings:
Let’s now look in more depth at the second type of service. To explain how a multi-functional solution for video streaming works, we should define the inputs and outputs of the process. Usually the input includes only a raw video file or stream, without any preliminary transformation and using any specific software. As for the output, this could be a customized HTML player within your web service or a stutter-free live session for your globally distributed team.
Multi-functional video CDN services like this allow even users without technical expertise to deliver their videos to a massive audience without worrying about compatibility, scalability, or system engineering issues. This makes video streaming accessible for a wide range of clients, helping them to add value to their products with ease.
At Gcore, we understand the importance of a positive viewing experience for today’s discerning video content consumers, regardless of the format in question. We know how difficult and frustrating the process of video streaming deployment can be, especially for the teams without specific in-house expertise.
Striving to make the internet a better place for everyone, we’ve optimized our edge infrastructure for delivering video streams for huge, globally distributed audiences. As a full-service provider, we’ve developed a multi-functional streaming platform to allow our clients freedom from worrying about their backend, so they can focus on their ideas.