Video DevOps & Live Streaming
Happy Super Bowl Sunday! Wooohoooo!
The Super Bowl is practically a national holiday in the US. Except that instead of an awkward dinner with family where your aunt has a little too much to drink and starts spilling family secrets, you get to hang with your friends and eat what you want. Who’s watching the game on their TV and who’s watching it via a mobile device? Last year over 100 million people watched the Super Bowl. I can’t wait to see the 2017 stats on how many people watch the big game using live video streaming. Video Live Streaming is a MUST now. We REQUIRE it. Isn’t it amazing how quickly our demands evolve with technology?
Let’s say you are watching the football game from your phone. Maybe you are stuck at the airport, waiting to board because you have to be onsite with a client early Monday morning. Perhaps you are on a ski vacation and catching the game from the lift in between runs. Or worse, you are
More and more applications are supporting video content. Why? Emotions. When we get our content delivered via a Live or pre-recorded video, we FEEL the emotions (the energy, the positivity, the hope, the seriousness) of the message. It is a shared experience. We love to get real time new information via the web without having to read it. Video is our preferred media type. No doubt, video is the easiest way to market, sell, learn, provide, document, and deliver riveting content. Your Facebook ads are full videos now and the click rates are through the roof. VLOGs are the rage instead of old-fashioned Blogs.
HLS is here to stay
For many years RTMP (Real Time Messaging Protocol from Adobe) was extremely popular. However, support for it has dropped dramatically. Many CDNs no longer or never supported it. Of the CDNs that do support it, many ingest RTMP and output HLS, HDS or MS Smooth. If you have not started to move away from serving your streaming content from RTMP, NOW is the time to start.
The most popular video-streaming framework is HLS (HTTP Live Streaming) developed by Apple. HLS can distribute both LIVE and on-demand video files. This technology involves an adaptive bit rate. Basically, the client’s network capacity is detected, and the quality of the video is adjusted on the fly. The network capacity depends on such things as being connected to the Wifi or using Cellular data with different level of signals. When
HLS uses web servers (think Apache,
Firstensure your CDN is aware of the load test. That is a best practice for any load testing effort when a CDN is involved.
- Next, we need to emulate a population of users using varying bit rates to represent network connections. It is vitally important to validate that all bitrates are available to stream
- It is important to have a predefined amount of video segments for all bitrates. This will allow you to scale the amount of data you stream up or down with ease and it makes validating that all data was downloaded much easier.
- Configure your script to extract the video segments and play them in a loop so that each segment plays sequentially
- As you raise the concurrency of virtual users you raise the concurrently of the number of video segments being played.
- Segments that are slow to download indicate that playback is slow or jittery. Segments that are not fully downloaded indicate video that is not playing. Users are experiencing poor video quality.
- Monitor the infrastructure for bottlenecks and tune for scalability.
Depending on how popular the content is, there could be hundreds, thousands, sometimes millions of curious people jumping on a live stream. Be ready. Contact TPC for a Performance Engineering statement of Work and we can help you ensure you don’t fumble your customers away.