Search This Blog


Thursday, June 4, 2015

Buffering: what is the cause and how to fix it

SStop/Start Video Playback)
If you're encountering stop/start buffering problems with your video playback it could be any number of problems, I would highly recommend watching the video at the bottom of this post as that will explain in greater detail but the most common issues are summarised below:

1) Servers are overwhelmed: This is probably the most common problem users encounter. Just like your home internet connection where you're limited to a certain speed at what data can be transferred you'll find the servers that host any online content have to abide by similar standards. If you're trying to stream a video from a server that has 10,000 other people also trying to access content on it then the speed that video can physically reach you will be much slower than if just 100 people were using that server. Remember MANY videos will be hosted on the same server, just because you pick a video that might not necessarily be that popular that's not to say it's not on the same server as some very popular videos that everyone wants to watch - every video on this server will be affected by the amount of users accessing the server. Peak times (especially weekends) are when the majority of users struggle with buffering and this is simply down to demand, too many users wanting to access the servers all at once. The easiest way to find out whether or not the server is the problem is start the playback and then press 'o' on your keyboard, this will display a lot of text at the top of the sceen. Don't worry it looks confusing but you just need to take a look at the bit at the bottom that mentions cache, if this keeps falling to zero then the servers are getting hammered and you'll have to find another source to use. Another option is to download the video and watch at a later date or there is a great little workaround which you'll see at the bottom of this post.

2) Check your download speed: If you want to successfully watch an SD stream then a minimum of 2mbps download speed is recommended (you may get away with a bit less depending on the stream quality), if you want to stream any HD content then it will be considerably more. It really all depends on the quality of the stream, as a very rough guide a low quality stream (based on a 40 minute TV episode) could be as little as 150MB but the same one in HD could be anything up to 100x that number! Go to 
and run the speed test to see what download speed you're getting, if it's showing a lower figure than you expected then it may well be your router...

3) Reset the router: If you're using the router supplied by your ISP there's a good chance it's the cheapest one they could find and these are prone to playing up! Quite often you'll find cheap routers need a reset so if you're getting low speeds unplug your router at the mains for 1 minute and then plug it back in and give it a minute to reconfigure, run the speedtest again and see if you've got any speed increases.

4) Check for other processes running on your network: Remember whatever download speed you have is shared between anyone using the same connection, if someone else in the household is playing a game with their friends on Xbox Live then this will lower the speed you can get, the same goes with anyone streaming content in another room. Downloads (especially torrents) can use up a lot of bandwidth, if you're having issues then consider pausing them or setting the download speed much lower.

5) Wi-Fi: If you intend to use XBMC for accessing online streams then it's highly recommended to use a wired connection rather than wireless, this is especially true when watching live streams as you only need one dropped packet and the stream will stop. Some units have very good Wi-Fi antennas but most don't, if you're struggling with your Wi-Fi connectivity then you may want to consider homeplugs (sometimes referred to as powerline adapters, although that's a brand much like Hoover/vacuum cleaner). These give the feel of wireless as you have no long wires around the house but they are actually wired, they are little adaptors that plug into your mains socket and convert your mains circuit into a local network. These are very simple to use and if you shop online you can pick them up very cheaply, certainly in the UK you can get a twin pack for around £20 however as with anything there are good and bad makes so do your homework. It's not advisable to use these if you live in shared accommodation such as apartment blocks that use the same mains circuit, anyone on the same mains circuit can simply plug an adaptor in their mains socket and will be using your internet connection.

6) I ABSOLUTELY have to use Wi-Fi but can't use homeplugs: If you absolutely have to use Wi-Fi then the only thing you can do is make sure you have a good quality router and the higher you place it the better the signal (in theory!). If you have an XBMC device with an internal Wi-Fi antenna and the signal is weak you may want to consider modifying it so the antenna is external. Devices that have internal antennas can be prone to interference from other internal components and this is especially true if using little Android TV Sticks - some manufacturers seem to think it's a good idea to have the antenna next to the HDMI connector... it's not!

7) Hardware specific: The stop/start buffering effect may have absolutely nothing to do with your internet speed and it may be hardware related, unfortunately the only real way of finding a solution is doing lots of research - google is your friend! Some hardware (especially android) may be sold as being 1080p compatible and that may well be the case, however that doesn't mean XBMC can play 1080p content on that device, in fact it may even struggle with 720p! Things have certainly got much better since the release of XBMC v.13 (Gotham) and there is much greater compatibility with all the different android chipsets but there's still plenty out there that either need special builds, tweaks or simply aren't capable of delivering HD content via XBMC at all. Remember when buying any hardware always check our compatibility thread and hardware section before making that all important decision, if you can't find any information feel free to ask and someone may be able to advise. If you're using very dated devices such as the ATV1 or Xbox they aren't able to output at 1080p as they just don't have the necessary hardware for it.

8 ) ISP Restrictions/Throttling: This is becoming more and more common with ISP's (especially in the UK). ISP's are being made to block certain sites, these are generally the more reliable ones when it comes to streaming so you may end up only being able to find a working link for one of the less reliable hosts. They may also throttle your bandwidth when you try and access certain sites. The solution for this is either switch ISP (although there's no guarantee your new ISP won't do exactly the same) or you could get a VPN which makes your browsing completely anonymous to your ISP. There is a great VPN solution that integrates directly into XBMC/Kodi, you can find out more information at

Is there a fix for buffering?
Unfortunately there really is no magic fix for things that are out of XBMC's control, however there is a nice little tweak you can make XBMC is very customizable and there's a text file the user can create called advancedsettings.xml - you can create lots of cool bespoke settings in here and they will override the XBMC defaults, for this guide we're only interested in one setting... cachemembuffersize. By default XBMC will cache to RAM and for the most part this is great as RAM is designed for this sort of work and it's very fast but there's one big drawback and that is you're limited to the amount of video footage you can cache. Using your RAM for the cache will only allow you to store a few minutes worth at a time so if the servers are slow the cache will quickly empty and then you'll have to wait for the next part to download before playback will begin again.

If we set the cache buffer to zero that tells XBMC to cache video to the storage device XBMC is installed to (traditionally a hard-drive) rather than RAM. This is particularly useful if you’re using a PC, Xbox, Raspberry Pi or any other device with storage that has plenty of space. DO NOT use this if your XBMC install is located on an SD card there’s a very high chance it will corrupt. Although it’s not a magic fix for slow servers or slow download speeds what this will do is allow you to pause playback, go and make a cuppa tea and then come back 5 minutes later to find you’ve got lots of video downloaded in your cache ready to play. If you leave it long enough it will cache the whole video meaning absolutely no chance of buffering problems at all. If you press ‘o’ during playback XBMC will show a whole load of text at the top, you can ignore most of that as all we’re interested in is the cache – it should say …MB and that should continue increasing the longer the stream is paused. You can use that as a good guide, personally if there’s a slow server I’m trying to use I try to let it get to about 60MB before resuming playback and the cache will gradually decrease but normally that’s enough to get through a whole episode of something. If it’s a particularly slow server you’ll be able to see by how long it takes to get the cache up to a decent number, if it’s taking far too long try and find another source unless you’re willing to wait for the whole thing to cache. Below are 3 frequently asked questions:

FAQ 1: Can I cache to a hard-drive that XBMC isn’t installed on? No, you can only cache to the device XBMC is installed on.

FAQ 2: How do I delete cache? Cache is automatically deleted once playback has stopped, there is no need to manually delete.

FAQ 3: Why isn't this enabled by default? Caching to your storage device will cause much more of a strain on your HDD (or whatever your storage device is) as it will constantly be in use when streaming videos. This is a risk and only you can make the decision on whether or not it's worth taking. Will it decrease the life of the device? Almost certainly. How much will it decrease the life by? As of yet I've not encountered any problems at all but I've only used it on devices that have standard mechanical 3.5" hard-drives so they are pretty robust.

Post a Comment