HOW-TO:Modify the video cache: Difference between revisions
Line 135: | Line 135: | ||
=== Example 4 === | === Example 4 === | ||
A safe setting for most devices with 1GB of RAM that should help most users "on the edge". All protocols get cached, cache rate fills up pretty much as fast as possible, and cache size is | A safe setting for most devices with 1GB of RAM that should help most users "on the edge". All protocols get cached, cache rate fills up pretty much as fast as possible, and cache size is about 140MB, using about 420MB of ram total. | ||
;advancedsettings.xml | ;advancedsettings.xml | ||
Line 142: | Line 142: | ||
<network> | <network> | ||
<buffermode>1</buffermode> | <buffermode>1</buffermode> | ||
<cachemembuffersize> | <cachemembuffersize>146800640</cachemembuffersize> | ||
<readbufferfactor>20</readbufferfactor> | <readbufferfactor>20</readbufferfactor> | ||
</network> | </network> |
Revision as of 23:26, 5 September 2016
advancedsettings.xml Video library |
HOW-TO:Modify the video cache |
This page describes three advancedsettings.xml settings that can be used to maximize the video playback cache. You can use all or just a couple of these settings to see significant improvements in cache performance, should you require it (most users will not require these modifications). This can help with intermittent network issues, buffering, reduce how long the network is tied up, and sometimes improve battery life.
Note: Even if you change the cache settings in Kodi, that won't change how fast the video file data comes in over the network. For example, it won't make a slow server load the video any faster.
Note: PVR users will need to use different settings detailed on advancedsettings.xml#pvr.
Steps
If you don't already have an advancedsettings.xml file, it's very simple to make. Kodi uses this file for advanced settings and features that normal users shouldn't modify without first knowing what they do, as well as for experimental features, etc.
1 | Since you can use all or just some of the following settings, let's start out with the basic file. Create a plain text file (no rich text formatting, don't use .doc, etc) and save it as advancedsettings.xml. Make sure that the file extension is ".xml" and not ".txt" or ".xml.txt". | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2 | Cut and paste this into your new plain text file:
| ||||||||||||||||||||||||||||
3 | Add some or all of the settings tags from the next section. | ||||||||||||||||||||||||||||
4 | Save this file in your userdata folder:
Note: If you have an existing file, make sure the <network></network> tags, and settings we'll add between them, are between the main <advancedsettings></advancedsettings> tags. The Userdata folder is a subfolder of the Kodi Data Folder and is located as shown in the table below.
|
Cache settings
advancedsettings.xml tag | what it does | ||||||||
---|---|---|---|---|---|---|---|---|---|
<buffermode>1</buffermode>
|
Choose what to buffer
This setting will force Kodi to use a cache for all video files, including local network, internet, and even the local hard drive. Default value is 0 and will only cache videos that use internet file paths/sources.
| ||||||||
<cachemembuffersize>20971520</cachemembuffersize>
|
Increasing the cache
Here we can do two things:
or
| ||||||||
<readbufferfactor>10</readbufferfactor>
|
Increase the fill-rate of the cache
By default (value: 1), Kodi will only fill the cache a little above what is needed to play it back. It does this as to not max out your network and possibly max out some hardware. For most users and hardware, this setting shouldn't cause any issues, but be aware of it if you have unusual CPU spikes in your HTPC.
|
Kodi v17 changes
FUTURE Krypton FEATURE: |
In the upcoming Kodi v17, the following tags are removed from <cache> <memorysize>0</memorysize> <!-- number of bytes used for buffering streams in memory When set to 0 the cache will be written to disk instead of RAM --> <buffermode>0</buffermode> <!-- Choose what to buffer: 0) Buffer all internet filesystems (like "2" but additionally also ftp, webdav, etc.) (default) 1) Buffer all filesystems (including local) 2) Only buffer true internet filesystems (streams) (http, etc.) 3) No buffer --> <readfactor>4.0</readfactor> <!-- this factor determines the max readrate in terms of readbufferfactor * avg bitrate of a video file. This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --> </cache> |
Examples
Example 1
All three options enabled, using local hard drive for cache.
Do not use this for flash-based memory devices. |
- advancedsettings.xml
<advancedsettings> <network> <buffermode>1</buffermode> <cachemembuffersize>0</cachemembuffersize> <readbufferfactor>30</readbufferfactor> </network> </advancedsettings>
Example 2
Only cache size changed, using 100MB of RAM for cache (which requires 300MB of free RAM).
- advancedsettings.xml
<advancedsettings> <network> <cachemembuffersize>104857600</cachemembuffersize> </network> </advancedsettings>
Example 3
Two options enabled, using 50MB of RAM for cache (which requires 150MB of free RAM), and cache both internet, LAN, and local content.
- advancedsettings.xml
<advancedsettings> <network> <buffermode>1</buffermode> <cachemembuffersize>52428800</cachemembuffersize> </network> </advancedsettings>
Example 4
A safe setting for most devices with 1GB of RAM that should help most users "on the edge". All protocols get cached, cache rate fills up pretty much as fast as possible, and cache size is about 140MB, using about 420MB of ram total.
- advancedsettings.xml
<advancedsettings> <network> <buffermode>1</buffermode> <cachemembuffersize>146800640</cachemembuffersize> <readbufferfactor>20</readbufferfactor> </network> </advancedsettings>
See also
- Caches explained
- Advancedsettings.xml#pvr - For PVR cache settings