Video Playback: Simple Solutions for Stream Buffering
We all know how irritating it is when the movie you’re streaming keeps pausing, and you swear if you see that spinning wheel on the screen just one more time, you’ll give up and watch the content elsewhere. The delay when you’re forced to wait for the video to ‘catch up’ is referred to as buffering. And in the streaming world, it’s very common. While it can be a thorn in the side to even well-known platforms like Disney or Hulu, video buffering shouldn’t be accepted as a normal part of the streaming experience.
A negative viewer experience from a buffering video can be disastrous. Studies show that 40 percent of viewers will click away or drop out if buffering happens more than once. A significant drop in viewers from buffering can harm your brand’s reputation with irritated subscribers abandoning your content.
And it’s not just interruptions during the stream that you need to worry about. Ads can also make buffering worse and result in thousands of lost ad revenue. Studies show that if pre-roll ad delays reach five seconds, 13.6 percent of viewers abandon the stream. When that happens, advertisers aren’t willing to pay because they weren’t capable of reaching the intended audience. Viewers have very high expectations for the streaming experience. They simply don’t have patience for buffering.
What Is Buffering?
Buffering is most commonly referred to as the moment a video freezes and the spinning, loading dots appear — but that’s technically incorrect. When the loading symbol appears on the screen, it’s actually because the buffer is failing to feed the player the video and audio needed for playback.
The correct definition of buffering is the pre-loading of media to the memory where it is temporarily stored for delivery to the player. Even so, because buffering is typically used to describe the moment the video pauses to reload, we’ll refer to it that way in this article.
When buffering occurs, what’s essentially happening is the player is unable to retrieve the stream fast enough from the reserve and thus ‘runs out’ of video to play. While the player waits for more video and audio chunks to load (rebuffering), the screen will usually display a spinning wheel indicating the buffer is loading. While these rebuffering events can be short-lived and often last less than two seconds, you want to avoid this.
It’s a good idea to properly configure your video buffer before a streaming event. The idea is to ensure that the player will always have enough to continue playback should there be an unexpected stall from the source. If you notice a pattern during your streams where the video continues to pause to reload, this is typically a sign you need to increase the size of your buffer.
When a viewer experiences poor network conditions the video can buffer, but this is often the broadcaster’s fault. Viewers will likely point the blame at the streaming service regardless, so it’s in your best interest to prevent buffering from happening at all.
Let’s take a look at some common areas related to buffering and how a publisher can reduce the chances of video interruption during playback.
1. Insufficient Bandwidth
Lack of available bandwidth is often the cause of buffering. For this reason, we recommend testing your bandwidth and upload speed prior to a streaming event. You’ll want to ensure beforehand that you have what’s necessary to deliver the stream at the resolution you desire. You should also be able to support any unexpected spikes in client connections.
It’s generally recommended that your bandwidth be twice your broadcast bitrate. If you plan to deliver a higher resolution stream at 4K, you may even want to consider two and a half times the bitrate to play it safe. When you’re calculating the total bandwidth needed for your event, be sure to add the audio and video bitrates together for the correct estimate.
Once you have that number, we suggest using an online testing tool to get an idea of what your internet service provider (ISP) speed is. During your stream, we suggest you close all unnecessary applications and browsers in addition to powering down any external devices that that may burn up critical bandwidth. If your tests reveal you may be in need of additional bandwidth, be sure to contact your internet provider far enough in advance of your streaming event.
2. Poor Wi-Fi
Buffering can also be a result of unstable Wi-Fi, so it’s always a good idea to use a hard-wired Ethernet connection for your streaming event. Whether or not you’ll have a reliable signal during a stream can depend on many variables such as how many devices are using that particular network, time of day, and internet traffic — as well as how strong the signal is from your ISP.
Because network conditions are impossible to predict, a wired connection is recommended. If you do intend to use Wi-Fi for your streaming event, be sure your router is up to date, in good working condition, and in close proximity for the strongest signal possible. Remove any unnecessary devices connected to the network. Lastly, we recommend having a plan in place to use a network cable should any Wi-Fi issues pop up.
3. Clean Browser Cache
If your browser is overloaded with temporary data, it’s a good idea to occasionally clear the cache to avoid buffering. Cached files can become corrupted. And if you have bad data in the browser’s local memory, your streaming performance could be negatively impacted by slower than average transmissions. Since the main benefit of a cache is to temporarily store files locally for faster access, it can become quite large and consume a significant amount of memory. For this reason, doing some browser clean-up work prior to an event is a simple solution for sputtering and buffering videos.
4. Reducing Video Quality
If the quality of video is more than your network can support, lowering the bitrate from the source can be a quick solution for the video publisher. It’s not ideal, but if your server is struggling to transfer a certain amount of data, you could face unpleasant issues such as video frames dropping — thus resulting in a low-quality stream for your viewers. It’s important to remember that more isn’t always better when it comes to frame rate and streaming because it takes more bandwidth to support a high-quality 60 frames per second (fps) stream than a high-quality 30 fps stream. For most productions with normal motion, viewers can’t tell the difference between 30 fps and 60 fps at equal quality levels, so not all is lost should you need to make some adjustments.
5. Adaptive Bitrate Steaming
On the flip side of the coin, adaptive bitrate streaming (ABR) is a standard practice to reduce buffering at the player and delivers the highest quality video for all viewers, no matter the device or network conditions. Adaptive streaming resolves the buffering issue by creating multiple versions of the original stream and allowing the player to select the version it can best support based on its operating system and available bandwidth. When using a media server such as Wowza, a transcoder is used to create multiple streams at different bitrates and resolutions, thus ensuring the best stream possible for your viewers. Adaptive bitrate streaming prevents playback interruptions by adapting and quickly switching to a different video resolution.
6. Using a CDN
Delivering your video over a content delivery network (CDN) is an effective strategy to prevent buffering because it allows you to cache content closer to the viewers who are connecting over long distances. Attempting to stream a bulky video file directly from your local server to the viewer can often result in slow streaming, a choppy picture, or the stream pausing to reload. With a CDN however, you’re able to make a copy of your video file closest to your user’s geographic location and use an edge server to quickly deliver it on your behalf. This reduces the load on your server and ensures a more reliable viewing experience.
Keep in mind that each CDN provider has its own global map for edge server locations. Should you notice a pattern of buffering occurring in a particular country, this might mean your CDN provider is struggling to delivering the video from your source to the edge server for that area. A potential solution would be to compare the points of presence (PoPs) or edge server locations between different CDN providers and consider making a change for more efficient video distribution.
7. Updating Graphics Card Drivers
Graphic driver updates can make a significant impact on buffering, so it’s in your best interest to check you’re using the latest version. A high-quality streaming experience can depend on the performance of your graphic card. You’ll want to avoid using outdated graphic drivers that can present limitations. Newer versions of graphics cards offer architecture that enables accelerated transcoding at greater scale and speed. The transcoder in the Wowza Streaming Engine media server software supports accelerated video encoding and decoding using NVIDIA graphics cards.
Hopefully, the information in this article will reduce the chance of your video stream buffering. It’s critical to capture the attention of a viewer and keep them engaged, so be sure to pay close attention to high-risk areas for buffering such as pre-roll ads or playback interruptions on mobile devices that lack necessary bandwidth. In 2021, there’s more options than ever before for viewing streams. That’s why as a publisher, you’ll want to do all you can to avoid the negative impact of buffering and keep your viewers happy.
Search Wowza Resources
About Rose Power
Rose Power is the developer community manager for Wowza Media Systems. Passionate about building relationships with the dev community, Rose strives to deliver quality resources for a positive user experience built on trust. When not working, she can be found playing the ukulele around a fire or hiking the mountains of Colorado with her pup.