With the rise of OTT streaming services like Netflix, Amazon Prime, and Hulu, we can now watch our favorite movies and TV shows anytime, anywhere. However, one of the most frustrating problems video streamers face in OTT is startup delay or latency. It ruins the video streaming experience and often leads to drop-offs and revenue loss.
Startup delay or latency is defined as the time taken for the first frame of video to be displayed (or for the video to be displayed) after a user clicks the “play” button on the UI.
For UGC content (Facebook Reels or YouTube Shorts), there is an expectation that the video should start immediately when the user scrolls to the next content. Any delay in showing the next video will frustrate the user leading to poor reviews and drop-offs.
In this article, we will explore what startup delay is, how it is measured, how it affects the video streaming experience, and suggest several ideas to reduce it.
What Causes Startup Delay or Latency?
We have already defined startup delay or latency as the time taken for the video to start playing (or the first frame of the video to be displayed) after the user clicks the “play” button on the UI. It is typically measured in seconds, where a high value is terrible and a low value is good.
Let’s understand what happens when you hit “Play” on a video player:-
- the player sends a request to the video backend for the video’s URL (typically, the player is looking for an HLS playlist or a DASH manifest)
- the backend might check for playback authorization based on the user’s subscription plan, device, geography, etc.
- After the checks are complete, the video backend responds with the URL.
- The player parses the URL and requests the CDN or origin server for the first video segment.
- Upon receiving the video segment, the player decodes the video and displays the video to the user.
In case the service uses DRM, the video player needs to ask the DRM license server for the license to decrypt the video. Also, in AVOD (advertising VOD), a pre-roll ad might be played before the video starts playing.
The startup delay will increase if any of the above subsystems stop functioning or experience delays.
Looking at the sequence of events that need to take place, there can be multiple causes for startup delay or latency, such as –
- corrupted video files to faulty transcoding,
- network issues,
- unavailability of video segments on the CDN,
- bugs or problems in the video backend services
- problems in the playback logic,
- delays in the DRM servers
- and even with the ad servers a streaming service might be using.
These issues will cause problems in video playback and lead to startup delays. In the last section, we look at mitigating these problems and reducing the startup delay.
How Does Startup Delay Affect the Video Streaming Experience?
Users expect the video to start playing immediately when they click the play button. If there is a delay, the user may become frustrated and lose interest in the content. This can lead to decreased engagement and a loss of revenue for the streaming service.
In addition, a startup delay can also affect the quality of the video. If the video is buffering or taking too long to start, the user may experience a lower-quality video. This can lead to a decrease in user satisfaction and negatively impact the streaming service’s reputation.
This delay can be caused by various factors, including slow internet speed, buffering, and server issues. Startup delay can be particularly frustrating for users trying to watch a live event or a show that is only available for a limited time.
Ways to Reduce Startup Delay / Latency in OTT Streaming
Use Efficient Video Codecs
Using efficient video codecs can significantly reduce startup delay in video streaming. Efficient video codecs, such as H.264 and H.265, can dramatically minimize startup delay by compressing video files and allowing them to be streamed quickly. You only need to ensure that your chosen codec is compatible with your end-user’s devices.
Better Bitrate Ladder for ABR Streaming
In addition to using an efficient video codec, you also need to check and understand the network conditions of your end users and tune your bitrate ladder accordingly if you are using ABR Video Streaming.
For example, if you are streaming to a rural network where the bitrate is not higher than 2 mbps, you should be careful not to transcode your videos at very high bitrates, such as 5 or 6 mbps. In such situations, the likelihood of high startup delays can be reduced if you have low bitrate renditions such as 500 kbps, 750 kbps, etc.
Improved Playback Algorithms
Another place to improve your service’s performance is to inspect the logic that drives the download of the first video segment (e.g., BOLA). If you are using ABR video streaming, the video probably has four or five renditions and the player will pick one of the renditions after inspecting the network conditions. You can expect a long startup delay if this rendition is wrong (w.r.t the network condition).
A good rule of thumb is to start with the lowest bitrate rendition and slowly increase the quality based on the network condition, and then, you can expect low startup delays.
Using a CDN (Content Delivery Network)
If you are not using a CDN, then you should be! Apart from scalability, security, and performance, a CDN can uplift your video streaming quality to a different level. Read here to learn more about CDNs and their impact on your service.
Keeping track of the CDN Cache’s Performance.
You can check whether the CDN configuration is correct by inspecting your provider’s cache hit-and-miss ratios. Sometimes, a very small Time-To-Live (TTL) can result in important data being removed from the CDN, resulting in longer round-trips back to your video origin server.
Checking your Ad Network
If you are using ads in your service, there is a high likelihood that the ad provider is contributing to the increase in latency. Consider the following scenario –
- You are an AVOD service provider who delivers pre-roll ads.
- When a user presses “play,” an ad is played, and then the video is played.
- A 3rd party ad provider delivers the ad.
In this situation, it is possible that the 3rd party’s systems might have introduced delays in the delivery pipeline, causing the ad to take a long time to load. This, in turn, can frustrate your users and result in them leaving the video.
If you are releasing a new movie and know that many people will watch it simultaneously when it launches, you can consider “prewarming your CDN cache.” This means a copy of the video’s HLS playlist or DASH manifest and the first few segments of the video are stored on the CDN.
When the movie launches and there is a rush of people to watch it, the CDN can quickly respond with the playlist/manifest and the video segments, thus, reducing the startup delay or latency. Also, keep an eye on the number of cache hits/misses to better tune your CDN.
Instrumenting and Inspecting Video Backend Services
A video backend is a complex set of APIs and servers that keep the entire service alive. It plays a critical role in reducing the startup delay. With proper instrumentation, you can inspect your backend services and check
- if the playback URLs are being returned quickly,
- if the authentication services are fast or slow,
- or if the DRM response is fast enough.
Improving your Network Condition/Speed
Finally, as a user, you can reduce startup delays by improving the network by doing a couple of things, such as
- changing from WiFi to a fixed line,
- increasing the speed by talking to your service provider,
- or adjusting the position of the router to get better service.
A faster internet connection can help fetch the first video segment, resulting in a more negligible latency or startup delay.
Startup delay or latency is a significant problem for video streaming services. It can hurt the user experience, video quality, and revenue. However, by implementing the ideas discussed in this article, streaming services can reduce startup delays and improve the overall user experience.
By optimizing video encoding, using CDNs, implementing adaptive bitrate streaming, reducing the number of ads, and improving server infrastructure, streaming services can provide a better video streaming experience for their users.
Krishna Rao Vijayanagar
I’m Dr. Krishna Rao Vijayanagar, founder of OTTVerse. I have a Ph.D. in Video Compression from the Illinois Institute of Technology, and I have worked on Video Compression (AVC, HEVC, MultiView Plus Depth), ABR streaming, and Video Analytics (QoE, Content & Audience, and Ad) for several years.
I hope to use my experience and love for video streaming to bring you information and insights into the OTT universe.
Be the first to comment