This section covers advanced topics for power users and those not afraid to break things.
The advancedsettings.xml file, which does not exist by default, can be created by a user in their userdata folder.
This file is used for advanced settings and options that do not have GUI controls inside of Kodi. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is "advancedsettings.xml". These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.
autoexec.py is an optional python script that users can create in their userdata folders that will be executed when Kodi starts up. DSPlayer is a DirectShow based player for XBMC. DSPlayer support DXVA hardware acceleration (works in Windows Vista and higher), as well as any custom DirectShow filters (e.g. LAV filters, ffdshow, ac3filter). An edit decision list (EDL) contains information about edits that should be made to the video during playback. Edit decision list information is contained in a separate file to the video that is read by Kodi just before the video is played. Examples of use include can be to skip commercials, cut out content inappropriate for children, or skip over the half hour acid trip in 2001: A Space Odyssey . While the built in video and audio players are capable, out of the box, to handle a huge variety of content, users might find themselves in need of using a different playback software but still using Kodi for scraping and organizing content. Reasons might include improved post-processing abilities, DRM restricted media that requires a specific player (such as encrypted Blu-ray discs), special player-specific features, etc. Kodi has a powerful tool to achieve this, the external player. The current method involves the configuration of a playercorefactory.xml file. Kodi offers the capability to import and export data manually into/from the Media Library, as well as importing media info automatically from .nfo files. At some point during your foray into Kodi, you will likely come up against a problem that isn't made 100% clear from errors in the GUI. This is where the log file comes into play. Kodi writes all sorts of useful stuff to its log, which is why it should be included with every bug/problem report. If you have more than one Kodi device on your local network then you might want to synchronize them using a MySQL library. Using a MySQL library allows you to store information about your whole video library in a central database, so that multiple devices can access the same information at the same time. Path substitutions are settings in advancedsettings.xml to force Kodi to use different file paths. These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle. Path subs work for most file and folder paths. Path subs work across local and network paths, across different network protocols, and can even be used with some of the special protocol. The "Special Protocol" is Kodi's solution to platform dependent directories. Common directory names are assigned a special://[name] path which is passed around inside Kodi and then translated to the platform specific path before the operating system sees it. This helps keep most of the platform mess centralized in the code. The system data folder is where files needed to operate are stored. This includes the executable files, system data files and default addons/settings. The userdata folder is where all of your settings and customizations are stored. Starting in v13, Kodi can automatically issue a 'wake-on-lan' packet to MySQL or a file sharing server right before it needs to connect to it.
As of v14, Kodi supports a backdoor to specify the location of your settings folder, which includes the userdata folder and add-ons. It is the equivalent of using environment variables on other platforms Sets of language strings for Kodi v15 and later are now provided in the form of add-ons. Kodi still comes with International English by default, but does not include other languages until they are selected and downloaded. If you are doing an off-line installation of Kodi and won't have an internet connection when you change the language preferences then you will need to download the language add-on ahead of time. This page describes three advancedsettings.xml settings that can be used to modify when "watched" and "resume" marks are saved. These settings can also be used to prevent automatically saving watched and resume points. A watched point records if a video has been watched or not. A resume point records where in a video file playback has stopped, so it can be resumed later. Dirty regions is an advanced setting and interface rendering method that can help speed up the GUI in Kodi and decrease the demand on your CPU and GPU. Dirty regions has no effect during video playback unless there are GUI elements (on screen buttons) visible. Using dirty regions requires Kodi v11 (Eden) or higher. 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. As your library and usage of Kodi grows, so does the disk space storage taken up by Kodi's various settings and files. If you have a device with a low amount of internal disk space storage (8GB or less), such as a Fire TV, Raspberry Pi, and various Android boxes, this can be a problem. And the same goes when running Kodi from a smaller sized USB flash drive or SD (Secure Digital) card. This how-to will show ways to reduce the space used, as well as reclaim space from files that are no longer needed. Some quick methods to updating the Kodi library outside of the Kodi interface. There are also several supplemental tools and smartphone remotes that can remotely update the library as well.
Kodi has functions to fully manage its database files. Some advanced operations can be performed by editing the database tables directly on your PC. Be forewarned that database tables are relational (inter-related) - do not change any entries unless you are sure of the implications! Make a backup first, and worst-case, you just have to delete the corrupt database file and rescan your music, videos, or programs from within Kodi.
librtmp is a library made from RTMPdump, a toolkit for RTMP streams. Kodi comes with a copy of librtmp (compiled specifically for the OS Kodi is installed onto) for accessing streams, and often used in several add-ons. Sometimes, when websites that host the content for those add-ons change things, a new version of librtmp is needed for the add-ons/streams to work again.
Kodi only updates librtmp when there is a stable version available. While nightly versions of Kodi may contain new stable librtmp, stable versions of Kodi are normally only released about once a year. However, you do not need to update all of Kodi to update librtmp, but just replace one file within the Kodi application.