We all know about the power of videos: from providing a quickly and easily digestible form of education about our offerings, to boosting SEO, to helping to close on-line sales to providing instruction guides. Video has become one of the most popular marketing tools out there. No wonder that according to the Cisco’s Visual Networking Index by 2020, IP video traffic will be 82 percent of all consumer Internet traffic.
But when it comes to where videos should be hosted, IT often decides to stream from YouTube, Facebook or Vimeo rather than the corporate site due to storage and bandwidth restrictions. At first this might seem fine but it turns out to be a Damoclean Sword: YouTube pulls web traffic away from your site and doesn’t really refer visitors back. According to research carried out by the web strategist Phil Nottingham with 95 companies that stream video on YouTube channels, the average click-through rate from YouTube back to companies’ websites was less than one percent (0.72%).
Of course, IT’s concerns are also justified. Maintaining web performance is critical as it only takes a split second to lose a customer. According to the 2017 report “The state of online retail performance”, just a 100-millisecond delay in load time hurt conversion rates by up to 7 percent. People will wait about two seconds for a video to load before losing patience. And if set up incorrectly, video contributes to high bandwidth consume and slow page loading times.
Fortunately, there is one solution for both slow page loading times and slow video loading: HTTP caching. Before we dive into what HTTP caching is, let’s have a look at how video delivery works.
Brief digression on how video travels through the web
The internet is a decentralised ‘network of networks’ linked together by TCP/IP protocols. The application protocol HTTP, a set of rules for transferring files on the web, runs on top of these foundation protocols. A web server is used to store, process and deliver web pages to clients (your web browser is such a client) using HTTP. For video you would use HTTP streaming to deliver the media file. That way, the file is not delivered all at once, but first encoded and then broken up into smaller segments. These two processes are handled by a media server. Afterwards they are stored on the web server in different levels of quality. Depending on the available bandwidth of the end device, the segments are put together at a quality that best matches the environment and finally streamed over HTTP to the end user.
The downside to the internet being decentralised is that you never know which way your content will travel through it, making fast content delivery difficult to guarantee. Content delivery networks (CDN) arose as a response to this inherent weakness. CDNs are typically offered by external providers that deliver the content through their networks, guaranteeing better performance, higher availability and more security than the anarchic internet. CDNs are distributed systems of servers across many data centers, with an origin server at the centre. HTTP streaming works just the same with a CDN, the only difference being that you (or at least your CDN provider) knows the way the files are travelling. However, CDNs all tend to locate their servers in the same places (i.e. large cities in major countries). As a result, you will typically have congestions during high traffic periods which again slows down the video load.
Using intelligent HTTP caching for HTTP streaming
HTTP caching is the central software piece to ensure high performance delivery during major traffic peaks and can be used with or without a CDN. HTTP cache solutions offer a way to serve up web content rapidly and update content in real time. A HTTP cache works just like an ordinary web server in that it intercepts all web requests before they reach the company’s web server or the CDN’s origin server. This means the company / origin server doesn’t have to reproduce multiple impressions of the same video file eliminating annoying buffering and connectivity issues allowing the second user requesting access to a video to view it without delay. Consequently, your site is able to serve up to tens of thousands of consecutive requests per second, significantly speeding up website performance, reducing server load and much faster video delivery.
An interesting use case we’ve seen here at Varnish Software is from an electric car manufacturer whose website hosts a lot of videos. As these videos consume quite a lot of bandwidth and take time to download, the company’s site was under stress. The manufacturer used intelligent caching to overcome this problem. An intelligent HTTP solution enabled them to keep only one copy of each video no matter how many people were trying to watch it without having to add any extra hardware. As a result, their site does not slow down even if a number of people are simultaneously watching their videos.
The advantage of modern intelligent HTTP caching is that it delivers results. Not only for so-called over-the-top (OTT) content streaming, where videos are streamed on demand from a huge catalogue of titles, but also for live streaming where viewers concurrently watch the same event. This can all happen from the company site without pulling visitors away or hurting conversion rates.
The bottom line is that with intelligent HTTP caching, both IT and Marketing can achieve their goals when it comes to site performance and user experience.