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.
The use of artwork takes pride of place in Kodi. The artwork will transform your mundane media player into a showpiece to be proud of, especially when teamed up with your favourite skin. Kodi will allow you to display Movie Posters, Fanart, Album Covers, Actor and Artist images to name a few. Install the Kodi slideshow add-on, and you will have a constant display of video or music fanart to brighten your entertainment room. 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). Kodi uses SQLite, an open source light-weight SQL database-engine, to store all its library related data (Music, Video, and Program databases). By default, the database files (*.db) are stored in The UserData Folder, specifically in userdata/Database.
In addition to indexing media files when activated by user-selected Content settings, Kodi also puts a video in its database if you change any OSD setting while watching it. Resume points are stored in this database as well. These entries are added to the database whether the affected video is part of the Video Library or not.
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 ability to import and export metadata and artwork 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. Movie artwork are images directly related to a movie, preferably of high quality, that are displayed when viewing the movie entry in the library. The movie section in Kodi has the impressive ability to display up to 14 types of artwork. This page will describe the different types of artwork available in the Movie category of Kodi. A Movie Set, also known as a Movie Collection, is a collection of movies that are, in some way, related to each other. The normal scraper sites include metadata for Movie Sets which is scraped by Kodi and creates the Movie Set in your library. Movie sets are versatile and can be created to suit your own preferences as they are easily edited in Kodi using the built in sets editor or by using NFO files. Music Video artwork are images directly related to an Artist or an Album. The images are, preferably, of high quality, that are displayed when viewing the Album or Artist entry in the library. The Music Video section in Kodi is able to display four types of artwork. This page will describe the different types of artwork available in the Music Video category of Kodi. Music artwork are images directly related to an Artist or an Album, that are either scraped into the Music library from extenal sources or, in the case of Album art, scanned from the appropriate tags embedded in the music files. The images are, preferably, of high quality, that are displayed when viewing the Album or Artist entry in the library. They may also be used as visualisations while playing music. The Music section in Kodi is able to display up to six types of artwork. This page will describe the different types of artwork available in the Music category of Kodi. 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. NFO files can be used to provide metadata to the library for video and a music files. They are helpful if the metadata fetched from a web site does not match the video or music you have, or if data for that particular file does not exist, such as for home movies. It can also be used to control the search behaviour of scrapers. 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. TV Show artwork are images directly related to a TV Show, preferably of high quality, that are displayed when viewing the entry in the library. The TV Show section in Kodi has the impressive ability to display up to 13 types of artwork. This page will describe the different types of artwork available in the TV Show category of Kodi. 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.