Whether delivering movies, covering your favorite sporting event or blasting out internet radio, one of the big consumers of internet bandwidth is streaming content. Websites have popped up worldwide and audiences have become globally accessible. Streaming video is most often delivered to the end users through the HDS or HLS protocols. HLS (HTTP Live Streaming) is the popular streaming format created by Apple to support its iOS-based products. It’s supported by a large number of devices, video applications and browsers and is proxy-friendly, since it uses HTTP.
HLS is an Adjustable Bit Rate (ABR) protocol, which provides a mechanism for increasing or decreasing the rate at which the stream is delivered to the end user through the use of feedback mechanisms. ABR protocols deliver streams at low, medium and high rates to give the player the ability to request the stream at the best rate for the quality of the signal it’s receiving. The stream is created when the end user’s player accesses the Manifest File and selects the highest bit rate that it can. If there is any indication that there are video chunks being lost or delivered late, the player can use the Manifest File to select a slower bit rate. This is important because, unlike static artifacts which can be delivered using error correcting protocols like TCP, streaming content has to be delivered on-time and in sequence. Late or out-of-sequence streamed packets are simply dropped, causing jerky, disjointed and hard-to-watch videos.
So before and after you start leveraging streaming video on your website, you should run some synthetic monitoring tests to ensure your website, and your CDN, are tuned and ready to deliver a quality stream to your end users. The key to testing is to have a script that will, with only a link to the master manifest as an argument, do the following:
- Validate that all Bitrates are available for the stream, even if the customer uses a different amount of bitrates on all check executions and
- Download a predefined amount of chunks for all bitrates. If you can do this, you can use the script to make 100, or even 1000, different streaming checks with the same effort as creating a URL check.
Apica’s WPM now make a solution like this available to you, enabling you to exercise and measure your content delivery from every point on the globe. Not only can you gather the usual information, the script also captures CDN debug/pragma data. This added information will give you a large amount of data regarding CDN delivery so you can better determine if your streams are being delayed or the bitrates are being reduced because of your website or your CDN.
So plan to add streaming content to your website and keep your streams running strong through the use of synthetic monitoring and solid scripts that show you what you need to know to keep those streams flowing.