Kodi

From LinuxTVWiki
Revision as of 00:28, 19 October 2015 by EnduringGuerila (talk | contribs) (Created page with "{{Use dmy dates|date=January 2013}} {{Infobox software | name = Kodi | title =Kodi | logo = File:Kodi-logo-Thumbnail-li...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Use dmy dates Template:Infobox software Kodi (formerly XBMC) is a free and open-source media player software developed by the XBMC Foundation, a non-profit technology consortium.<ref>Template:Cite web</ref> Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most videos, music, such as audio and video podcasts from the internet, and all common digital media files from local and network storage media.<ref name="XBMC is the best media center application. Period.">Template:Cite web</ref><ref name="XboxMediaCenter Review">Template:Cite web</ref><ref name="Modding The Xbox Into The Ultimate Multimedia Center">Template:Cite web</ref>

It is a popular multi-platform alternative to Windows Media Center for HTPC (Home Theater PC) use.<ref name="Hive Five Winner for Best Media Center Application: XBMC">Template:Cite web</ref><ref name="Five Best Media Center Applications">Template:Cite web</ref><ref name="Most Popular Free Mac Downloads of 2008">Template:Cite web</ref><ref name="XBMC 9.04 delivers impressive media center experience">Template:Cite web</ref><ref name="Which Media Center Is Right for You: Boxee, XBMC, and Windows Media Center Compared">Template:Cite web</ref> Kodi is highly customizable: a variety of skins can change its appearance, and various plug-ins allow users to access streaming media content via online services such as example YouTube, Amazon Prime Instant Video, Crackle, Spotify, Rhapsody and Pandora Internet Radio<ref name="Customize XBMC with These Five Awesome Skins">Template:Cite web</ref><ref name="XBMC 9.11 makes your open source home theater look shinier">Template:Cite web</ref> The later versions also have a PVR (Personal Video Recorder) graphical frontend for receiving live television with Electronic Program Guide (EPG) and high-definition DVR (Digital Video Recorder) support.<ref>Template:Cite web</ref>

The software was originally produced as an independently developed (homebrew) media player application named Xbox Media Center (abbreviated as XBMC) for the first-generation Xbox game console,<ref name="XboxMediaCenter Review"/><ref name="Modding The Xbox Into The Ultimate Multimedia Center"/><ref name="Review of XBMC in Hardcore Gamer Magazine">http://www.o-sd.com/hardcoregamermag/publicPDF/HGM_Aug.pdf Review of XBMC in Hardcore Gamer Magazine</ref> and was later made available under the name Kodi (formerly XBMC) as a native application for Android, Linux, BSD, Template:Nowrap, iOS, and Microsoft Windows based operating systems.<ref name="FLOSS Media Center State of the Art">Template:Cite web</ref> It is also available as a standalone version referred to as Kodibuntu.<ref name="XBMC Live 9.11">Template:Cite web</ref><ref name="XBMC Live Atlantis Beta1!">Template:Cite web</ref><ref name="XBMC Live 8.10 (Atlantis) released">Template:Cite web</ref>

Because of its open source and cross-platform nature, with its core code written in Template:Nowrap (ANSI standard), modified versions of Kodi/XBMC together with a JeOS have been used as a software appliance suite or software framework in a variety of devices including smart TVs, set-top boxes, digital signage, hotel television systems, and network connected media players. Derivative applications such as MediaPortal, Plex, ToFu, Voddler, and Horizon TV have all initially been spun off from XBMC.<ref name="XBMC is the best media center application. Period."/><ref name="XBMC 9.04 delivers impressive media center experience"/><ref name="Voddler använder XBMC">Template:Cite web</ref><ref name="CrunchGear Interview: We talk to the lead developer of Plex Media Center for Mac OS X: It was doing Boxee-like stuff before Boxee was cool">Template:Cite web</ref><ref name="Thinking inside the box">Template:Cite web</ref><ref name="Thinking inside the box"/>

On 1 August 2014, it was announced that starting with version 14, XBMC would officially be renamed to Kodi.<ref>http://xbmc.org/introducing-kodi-14/</ref>

Overview

Kodi supports most common audio, video, and image formats, playlists, audio visualizations, slideshows, weather forecasts reporting, and third-party plugins. It is network-capable (internet and home network shares). Unlike other media center applications such as Windows Media Center, MediaPortal and MythTV, Kodi does not include its own internal digital TV-tuner code for Live TV or DVR/PVR recording functionality, as instead it acts as a unified DVR/PVR front-end with an EPG TV-Guide GUI interface which, via a common API interface, abstracts and supports multiple back-ends via PVR client add-ons from third parties, with those running either locally on the same machine or over the network.<ref name="XBMC is the best media center application. Period."/><ref name="XBMC 9.04 delivers impressive media center experience"/><ref name="XBMC 9.11 makes your open source home theater look shinier"/><ref name="FLOSS Media Center State of the Art">Template:Cite web</ref><ref>XBMC September Cycle - Personal Video Recorder (PVR) support</ref><ref>Template:Cite web</ref>

Plug-ins, using the Python programming language, expand Kodi to include features such as television program guides, YouTube, Hulu, Netflix, Veoh, online movie trailer support, and Pandora Radio and podcast streaming. Kodi also functions as a gaming platform on any operating system, allowing users to play mini-games developed with Python.<ref name="XBMC is the best media center application. Period."/><ref name="XBMC 9.04 delivers impressive media center experience"/><ref name="FLOSS Media Center State of the Art"/><ref name="XBMC-Addons on Google Code">https://code.google.com/p/xbmc-addons/ XBMC-Addons on Google Code (Addon plugins for XBMC)</ref><ref name="XBMC Zone">http://www.xbmczone.com/ XBMC Zone (third-party Addon extensions for XBMC)</ref><ref name="Passion XBMC">http://passion-xbmc.org/ Passion XBMC (third-party Addon extensions for XBMC)</ref>

Kodi source code is distributed as open source under the GNU General Public License (GPL),<ref name="FLOSS Media Center State of the Art"/> it is sponsored via the tax-exempt registered non-profit US organization, XBMC Foundation, and is developed by a global free software community of unpaid volunteers.<ref name="XBMC Zone"/><ref name="Passion XBMC"/>

Even though the original XBMC project no longer develops or supports XBMC for the Xbox, XBMC on the Xbox is still available via the third-party developer spin-off project "XBMC4Xbox", which forked the Xbox version of the software and completely took over the development and support of XBMC for the old Xbox. The ending of Xbox support by the original project was also the reason that it was officially renamed to simply "XBMC" from the old "Xbox Media Center" name, and why it later was renamed again to "Kodi".<ref name="Farewell XBOX">Template:Cite web</ref><ref name="XBMC Discontinues Xbox Support">Template:Cite web</ref><ref name="XBMC Drops Support for the Original Xbox">Template:Cite web</ref><ref name="XBMC4Xbox">Template:Cite web</ref> The Xbox version of XBMC had the ability to launch console games, and homebrew applications such as emulators. Since the XBMC for Xbox version was never distributed, endorsed, or supported by Microsoft, it always required a modchip or softmod exploit to run on the Xbox game-console.<ref name="XboxMediaCenter Review"/><ref name="Modding The Xbox Into The Ultimate Multimedia Center"/><ref name="Review of XBMC in Hardcore Gamer Magazine"/><ref name="FLOSS Media Center State of the Art"/>

Screenshots

Hardware requirements

Kodi has greater basic hardware requirements than traditional 2D style software applications: it needs a 3D capable graphics hardware controller for all rendering. Powerful 3D GPU chips are common today in most modern computers, and even some set-top boxes, and XBMC is designed to otherwise be resource efficient. It runs well on what (by Intel Atom standards) are relatively underpowered OpenGL 1.3 (with GLSL support), OpenGL ES 2.0 or Direct3D (DirectX) 9.0 capable systems that are IA-32/x86, x86-64, ARM (AArch32 and AArch64), or PowerPC G4 or later CPU based.<ref name="XBMC is the best media center application. Period."/>

When software decoding of a Full HD 1080p high-definition and high bit-rate video is performed by the system CPU, a dual-core 2 GHz or faster CPU is required in order to allow for perfectly smooth playback without dropping frames or giving playback a jerky appearance. Kodi can however offload most of the video decoding process onto graphics hardware controller that supports one of the following types of hardware-accelerated video decoding:<ref name="XBMC Architecture Overview by Telematics Freedom Foundation">Template:Cite web</ref> Intel's VAAPI, Nvidia's VDPAU, AMD's XvBA, Microsoft's DXVA, Apple's VDADecoder/VideoToolBox, OpenMAX, Broadcom Crystal HD,<ref name="How to install Broadcom Crystal HD driver on Ubuntu?">Template:Cite web</ref><ref name="phoronix1">Template:Cite web</ref> AMLogic 8726-Mx VPU,<ref>http://liliputing.com/2013/05/xbmc-running-in-linux-on-a-tv-box-with-an-amlogic-am8726-mx-chip-video.html XBMC running in Linux on a TV box with an Amlogic AM8726-MX chip</ref> Freescale's i.MX6x series VPU, and Allwinner's CedarX/CedarV VPU.<ref>Template:Cite web</ref> By taking advantage of such hardware-accelerated video decoding, XBMC can play back most videos on many inexpensive, low-power systems, as long as they contain a supported VPU or GPU.

Language support

Kodi includes full internationalization and localization support with translations to many different languages by default, with its language files translated to over 74 languages to date.<ref name="transifex.com"/> Kodi's structure is such that if the language is not available, or not up-to-date, it can be made by editing simple strings in an XML-file, which can then be submitted to XBMC's project management and bug tracking system tool for use by others, and after version 11.0 XBMC switched to using GetText PO (Portable Object) formatted files for more easily handled translator translations using Transifex web-based translation platform with online crowd-sourced translation services.<ref>Template:Cite web</ref> The latest version of XBMC currently supports over 74 languages.<ref>https://github.com/xbmc/xbmc/tree/master/language language at master from xbmc / language – GitHub</ref><ref>http://kodi.wiki/view/Intro_FAQ#What_is_XBMC.3F Intro FAQ - Kodi</ref>

Core features

Addons Manager, addons and plugins

Kodi features several open APIs to enable third-party developers to create capabilities which extend Kodi with a multitude of addons, such as audio and video streaming plugins for online sources, widget scripts, skins/themes, visualizations, screensavers, web scrapers, weather forecasts, web interfaces, and more. Kodi developers encourage users to make and submit their own addons to add additional media content and value-added services accessible from within Kodi.

Kodi/XBMC features, since version 10.0 (codename: "Dharma"), an Addons Framework architecture and Addons Manager GUI client that connects to a decentralized digital distribution service platform that serves add-on apps and plug-ins which among other things provide online content to Kodi, the "Addons Manager" (or "Addons Browser") inside Kodi allows users to browse and download new addons directly from Kodi's GUI.

Many of these online content sources are in over-the-top content high definition services and use video streaming sites, such as Adobe Flash based content. Kodi has extensibility and integration with online sources for both free and premium streaming content, and offers content from everything from commercial video, to free educational programming, and media from individuals and small businesses.

Plugins and scripts

Kodi features a Python Scripts Engine for addon extensions, WindowXML application framework (a XML-based widget toolkit for creating a GUI for apps / widgets) in a similar fashion to Apple Template:Nowrap Dashboard Widgets and Microsoft Gadgets. Python widget scripts allow normal users to add new functionality to Kodi themselves, using Python scripting language. Current plugin scripts include functions like Internet-TV and movie-trailer browsers, weather forecast and cinemaguides, Over-the-top content video streaming services like YouTube, BBC iPlayer, Hulu, Netflix, Veoh, MLB.tv, Internet-radio-station browsers such as Pandora Radio, online picture sharing sites like Flickr, TV guides, e-mail clients, instant messaging, train timetables, home automation scripts to front-end control PVR software and hardware, P2P file-sharing downloaders (BitTorrent), IRC, also casual games such as Tetris and much more.<ref name="XBMC is the best media center application. Period."/><ref name="XBMC 9.04 delivers impressive media center experience"/><ref name="XBMC-Addons on Google Code"/><ref name="XBMC Zone"/><ref name="Passion XBMC"/>

Metadata extraction and web scrapers

Kodi has the built-in optional function to automatically download metadata information, cover art and other related media artwork online through its web scrapers that looks for media in the user's audio / video folders and their sub-directories. These "scrapers" are used as importers to obtain detailed information from various Internet resources about movies and television shows. It can get synopses, reviews, movie posters, titles, genre classification, and other similar data. XBMCGUI then provides a rich display for audio and video files that the scrapers have identified.

Scrapers use sites like themoviedb.org<ref>Template:Cite web</ref> or IMDb.com to obtain thumbnails and information on movies, thetvdb.com for TV show posters and episode plots, CDDB for audio CD track listings, and Allmusic (AMG) and MusicBrainz for album thumbnails, reviews, and metadata.<ref name="XBMC Architecture Overview by Telematics Freedom Foundation"/>

More recently Fanart.tv has been added to the list of information sources<ref>Template:Cite web</ref> and XBMC can use it to retrieve logos, backgrounds, CDs with transparent backgrounds, album covers and banners among other image types for music artists, TV shows and Movies, the popularity of which contributed to XBMC being able to handle new image types.

Skins and themes

Like the majority of most applications that originated from a 'homebrew' scene, modification and customization of the interface using skins is very popular among Kodi users and hundreds of skins and themes are available for users to install. The Kodi skinning engine's flexibility is also advantageous to third parties wanting to create derivative works, as it facilitates rebranding the environment and making deeper changes to the look and feel of the user interface.

The skins "Confluence" and "Touch" are the two official default for; Kodi with an ever evolving variance of "Confluence" being the default set-top box style skin designed for large screen televisions and displays since XBMC version 9.11, and "Touch" which introduced with XBMC version 11.0 being design for small screen devices with touchscreen displays, such as iPad tablets. Previously "Project Mayhem" was the default before XBMC version 9.11, this skin is now in its third version, commonly known as "PM3.HD" (PM III High-Definition).<ref name="XBMC 9.11 makes your open source home theater look shinier"/>

Users can also create their own skin (or simply modify an existing skin) and share it with others via public websites that are used for Kodi skin trading and development.<ref name="XBMC Skining Project">Template:Cite web</ref> Many such third-party skins exist that are well maintained by the community, and while some skins are originals with unique designs, most initially begin as a clone or an exact replica of other multimedia software interfaces, such as Apple Front Row, Windows Media Center Edition (MCE), MediaPortal, Wii Channel Menu (Xii), Xbox 360 interface, and others.<ref name="Customize XBMC with These Five Awesome Skins"/>

Web Interfaces

Web Interface addons for Kodi normally allow browsing a media library remotely, to handle music playlists from a computer instead of television. Others allow remotely controlling the navigation of XBMC like a remote for remote controlling of an installed and concurrently active Kodi session running on a computer if it runs on an internet tablet or similar device with a touch interface. And yet other still acts like a media manager to allow modifying metadata and artwork in XBMC's video and music libraries.

Application launcher

Kodi has a "My Programs" section which is meant to function as an application launcher for third-party software such as computer games and video game emulators, all from a GUI with thumbnail and different listings options. However, while this feature was fully functioning on the Xbox version of XBMC, it is still in its infant stage on Linux, Template:Nowrap, and Windows, thus currently requiring third-party launcher plugins to function properly.<ref name="Review of XBMC in Hardcore Gamer Magazine"/>

Live TV with EPG and PVR / DVR frontend

From version 12.0 (Frodo) Kodi has a native Live TV with EPG (Electronic Program Guide) and DVR (Digital Video Recorder) features with a PVR (Personal Video Recorder) frontend GUI,<ref>Template:Cite web</ref><ref>https://github.com/xbmc/xbmc/pull/1357 [pvr] add PVR and EPG support to XBMC</ref> enabling video capture and playback to and from a hard disk drive with PVR Client Addons for most popular PVR backends (TV tuner card server) that can be installed separately as plugins in XBMC.

PVR backend can either be networked DVR set-top box hardware or PC-based digital video recorder software which can run on the same computer or other computers on the same network. PVR software and hardware is available which can turn computers or appliances running Linux, Template:Nowrap, Microsoft Windows, and Android devices into DVRs.<ref>http://www.techhive.com/article/2031217/htpc-showdown-which-front-end-interface-is-best-.html TechHive - HTPC Showdown: Which front-end interface is best?</ref>

PVR Client Addons are available for many PVR software and hardware such as Argus TV, DVBLink, DVBLogic, DVBViewer, ForTheRecord, Tvheadend, MediaPortal, MythTV, NextPVR (formerly GB-PVR), VDR, Windows Media Center, and Enigma2-based DVR set-top boxes such as Dreambox, DBox2, and Vu+.,<ref>Template:Cite web</ref> as well as PVR Client Addons for direct LAN connection to Network Attached TV-Tuners such as HDHomeRun, PCTV Systems Broadway, VBox Home TV Gateway, and Njoy Digital AnySee N7 DVB-S2 Network-Tuner.<ref>Template:Cite web</ref> There is also a PVR Client Addon for the internet-based television provider FilmOn (FilmOn.TV Networks), as well as a simple PVR client addon for IPTV in general.

Audio, video, and pictures playback and handling

Kodi can play media from CD/DVD media using an internal DVD-ROM drive. It can also play media from an internal built-in hard disk drive and SMB/SAMBA/CIFS shares (Windows File-Sharing), or stream them over ReplayTV DVRs/PVRs, UPnP (Universal Plug and Play) / DLNA (Digital Living Network Alliance) shares, or stream iTunes-shares via DAAP. Kodi can also take advantage of a broadband Internet connection if available to stream Internet-video-streams like YouTube, Hulu, Netflix, and Veoh, and play Internet-radio-stations (such as Pandora Radio). Kodi also includes the option to submit music usage statistics to Last.fm and Libre.fm. It also has music/video-playlist features, picture/image-slideshow functions, an MP3+CDG karaoke function and many audio-visualizations and screensavers. Kodi can in addition upscale/upconvert all standard-definition resolution videos and output them to 720p, 1080i, and 1080p high-definition resolutions.<ref name="XBMC is the best media center application. Period."/><ref name="FLOSS Media Center State of the Art"/><ref name="Turbo Charge Your New XBMC Installation">Template:Cite web</ref>

Under Microsoft Windows, Kodi supports Directsound and WASAPI; since WASAPI performs no mixing or resampling, it provides best audio quality.<ref>XBMC: Windows Settings for AudioEngine</ref>

Format support

Kodi can be used to play/view all common multimedia formats through its native clients and parsers. It can decode these audio and video formats in software or hardware, and optionally pass-through AC3/DTS audio, or encode to AC3 in real time from movies directly to S/PDIF digital output to an external audio-amplifier/receiver for decoding.<ref name="XBMC is the best media center application. Period."/><ref name="FLOSS Media Center State of the Art"/>

Supported formats:

Video playback in detail

Video Library

The Video Library, one of the Kodi metadata databases, is a key feature of Kodi. It allows the organization of video content by information associated with the video files (e.g. movies and recorded TV Shows) themselves. This information can be obtained in various ways, like through scrapers (i.e. web scraping sites like IMDb, TheMovieDB, TheTVDB, etc.), and nfo files. Automatically downloading and displaying movie posters and fan art backdrops as background wallpapers. The Library Mode view allows users to browse their video content by categories; Genre, Title, Year, Actors and Directors.<ref name="XBMC is the best media center application. Period."/><ref name="XBMC 9.11 makes your open source home theater look shinier"/>

Video player cores

Kodi uses one multimedia video player 'core' for video-playback. This video-player 'core' for video-playback is an in-house developed cross-platform media player, "DVDPlayer", originally designed to play back DVD-Video movies, and this includes support native for DVD-menus, (based on the free open source libraries code libdvdcss and libdvdnav). This FFmpeg based video-player 'core' today supports all widespread mainstream formats. One relatively unusual feature of this DVD-player core is the capability to on-the-fly pause and play DVD-Video movies that are stored in ISO and IMG DVD-images or DVD-Video (IFO/VOB/BUP) images (even directly from uncompressed RAR and ZIP archives), from either local harddrive storage or network-share storage.<ref name="XBMC is the best media center application. Period."/><ref name="XBMC 9.04 delivers impressive media center experience"/><ref name="XBMC 9.11 makes your open source home theater look shinier"/>

Audio playback in detail

Music Library

The Music Library, one of the Kodi metadata databases, is another key feature of Kodi. It allows the organization of a music collection to allow searching, and creating smart playlists by information stored in music file ID meta tags, like title, artist, album, production year, genre, and popularity. Automatically downloading and displaying album covers and fan art backdrops as background wallpapers.<ref name="XBMC is the best media center application. Period."/><ref name="XBMC 9.11 makes your open source home theater look shinier"/>

Audio player cores

For music playback, Kodi includes its own in-house developed audio-player, "PAPlayer" (which stands for "Psycho-Acoustic Audio Player"), and this audio-player core's most notable features are on-the-fly resampling of the audio frequency, gapless playback, crossfading, ReplayGain, cue sheet and Ogg Chapter support. The "PAPlayer" audio-player handles a very large variety of audio file-formats, and it also supports most different tagging standards. Kodi also has support for most popular karaoke computer file formats, and is able to play and display timed song lyrics graphics/text from CD+G, LRC, and KAR files.<ref name="FLOSS Media Center State of the Art"/>

Digital picture/image display in detail

Kodi handles all common digital picture/image formats with the options of panning/zooming and slideshow with "Ken Burns Effect", with the use of CxImage open source library code. XBMC can also handle CBZ (ZIP) and CBR (RAR) comic book archive files, this feature lets users view/read, browse and zoom the pictures of comics pages these contain without uncompressing them first.<ref name="Modding The Xbox Into The Ultimate Multimedia Center"/>

Games Manager and game console emulators

Development has been working on new core features which integrates a built-in Games Manager and Game Launcher front-end GUI with a Games Library, and Game Console Emulator API into Kodi. The code for all is currently actively being developed in a separate branch and is not expected to make it into Kodi mainline tree until version 15 at the earliest.<ref>http://www.phoronix.com/scan.php?page=news_item&px=MTQ3MTI XBMC Prepares Support For Running Emulated Games</ref>

Once merged into mainline the integrated Games Manager will add a new unified Games Manager Library and GUI front-end launcher with online metadata web scraping support for information about the games. It also introduces Game Addons as new type of addons with just-in-time emulator installation. Adding a Games Library for Game Metadata, exposing info (current level, number of lives, number of coins earned, etc.) to GUI, as well as extending the Addon API to support Game Client Addons, supporting Kodi's VFS (Virtual File System). In addition to a Joystick (and Gamepad) abstraction layer for common joystick API and joystick input clients.<ref>https://github.com/garbear/xbmc Garrett "garbear" Brown's RetroPlayer branch of XBMC</ref><ref>http://tech2.in.com/video/dell-inspiron-one-2320/278112/tomszNJjmqenwKqGuoe1ppeJvK7JorSXuKi5pbiqqISlh9qr/xbmc-integrated-emulation-with-libretro-retroplayer-wip Xbmc: Integrated Emulation with libretro RetroPlayer wip</ref>

Under active development is also "RetroPlayer" Video Game Console Emulator (ROMs) interface supporting the libretro API and emulator cores (from the RetroArch project, which is its reference front-end). Libretro itself is a modular multi-system game/emulator system that is designed to be fast, lightweight, and portable.<ref>http://xbmcnightlybuilds.com/now-building-openelec-retroplayer-build-images/ Now Building OpenELEC-RetroPlayer Build Images</ref>

This RetroPlayer can via libretro emulator API support emulators for most popular retro game consoles, including but not exclusively; Atari 2600, Atari Lynx, Atari Jaguar, NES (Nintendo Entertainment System), Super Nintendo, Nintendo 64, Game Boy, PlayStation (first-generation "PSX"), Sega Systems (Master System, Genesis, Sega CD, Game Gear), plus multiple retro arcade games via MAME (Multiple Arcade Machine Emulator) and FBA (Final Burn Alpha), as well as ScummVM and MS-DOS based games.<ref>http://libretro.org Libretro - An API for Emulators and Games</ref>

Mobile remotes and second screen apps

There are many software applications for mobile devices available for and associated with Kodi. Some of these mobile apps just works as simple remote controls, while others functions as more advanced second screen companion apps, offering additional information about what you are viewing or listening to on Kodi. Additional information such as metadata about movie actors and music artists, with links to other works available from those persons in your collection or online.

XBMC Remote for Android and XBMC Remote for iOS are free and open source official apps for mobile devices released by Team-Kodi/Team-XBMC on Google Play for Android devices and the App Store for iOS Devices, such as iPhone, iPad, and iPod Touch. These applications act as a second screen<ref>Template:Cite web</ref> and remote control solution which allows for fully browsing the media library and for remote controlling of an installed and concurrently active XBMC session running on a computer via the handheld touchscreen user interface of these device.<ref>Template:Cite web</ref><ref>Template:Cite web</ref>

Several third-party developers have also released multiple other unofficial Kodi remote control apps for Android, BlackBerry, Symbian, Windows Mobile, and Windows Phone devices, as well Apple iOS. Some of these remote control apps are made specifically for controlling Kodi, while some universal remote control apps are capable of controlling many different media center and media player applications, and some of these third-party remote apps cost money while others are free.<ref>Template:Cite web</ref>

Official versions

Due to the dated hardware of the first-generation Xbox game console, that Kodi/XBMC was at first initially designed for, and a desire to expand the project's end-user and developer-base, many official ports of XBMC to computer operating-systems and hardware platforms now exist. Through the processing power of modern computer hardware, XBMC is able to decode high-definition video up to and beyond 1080p resolutions, bypassing hardware limitations of the Xbox version of XBMC.

However, in the latest official release of Kodi/XBMC there is hardware accelerated video decoding for DXVA, VDPAU, VA-API GPU hardware video decoding, as well as hardware accelerated video decoding via ARM NEON, and OpenMAX, Broadcom Crystal HD.<ref name="XBMC 9.04 delivers impressive media center experience"/><ref name="XBMC & Broadcom Bring 1080p Decode Upgrade to ill-equipped netbooks, nettops, Apple TVs">Template:Cite web</ref> The source code for XBMC is actively updated by developers in a public Git repository, which may contain features and functionality not yet incorporated into the most recent 'stable' releases.

Kodibuntu

Kodibuntu (formerly XBMCbuntu) is a free Ubuntu-based Linux distribution with Kodi (formerly XBMC) for Linux already installed and pre-configured, providing a complete packaged media center software suite for all IA-32/x86-based personal computers. Kodibuntu uses Kodi software for all media playback and is primarily designed for bare-metal installations to achieve instant-on type boot to achieve a set-top box experience on an HTPC. It replaces XBMCbuntu that in turn replaced XBMC Live, which was formerly the official Live CD (Linux) distribution.<ref name="autogenerated1">Template:Cite web</ref>

Kodibuntu operating-system is based on Lubuntu, an Ubuntu Linux fork that is "lighter, less resource hungry and more energy-efficient" than the standard Ubuntu desktop distributions. The Microsoft MCE Remote and IR-receiver dongle for Windows Media Center works with Kodibuntu directly out of the box, which mean that Windows Media Center users with these can try out the Kodibuntu without requiring any additional hardware.<ref name="XBMC Live 9.11"/><ref name="XBMC Live Atlantis Beta1!"/><ref name="XBMC Live 8.10 (Atlantis) released"/>

Following the principles of Myth TV distributions and GeeXboX, Kodibuntu is designed to simplify a permanent installation of Kodi onto a computer to be used as a dedicated home theater PC in the living-room, as such the user can directly install XBMC from the bootable CD to either a USB flash drive or to an internal hard disk drive as it comes with a complete instant-on (Linux kernel-based) embedded operating system. When installed onto a USB flash drive or internal hard disk drive, Kodibuntu has the ability to save settings and make updates to XBMC and the operating-system back onto the USB flash drive or hard disk drive that it is installed onto.

Native applications

Kodi for Linux (formerly XBMC for Linux) is primarily developed for Ubuntu Linux and Kodi's developers' own Kodibuntu (formerly XBMCbuntu). Third-party packages for most other Linux distributions are however available, and it is also possible to compile XBMC Media Center from scratch for any Linux distribution as long as the prerequired dependency libraries are installed first. Hardware accelerated video decoding is achieved via the VDPAU API on Nvidia's GPUs, and via the VAAPI API for AMD/ATI Radeon, S3 Graphics, and Intel's newer Integrated Graphics Processors, as well as hardware accelerated video decoding via OpenMAX, ARM NEON, Broadcom Crystal HD on systems with supporting hardware.<ref name="XBMC & Broadcom Bring 1080p Decode Upgrade to ill-equipped netbooks, nettops, Apple TVs"/> Development version of Kodi/XBMC for Linux is available at Launchpad as PPA (Personal Package Archive) for the standard Ubuntu Desktop version 8.04 and later, as well as DEB packages for Debian.

Kodi for OS X(formerly XBMC for Mac) runs natively on Template:Nowrap and later, as well as on the Apple TV. 1080p playback can be achieved on Apple computers either via software decoding on the CPU if it is powerful enough, or by hardware accelerated video decoding for hardware supporting Apple's VDA API, or video decoders such as the Broadcom Crystal HD.<ref name="XBMC & Broadcom Bring 1080p Decode Upgrade to ill-equipped netbooks, nettops, Apple TVs"/>

1080p playback on the first-generation Apple TV (a.k.a. "ATV1") can only be achieved by hardware accelerated video decoding via Broadcom Crystal HD; the user must replace the ATV's internal WiFi adapter with a Broadcom Crystal HD PCI Express Mini (mini-PCIe) card in order to activate this functionality.<ref name="XBMC & Broadcom Bring 1080p Decode Upgrade to ill-equipped netbooks, nettops, Apple TVs"/>

Kodi for Windows (formerly XBMC for Windows) runs natively on Windows Vista, Windows 7, and Windows 8, it is a 32-bit application but runs on 64-bit Windows and hardware as well, however it is not yet optimized for that architecture so there is no performance gain when running on 64-bit Windows. 1080p playback can be achieved on Windows based computers either via software decoding on the CPU if it's powerful enough, or by hardware accelerated video decoding.

Hardware video decoding via DirectX Video Acceleration<ref name="Initial native support for DXVA2 in SVN">Template:Cite web</ref><ref name="Changeset 27376">Template:Cite web</ref> is now supported although this enhancement currently only runs on Windows 7 since it utilizes the DXVA 2.0 API which is not supported in Windows XP.<ref name="XBMC Roadmap">Template:Cite web</ref>

Kodi for iOS (formerly XBMC for iOS), which is a full port of Kodi to Apple's iOS operating-system, was first announced and released publicly on 20 January 2011. It supports both 720p and 1080p hardware accelerated video decoding of H.264 videos, and is compatible with all Apple's iDevices that uses Apple A4 or Apple A5 (ARM-based) processors with a jailbroken iOS operating-system.<ref>Template:Cite web</ref>

Kodi for Android (formerly XBMC for Android) is a full port of the complete Kodi/XBMC application to Google's Android operating-system, officially compatible with Android 4.0 (Ice Cream Sandwich) and later versions supporting API Level 14.<ref>Android 4.0 APIs</ref> was first announced and its source code released publicly on 13 June 2012. This is a full port of Kodi's Template:Nowrap and C source code with all its dependencies to Android with a build-system that was designed to handle multiple processor architectures, like ARM, MIPS, and x86 with the Android NDK (Native Development Kit for Android) without using a single line of Java, and the XBMC.APK is running natively under Android as a NativeActivity application.<ref>Template:Cite web</ref> Hardware accelerated video decoding on Android is currently only officially available for some specific hardware platforms, such as the Amlogic SoC based Pivos XIOS series which have been used as the reference hardware platform during the development so far.<ref>Template:Cite web</ref> XBMC source code must be compiled with Google's official Android NDK revision 10d or later, and be built for the android-17 toolchain (Android API Level 17) using GCC version 4.8, which Kodi for Android code currently requires to compile correctly but is not supported by Google's Android NDK. This is also the real reason why XBMC for Android does not support the original Google TV, since the Android NDK was not made available for older Google TV devices it means that Kodi/XBMC could not be compiled for it today.<ref>Template:Cite web</ref>

Xbox

Template:Main XBMC 9.04 (codename: Babylon) point-release version of XBMC for Xbox, now obsolete, was released on 6 May 2009 as the last official version of XBMC for Xbox. The original developers of XBMC have since issued a statement stating they will no longer develop or support XBMC for Xbox as part of the XBMC project as of 27 May 2010. The development of XBMC for Xbox ended because the focus for all Team XBMC developers has completely shifted to the Linux, Mac, and Windows versions of XBMC instead.

Even though the original XBMC project no longer develops or supports XBMC for the Xbox, an XBMC version for the Xbox is still available via the third-party developer spin-off project "XBMC4Xbox", who have completely taken over the development and support of XBMC for the original Xbox.<ref name="Farewell XBOX"/><ref name="XBMC Discontinues Xbox Support"/><ref name="XBMC Drops Support for the Original Xbox"/><ref name="XBMC4Xbox"/>

XBMC for Xbox was never an authorized/signed Microsoft product, therefore a modification of the Xbox is required in order to run XBMC on an Xbox game-console. XBMC for Xbox can be run as an application (like any Xbox game), or as a dashboard that appears directly when the Xbox is turned on.<ref name="XboxMediaCenter Review"/><ref name="Modding The Xbox Into The Ultimate Multimedia Center"/><ref name="Review of XBMC in Hardcore Gamer Magazine"/><ref name="FLOSS Media Center State of the Art"/> Since XBMC for Xbox was part of an open source software program, its development source code was stored on a publicly accessible subversion repository. Accordingly, unofficial executable builds from the subversion repository are often released by third parties on sites unaffiliated with the official XBMC project.<ref name="Modding The Xbox Into The Ultimate Multimedia Center"/><ref name="Review of XBMC in Hardcore Gamer Magazine"/>

Commercial systems

The developers of Kodi (formerly XBMC) state that as long as the GPL licensing of the Kodi software is respected they would love Kodi to run on as many third-party hardware platforms and operating systems as possible, as "Powered by Kodi" (or "Powered by XBMC") branded devices and systems. They envision Kodi being pre-installed as a third-party software component that commercial and non-commercial ODM/OEM's and systems integrator companies can use royalty-free on their own hardware, hardware such as set-top boxes from cable-TV companies, Blu-ray Disc and DVD players, game-consoles, or embedded computers and SoC (System-on-a-Chip) built into television sets for web-enabled TVs, and other entertainment devices for the living room entertainment system, home cinema, or similar uses.<ref name="xbmc.org">http://xbmc.org/about/commercial-use/ Commercial use of XBMC</ref>

Below is a list of third-party companies who sell hardware bundled with Kodi or XBMC software pre-install, or sell uninstalled systems that specifically claim to be Kodi or XBMC-compatible. Many of these third-party companies help submit bug fixes and new features back upstream to the original Kodi/XBMC project.<ref name="xbmc.org"/>

Computer hardware

ARCTIC - a company based in Switzerland best known for their cooling solutions worked in partnership with the OpenELEC team. On 5 February 2013, together they released a fully passive cooled Entertainment system - the MC001 media centre (US and EU version), equipped with the latest XBMC 12 (OpenELEC 3.0) platform. OpenELEC and ARCTIC are planning on their next release, aim to provide a more dedicated builds for the ARCTIC MC001 media centre systems.<ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref>

AIRIS Telebision, sold by Telebision in Spain and designed specifically for the Spanish market, is a nettop based on Nvidia Ion chipset, preinstalled Ubuntu base with XBMC for Linux and a customized AEON skin and Spanish plugins. Other than the modified skin, what is unique with the AIRIS Telebision's XBMC build is that it comes with a digital distribution service platform that they call their "App Store" which lets users download new Spanish plugins and updates for existing plugins. Telebision also lets users download a Live CD version of their software as freeware, which lets users install their Telebision distribution on any Nvidia Ion based computer.

Lucida TV II, made by LUCIDQ inc, is a nettop based on Nvidia Ion chipset which can be ordered with Xubuntu and XBMC software installed.

Pulse-Eight Limited sells both custom and off the shelf hardware solutions primarily designed for Kodi/XBMC, such as remote controls, HTPC systems and accessories, including a custom HTPC PVR set-top-box pre-installed with XBMC that they call "PulseBox"<ref>Template:Cite web</ref> Pulse-Eight also offers free performance tuned embedded versions of XBMC that they call "Pulse" which is based on OpenELEC and a custom PVR-build of XBMC that is meant to run on your dedicated HTPC system.<ref>http://packages.pulse-eight.net Pulse-Eight Packages</ref>

Xtreamer Ultra and Xtreamer Ultra 2, manufactured by the South Korean company Unicorn Information Systems, are nettops based on Nvidia graphics and Intel Atom processors which comes with OpenELEC and Kodi/XBMC software pre-installed. The first-generation Xtreamer Ultra uses Nvidia Ion chipset with a 1.80 GHz Dual-Core Intel Atom D525 CPU, while the Xtreamer Ultra 2 uses discrete GeForce GT 520M graphics with a 2.13 GHz Dual-Core Intel Atom D2700 CPU.<ref name="linuxfordevices1">XBMC-based embedded Linux distro debuts on HTPC mini-PC - News - Linux for Devices. Archive.is (2011-10-21). Retrieved on 2013-07-24.</ref>

Since 10 September 2010, ZOTAC is shipping a software bundle that they call ZOTAC Boost XL with all their new motherboards and Mini-PCs, such as Zotac's ZBOX and MAG series of Nettops which Zotac also does demos of with XBMC.<ref>Template:Cite web</ref> This ZOTAC Boost XL software bundle consist of the software applications; Auslogics BoostSpeed, Cooliris, Kylo (HDTV-optimized Web Browser), and XBMC Media Center.<ref>Template:Cite web</ref>

Zotac's ZBOX and MAG series of small Mini-PCs are nettop's based on Intel, AMD, or Nvidia graphics, and they are all sold in both as complete ready-to-use computer and as barebone computers (without memory and hard drive). Zotac Zbox ID33, ID34, ID81, ID80 and AD04 are all specifically marketed towards the HTPC market, with some coming with slot-loading Blu-ray Disc optical disc drive, and some with a remote control.<ref>Template:Cite web</ref>

The mintBox by the Linux Mint team is an OEM version of the Israeli company CompuLab's fit-PC, which comes preinstalled with Linux Mint open source operating-system and software, MATE (desktop environment), and XBMC. Available in two fanless models, both with AMD APUs, HDMI output port, eight USB slots, two eSATA ports, Gigabit Ethernet, 802.11 b/g/n Wi-Fi, built-in Bluetooth, and an infrared media center remote control.<ref>Template:Cite web</ref>

Dedicated devices

PrismCube Ruby by Marusys is a DVB-S2 Twin-Tuner high-definition DVR/PVR set-top-box with running XBMC as its main interface on-top of embedded Linux.<ref>http://www.prismcube.com/ PrismCube</ref><ref>http://prismcube.org PrismCube.org Community</ref><ref>http://www.astrasat.nl/digitale-ontvangers/prismcube-xbmc-mediaplayer.html PrismCube XBMC mediaplayer</ref><ref>http://digitalt.tv/prismcube-set-top-box-baseret-pa-xbmc/ Prismcube – Set Top PVR Box baseret på XBMC</ref><ref>http://volpefirm.com/tech-review-i-hbbtv-linux-a-cool-box/ Tech Review | HbbTV, Linux & a Cool Box</ref>

The Little Black Box is a Linux kernel-based ARM media player with XBMC as its main interface.<ref>http://www.thelittleblackbox.nl The Little Black Box</ref><ref>http://www.tgdaily.com/consumer-electronics-features/71220-video-this-little-130-black-box-runs-xbmc-linux This little $130 black box runs XBMC Linux</ref><ref>http://www.geeky-gadgets.com/the-little-black-box-open-source-xbmc-media-centre-unveiled-video-29-04-2013/ The Little Black Box Open Source XBMC Media Centre Unveiled</ref><ref>http://www.j1nx.nl/thelittleblackbox-xbmc-for-the-masses/ TheLittleBlackBox – XBMC for the masses</ref><ref>http://www.cnx-software.com/2013/07/21/the-little-black-box-xbmc-stb-gets-users-feedback-becomes-available-on-amazon/ The Little Black Box XBMC STB Gets Users’ Feedback, Becomes Available on Amazon</ref><ref name="Gnews.com">Template:Cite web</ref>

Marusys MS630S and MS850S are high-definition PVR-ready set-top-boxes with the ability to run Linux kernel-based media players like XBMC, and Marusys is advertising these two devices as compatible with XBMC.<ref name=Marusys>Template:Cite web</ref>

Myka ION is a fanless Nvidia Ion based set-top device designed to bring internet television and media stored on the home network to the living-room, it comes pre-installed with XBMC Media Center, Boxee, and Hulu Desktop as applications that can be started from the main menu.<ref>Template:Cite web</ref>

The MK-X1 by Modified Konstructs is an Nvidia Ion-based set-top device based on Acer Aspire Revo that comes pre-loaded with XBMC, and the device has a recommended retail price of $300(US).<ref>Template:Cite web</ref>

Neuros LINK made by Neuros Technology is an open Ubuntu-based set-top device and media extender designed to bring internet television and other video to the television, it comes pre-installed with XBMC Media Center.<ref name="XBMC 9.04 delivers impressive media center experience"/>

BryteWerks Model One Projector is a 1080p HD digital video projector designed for home cinema use, it has an integrated Home Theater PC running a custom version of XBMC. In addition it features a remote control, as well as a 720p 8.9-inch touch screen panel display on the back of the projector that allows you to control the system. It also has a built-in Wi-Fi and Ethernet adapters, as well as a slot-loaded Blu-ray Disc player, and includes a 500 GB solid-state drive and an additional internal 2 TB hard disk drive can be added.<ref>Template:Cite web</ref>

The Primus by Mediaimpact Technologies is a Linux Mint-based Media Center and Set-Top-Box that integrates MythTV, Netflix Desktop, Hulu Desktop, and Steam Gaming through Kodi for a seamless Home Entertainment system ready for the living room. Comes complete with SMK-Link remote control.<ref>http://www.blacksmithpc.com Blacksmith PC</ref>

Derivatives and forks

Template:Main Kodi/XBMC media center source code have over the years become a popular software to fork and to use as an application framework platform for others to base their own media player or media center software on, as if Kodi were a GUI toolkit, windowing system, or window manager. And today at least Boxee, Plex, Tofu, MediaPortal, OpenELEC, OSMC, GeeXboX, Voddler, DVDFab Media Player, and Horizon TV are all separate derivative products that are all openly known to at least initially have forked the GUI (Graphical User Interface) and media player part of their software from XBMC's source code. Many of these third-party forks and derivative work of Kodi/XBMC are said to still assist with submitting bug fixes upstream and sometimes help getting new features backported to the original Kodi/XBMC project so that others can utilize it as well, shared from one main source.<ref name="XBMC is the best media center application. Period."/><ref name="Thinking inside the box"/><ref name="Gnews.com"/> However some which was initially a fork of XBMC have since fully or partially been rewritten to use closed source proprietary software.<ref>Template:Cite web</ref> For more information see the main "List of software based on XBMC" article.

Some good examples on building on Kodi/XBMC are OSMC, OpenELEC and GeeXboX which are free and open source embedded operating systems providing complete media center software suite that comes with a pre-configured version of Kodi/XBMC and DVR/PVR plugins. They are both designed to be extremely small and very fast booting embedded Linux based distributions, primarily optimized to be booted from flash memory or a solid-state drive, and specifically targeted to a minimum set-top box hardware setup based on ARM SoC's or Intel x86 processor and graphics.<ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref name="OpenELEC.tv">http://www.openelec.tv OpenELEC.tv Official Website</ref><ref name="OpenELEC Media Center Software on Launchpad">Template:Cite web</ref><ref name="About OSMC">Template:Cite web</ref>

Similar embedded Linux distributions to OpenELEC/GeeXboX are the professionally made E2BMC and OpenPCTV which are commercial Kodi/XBMC-based software platform for DVR/PVR set-top boxes, with both being designed as a hybrid integration between Kodi media center software and Dreambox's Enigma2 PVR software scripts.<ref>http://www.e2bmc.com E2BMC Official Website (E2BMC.com)</ref><ref>http://www.youtube.com/e2bmc E2BMC YouTube Channel</ref><ref>http://www.mysatbox.tv/2014/02/e2bmc-new-videos.html E2BMC - New videos</ref><ref>http://www.satnigmo.com/2418/e2bmc-hybrid-between-enigma-2-and-xbmc/</ref><ref>http://cubieboard.org/2013/12/19/openpctv-for-cubietruck-or-cubieboard2/ OpenPCTV on Cubietruck/Cubieboard2</ref><ref>http://www.youtube.com/watch?v=rx9ZXpQvWZs openpctv installation</ref><ref>http://sourceforge.net/projects/openpctv/ OpenPCTV Linux distribution based Enigma2/VDR/XBMC</ref><ref>https://linuxtoy.org/archives/openpctv-adding-full-tv-functionality-to-htpc.html OpenPCTV HTPC - LinuxToy.org</ref>

Another example is XBMC4Xbox, which is a third-party developer spin-off project of XBMC, with still active development and support of the Xbox platform. This project was created as a fork of XBMC as a separate project to continue having a version of XBMC for the Xbox hardware platform. It was not started by official members of the official XBMC project, nor will it be supported by the official Team Kodi in any way. It started when support for the Xbox branch was officially dropped by Team XBMC, which was announced on 27 May 2010.<ref name="Farewell XBOX"/>

Programming and developing

Kodi is a non-profit and free software community driven open-source software project that is developed only by volunteers in their spare time without any monetary gain. XBMC Foundation and the team of developers leading the development of Kodi/XBMC, "Team-Kodi"/"Team-XBMC", encourage anyone and everyone to submit their own source code patches for new features and functions, improve existing ones, or fix bugs to the Kodi/XBMC project.

The online user manual is wiki-based and community driven, and it also works as a basic developers guide for getting a good overview of Kodi's architecture. However, as with most non-profit software projects, to delve deeper into programming, looking at the actual source code and the comments in that code is needed.<ref name="Modding The Xbox Into The Ultimate Multimedia Center"/>

Architecture

File:XBMC Architecture Overview Schematic.png
XBMC Architecture Overview Schematic.

Kodi is a cross-platform software application whose core is mainly programmed in Template:Nowrap. Kodi uses OpenGL (or OpenGL ES) graphics rendering under Kodi for both Linux and Template:Nowrap, while Kodi for Windows uses Microsoft DirectX multimedia framework and Direct3D rendering, as the Xbox version of XBMC did. Some of Kodi's own libraries, as well as many third-party libraries that Kodi depends on, are written in the C programming-language, instead of Template:Nowrap as Kodi's core, but they are then mostly used with a Template:Nowrap wrapper and, through Kodi's core monolithic nature, are loaded via a dynamic linker loader for on-demand loading and unloading at run time.<ref name="XBMC 9.04 delivers impressive media center experience"/><ref name="XBMC Architecture Overview by Telematics Freedom Foundation"/> Kodi also still partially uses the SDL (Simple DirectMedia Layer) multimedia framework for input on Linux, but its developers are working on completely removing that small remaining dependency on SDL.

Because of Kodi/XBMC's origin with the resource constraints on the hardware and environment of the first-generation Xbox game-console platform, all software development of Kodi/XBMC has always been focused on reserving the limited resources that existed on embedded system hardware, like the original Xbox (which was only a 733 MHz Intel Pentium III and 64 MB of RAM in total as shared memory), as well as the still relatively low resources of embedded system devices today, of which the main hindrance has always been the amount of available system RAM and graphics memory at any one time. Due to this it means that Kodi/XBMC is purposely programmed to be very resource and power efficient and can therefore run on very low-end and relatively non-expensive hardware, especially when compared to other media center software design for HTPC use.<ref name="Modding The Xbox Into The Ultimate Multimedia Center"/>

But because of its origins from the Xbox game-console, Kodi/XBMC's legacy graphics renderer still runs in a more game-loop rendering environment rather than using a fully event-driven and on-demand rendering, meaning that it is almost constantly re-drawing the GUI and refreshing the frames as fast as it can, even when nothing is changing on the screen. This results in very high CPU and high GPU usage, which can be observed on embedded systems and low-end machines, and hence cause high temperatures, high fan activity, and high power consumption unless capped at a maximum frame per second configuration for that specific platform build. Work is however constantly ongoing by the developers to make Kodi/XBMC run using much fewer resources on low-power and embedded systems, which will indirectly benefit all non-embedded systems as well.<ref name="XBMC Architecture Overview by Telematics Freedom Foundation"/> Efficiency improvements in this area are however being worked on in order to move away from that old style game-loop environment in order to reduce high CPU/GPU usage by the GUI, especially as XBMC usage on embedded platforms with limited CPU/GPU resources keeps growing in popularity. XBMC 11.0 (Eden) introduced Dirty-Regions rendering option for texture support to the XBMC skinning engine as an option,<ref name="Working with dirty regions 19 June 2011 theuni">Template:Cite web</ref> and XBMC 12.0 (Frodo) enabled Dirty Regions rendering to redraw the whole screen on a single dirty region by default on all platforms.<ref name="Working with dirty regions 19 June 2011 theuni"/><ref name="github.com">https://github.com/xbmc/xbmc/pull/1426 d-r: enable dirty-regions by default</ref> Work is also in progress for XBMC 14.0 to introduce an abstracted scene-graph deferred rendering for GUI renderer abstraction.<ref name="ReferenceA">https://github.com/xbmc/xbmc/pull/2681 GUI Renderer abstraction and move to deferred rendering</ref>

Portability

Kodi has a portable code base, with its trunk (mainline source code tree) officially available for IA-32/x86, x86-64, PowerPC, and ARM-based processor architecture platforms.<ref>Template:Cite web</ref><ref>http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC BeagleBoard/GSoC/2010 Projects/XBMC</ref> The Kodi GUI does require 3D hardware accelerated graphics (GPU) that support OpenGL ES, OpenGL, or EGL, or Direct3D with device drivers that support OpenGL ES 2.0, or OpenGL 1.3 or later with GLSL, or DirectX in order to render the GUI at an acceptable frame rate.

Kodi is thus officially not yet available for the MIPS processor architecture upstream in mainline source code repository from Team-Kodi,<ref name="github2">https://github.com/xbmc/xbmc/pull/455 Add mips arch</ref> nor does it as yet support DirectFB<ref name="github1">https://github.com/xbmc/xbmc/pull/454 directfb: Initial support</ref> or DRI (Direct Rendering Infrastructure) rendering without OpenGL/GLES hardware accelerated graphics support.<ref name="XBMC Architecture Overview by Telematics Freedom Foundation"/><ref name="github1"/><ref name="XBMC ARM port teased, will manage HD playback from pocket-sized Beagleboard (video)">Template:Cite web</ref> The combination of MIPS, DirectFB, and DRI is a popular architecture used today by simpler set-top boxes like digital broadcasting (cable/satellite) boxes and low-end digital media players, such as those based on MIPS architecture chipsets from Sigma Designs or Realtek.<ref>Template:Cite web</ref> Kodi ports to the MIPS processor architecture is, however, currently being actively worked on by several independent development teams.<ref name="github2"/>

Kodi for Linux supports toolchain building systems for embedded development such as Yocto, Buildroot (uClibc), and the Linaro set of Makefiles and patches for easing the generation of cross-compilation toolchains as well as the creation of a file system on embedded Linux systems across a wide range of hardware, kernel platforms, and CPU architectures (x86, x86-64, ARM, MIPS, PowerPC, etc.).

Python scripts as plugins and addons (widgets/gadgets)

Kodi allows developers to create addons using a built-in Python interpreter (version 2.6 or higher depending on system<ref>http://wiki.xbmc.org/index.php?title=Python_development#Version</ref>) and its own WindowXML application framework, which together form an XML-based widget toolkit for which they can extend the capability of Kodi by creating a GUI for widgets. Python widget scripts allow non-developers to themselves create new add-ons for Kodi, using Python.<ref name="XBMC 9.04 delivers impressive media center experience"/>

Application programming interface (API)

Other than the application programming interfaces (APIs) available to third-party Python scripts and addon plugins, Kodi features several other APIs for controlling Kodi remotely or from an external application. These APIs includes a JSON-RPC server, D-Bus Server, Web server, UPnP AV media server (with UPnP MediaServer ControlPoint, UPnP MediaRenderer DCP, UPnP RenderingControl DCP, and UPnP Remote User Interface server), and a custom multi-protocol Event Server<ref name="wiki.xbmc.org"/> for remote controls.

GUI-engine and skinning (themes)

Kodi/XBMC is noted as having a very flexible GUI toolkit and robust framework for its GUI. With its underlying complex graphical design and layout library (named libGUI in Kodi/XBMC), it provides a simple abstraction layer between the application code and the interface, while allowing extremely flexible dynamic layouts and animations that are easy to work with and makes it possible to create completely unique skins for XBMC.<ref name="XBMC Skining Project"/> The skin files are written in XAML, using a standard XML base, making theme-skinning and personal customization very accessible.<ref name="Customize XBMC with These Five Awesome Skins"/>

Current software limitations

This is a list of software limitations currently in the Kodi/XBMC source code.

Reception

XBMC won a Lifehacker Awards in 2014 for "Best Media Player" in their entertainment selection.<ref>http://www.lifehacker.com.au/2014/12/lifehacker-awards-2014-best-media-player/ Lifehacker Awards 2014: Best Media Player</ref> XBMC won two SourceForge 2006 Community Choice Awards.<ref name="SourceForge.net is proud to present the winners from our 2006 Community Choice Awards">Template:Cite web</ref> In the 2007 Community Choice Awards, XBMC was nominated finalist in six categories.<ref name="SourceForge.net is proud to present the winners from our 2007 Community Choice Awards">Template:Cite web</ref> Also in the 2008 Community Choice Awards XBMC won an award for Best Project for Gamers.<ref name="SourceForge.net is proud to present the winners from our 2008 Community Choice Awards">Template:Cite web</ref> With Microsoft's decision to discontinue Windows Media Center (WMC) starting Windows 10, htpcBeginner.com voted Kodi not only as the best WMC alternative but also in many ways better than WMC.<ref name="Best Windows Media Center Alternatives">Template:Cite web</ref>

History

Template:See also Xbox Media Center (XBMC) was the successor to the popular Xbox Media Player (XBMP) software. Xbox Media Player development stopped on 13 December 2003, by which time its successor was ready for its debut, renamed as it was growing out of its 'player' name and into a 'center' for media playback. The first stable release of XBMC was on 29 June 2004, with the official release of XboxMediaCenter 1.0.0. This announcement also encouraged everyone using XBMP or XBMC Beta release to update, as all support for those previous versions would be dropped, and they would only officially support version 1.0.0. Not featured in XBMP, the addition of embedded Python was given the ability to draw interface elements in the GUI, and allowed user and community generated scripts to be executed within the XBMC environment.<ref name="Modding The Xbox Into The Ultimate Multimedia Center"/>

With the release of 1.0.0 in the middle of 2004, work continued on the XBMC project to add more features, such as support for iTunes features like DAAP and Smart Playlists, as well as lots of improvements and fixes. The second stable release of XBMC, 1.1.0, was released on 18 October 2004. This release included support for more media types, file types, container formats, as well as video playback of Nullsoft streaming videos and karaoke support (CD-G).<ref name="Modding The Xbox Into The Ultimate Multimedia Center"/>

After two years of heavy development, XBMC announced a stable point final release of XBMC 2.0.0 on 29 September 2006. Even more features were packed into the new version with the addition of RAR and zip archive support, a brand new player interface with support for multiple players. Such players include PAPlayer, the new audio/music player with crossfade, gapless playback and ReplayGain support, and the new DVDPlayer with support for menu and navigation support as well as ISO/img image parsing. Prior to this point release, XBMC just used a modified fork of MPlayer for all of its media needs, so this was a big step forward. Support for iTunes 6.x DAAP, and Upnp Clients for streaming was also added. A reworked Skinning Engine was included in this release to provide a more powerful way to change the appearance of XBMC. The last two features include read-only support for FAT12/16/32 formatted USB Mass Storage devices, and a "skinnable" 3D visualizer.

The release of XBMC 2.0.1 on 12 November 2006 contained numerous fixes for bugs that made it through the 2.0.0 release. This also marked the change from CVS to SVN (Subversion) for the development tree.

On 29 May 2007, the team behind XBMC put out a call for developers interested in porting XBMC to the Linux operating system. Since a few developers on Team-XBMC had already begun porting parts of XBMC over to Linux using SDL and OpenGL as a replacement for DirectX, which XBMC was using heavily on the Xbox version of XBMC.<ref name="ReferenceB">http://www.gizmodo.com.au/2010/10/history-of-boxee-and-boxee-was-born-slowly/ History Of Boxee: And Boxee Was Born, Slowly</ref><ref name="ReferenceC">http://www.gizmodo.com.au/tags/history-of-boxee/ History of boxee</ref>

Development on the Git codebase is continuing and the versioning scheme has been changed to reflect the release year and month, i.e. 8.10, 9.04, 9.11, 10.05, etc.

On 27 May 2010, the team behind XBMC announced the splitting of the Xbox branch into a new project; "XBMC4Xbox" which will continue the development and support of XBMC for the old Xbox hardware platform as a separate project, with the original XBMC project no longer offering any support for the Xbox.<ref name="Farewell XBOX"/><ref name="XBMC Discontinues Xbox Support"/><ref name="XBMC Drops Support for the Original Xbox"/><ref name="XBMC4Xbox"/>

On 2 January 2011, XBMC moved the source code repository from subversion to git, hosted at GitHub.<ref name="XBMC Moves to Git">Template:Cite web</ref>

On 1 August 2014, an announcement was made of release 14 and name change to Kodi.<ref name="XBMC becomes Kobi">Template:Cite web</ref>

Releases

This is a release history with condensed change-log lists for the most important added or removed notable new features, functions, and changed in each stable version of Kodi/XBMC.

Color Meaning
Red Old releases
Green Current release
Blue Future releases
 
Release history
 
Version Release date Codename Significant changes XBMC Live / XBMCbuntu based on
1.0.0 29 June 2004 Template:N/a
1.1.0 18 October 2004
  • Zoom/stretch options: zoom, stretch 4:3 or 14:9 or 16:9, original size, custom
  • Tags parsing and display for wma, m4a, mp4 and aac (mpeg-4 audio) audio-files
  • International-language fonts for subtitles via TTF-fonts
  • Audio CD ripper, backup cdda's to hdd in wav, Ogg or MP3 (LAME) format
  • Karaoke CDG-file and audio CUE-sheets (.cue) support
  • iIunes 6.x music shares via DAAP (network stream from Apple iTunes)
  • Auto-temperature and fan-speed control options
  • Network-configuration and setup via GUI
  • Profiles for settings
  • Mouse support and virtual keyboard
  • LCD-display output extended to also support xaddons lcd-mods and xecuter3 lcd
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Template:N/a
2.0.0 29 September 2006
  • Reworked skinning engine.
  • New internally developed video player ("DVDPlayer") with DVD-Video menu/navigation support (with ISO/IMG image parsing)
  • New internally developed audio/music-player ("PAPlayer") with crossfade, gapless playback and ReplayGain support
  • RAR/ZIP archive parsing
  • Karaoke CDG-file display
  • Xored Trainer Engine (gaming-cheats) (not ported from Xbox to other platforms yet)
  • XLink Kai (online-gaming) front-end (not ported from Xbox to other platforms yet)
  • Added UPnP / DLNA client
  • Read-only support for FAT12/16/32 formatted USB mass storage devices
  • New "skinnable" 3D visualizer.
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Template:N/a
8.10 15 November 2008 Atlantis
  • Cross-platform support adding support for Linux, Template:Nowrap, and Windows
  • New default high definition skin "PM3.HD"
  • "XBMC Live" bootable CD with unified hard disk/USB flash disk installer
  • The XBMC profile
  • Integration of iTunes and iPhoto media (Template:Nowrap exclusive).
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 8.10 (Intrepid Ibex)
9.04 6 May 2009 Babylon
  • PPC (PowerPC) support for Template:Nowrap (PowerPC G4 or later)
  • VDPAU (Nvidia's Video Decode and Presentation API for Unix)
  • New Karaoke features
  • Officially dropped support for the Xbox as a platform for XBMC
  • Updated codecs and major bug-fixes for DVD-Video playback core
  • More media info scrapers
  • Improved FanArt and Artwork support
  • Revamped skinning engine
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 9.04 (Jaunty Jackalope)
9.11 24 December 2009 Camelot
  • Revamped user interface via the new default skin "Confluence"
  • DirectX support by default for the Windows platform
  • A complete reorganization of the settings menus uniformed across skins
  • Automatic video information extraction
  • Out-of-the-box support for new remotes
  • Smoother video playback performance
  • All scrapers updated
  • Increased subtitle and Karaoke lyric support
  • Support for CoreAudio API (Template:Nowrap exclusive)
  • AC3 and DTS digital audio pass-through to S/PDIF on Apple TV (thanks to CoreAudio)
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 9.10 (Karmic Koala)
10.0 and 10.1 18 December 2010 Dharma
  • Unified addon framework
  • Addon browser GUI for installation and management of third-party addons, skin, and scripts
  • Team XBMC's official Addons Repository with Addon FanArt support
  • Update notifications
  • Movie Sets (option to group movie collections)
  • Gesture support to XBMC's GUI engine
  • Unencrypted Blu-ray Disc support
  • Broadcom Crystal HD video acceleration support (all platforms)
  • Windows Touch API support (Windows 7 touch features and functions)
  • DXVA 2.0 (DirectX Video Acceleration) (Windows Vista/7 exclusive)
  • WASAPI (Windows Audio Session API) for raw bitstream output (Windows Vista/7 exclusive)
  • High-quality bicubic and lanczos upscalers (video resamplers) as Direct3D HLSL (Windows Vista/7 exclusive) and OpenGL GLSL shaders
  • Direct3D port of the OpenGL Spectrum 3D Audio Visualization for DirectX (Windows Vista/7 exclusive)
  • Visual Studio 2010 Express edition and Visual Studio 2010 non-Express edition support (Windows Vista/7 exclusive)
  • ARM processor architecture (Linux exclusive)
  • VA-API (Video Acceleration API) support (Linux exclusive)
  • OpenMAX Video Acceleration API support for Linux (Linux exclusive)
  • NEON (Advanced SIMD instruction set) CPU acceleration support for the ARM architecture under Linux
  • Apple VDADecoder Video Acceleration support (Template:Nowrap exclusive requires Snow Leopard and Nvidia GeForce 9400 or later)
  • OpenGL ES 2.0 compliance
  • JSON-RPC, JSON API
  • RTMPE and RTMPTE streaming support
  • Microhttpd Web Server replaces old GoAhead and Spyce code
  • SSH file transfer protocol (sftp) streaming support via libssh
  • MySQL database backend
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 10.04 (Lucid Lynx)
11.0 24 March 2012 Eden
  • iOS port for Apple TV 2G, iPhone, iPod Touch, and iPad
  • Dirty Regions rendering option for texture support to skinning engine (disabled by default)<ref name="Working with dirty regions 19 June 2011 theuni" />
  • Efficiency improvements to reduce high CPU/GPU usage
  • Default skin changed to a horizontal home layout
  • New RenderCapture type to the Python script framework to enable Ambilight clone addons
  • Combined Files and Library mode for videos
  • Playback of ISO image files for Blu-ray Disc support
  • Slingbox playback over the network support
  • Peripheral manager controller under settings
  • HDMI CEC (Consumer Electronics Control) support for Pulse-Eight's USB CEC Adapter
  • Improved Apple VDADecoder Video Acceleration support
  • Improved Touch / Gesture API and Mouse support
  • Improved ARM processor architecture support
  • Improved OpenMAX Video Decoding Acceleration support for Linux
  • Improved OpenGL ES and EGL support
  • Improved JSON-RPC API compliance with JSON-RPC 2.0 specifications
  • Improved VDPAU performance
  • VDPAU HQ Upscaling support (require Nvidia's capable GPU)
  • H.264 accelerated video decoding via Apple's VideoToolBox API
  • JPEG accelerated image decoding via Apple's VideoToolBox API
  • Added basic DRC (Dynamic Range Compression) volume limiter
  • AirPlay / AirTunes target support
  • Extended Addons API adding extension points for Service Addons
  • Ability for all addons to provide their own web interface
  • Removed native weather forecast scraper, use weather addons instead
  • Added support for multiple simultaneous HID device mappings
  • FFmpeg upgraded (libavformat and libavcodec)
Lubuntu 11.10 (Oneiric Ocelot)
12.0, 12.1,

12.2 and 12.3

29 January 2013 Frodo<ref>XBMC 12.0 - Frodo</ref><ref>Template:Cite web</ref>
  • Added unified PVR front-end with seamless DVR and a common EPG client GUI
  • Added unified PVR back-end framework and API for multiple PVR servers
  • Added initial unstable XBMC for Android port with support on ARM and x86
  • Added BSD (operating system) port for FreeBSD, PC-BSD, and other similar BSD platforms
  • Added unified "AudioEngine" audio abstraction framework with an API and platform sinks
  • Added hardware accelerated video decoding on Intel GPUs under Template:Nowrap (Snow Leopard and later)
  • Added dedicated AMLPlayer video player for hardware-accelerated video decoding on Amlogic
  • Added dedicated OMXPlayer video player for hardware-accelerated video decoding via OpenMAX IL API
  • NEON (Advanced SIMD instruction set) CPU acceleration support for the ARM architecture
  • Improved ARM processor architecture (Pivos XIOS DS and Raspberry Pi as reference devices)
  • Improved OpenGL ES and EGL support (Pivos XIOS DS and Raspberry Pi as reference devices)
  • Added ability to run a split display resolution for GUI and video playback on embedded platforms<ref>https://github.com/xbmc/xbmc/pull/1467 Add the ability to run a split gui/display resolution for embedded platforms</ref>
  • Enable Dirty Regions rendering to redraw whole screen on single dirty region by default on all platforms<ref name="Working with dirty regions 19 June 2011 theuni"/><ref name="github.com"/>
  • Improved HDMI CEC (Consumer Electronics Control) support for Pulse-Eight's LibCEC
  • Library customization that allows for custom video nodes
  • Added Advanced Library Filtering for movies, TV shows, music videos, and music views
  • Improved Smart Playlists for Advanced Library Filtering
  • Custom tagging of movies, TV shows and music videos to simplify sets with scraping
  • Added support for both banner and poster video art types simultaneously<ref>https://github.com/xbmc/xbmc/pull/1575 Poster banner support for video art</ref>
  • Added storing of "Episode ID" for First Aired, DVD Episode Number, and Absolute Number sort order
  • Added support for exporting video art as JPG or PNG rather than TBN file extension
  • Switched to TagLib for reading metadata embedded into audio files
  • Better library database handling for faster browsing
  • Improved image and texture caching for GUI speedup
  • Optimize the GUI rendering engine for embedded devices
  • Improved Touch / Gesture API support for touchscreen interfaces
  • Added HLS (HTTP Live Streaming) and M3U8 (Extended M3U) playlist support
  • Added WebSocket support for JSON-RPC and to Addons API<ref>https://github.com/xbmc/xbmc/pull/511 add websocket support for JSON-RPC</ref>
  • Added basic support for PVR / EPG extensions and notifications over the JSON-RPC API
  • Added SmartPlaylist Extensions and Extended Filtering in JSON-RPC<ref>https://github.com/xbmc/xbmc/pull/1258 smartplaylist extensions & extended filtering in JSON-RPC</ref>
  • Added support for screensavers written in Python
  • Added ability to extend XBMC's native Python API by writing Template:Nowrap code generated via Groovy and SWIG<ref name=Github901>https://github.com/xbmc/xbmc/pull/901 Replace the entire scripting engine with one that's code-generated</ref>
  • Blu-ray Disc HDMV menu support (but not BD-J / BD-Live menus)<ref>https://github.com/xbmc/xbmc/pull/464 HDMV menus support for Blu-ray Disc</ref>
  • Improved deinterlacing "Weave" method for playback of interlaced video when upscaling
  • Improved performance of the default web interface (complete rewrite of JavaScript loading)
  • Improved AirPlay / AirTunes target support
  • Improved the Audio-CD ripper that now works as a background task job
  • Add test suite based on Google Template:Nowrap Testing Framework to make regression testing easier
  • Added support controlling external XBMC and third-party UPnP/DLNA instances over UPnP
  • Upgraded Platinum (libplatinum) UPnP and DNLA libraries
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
  • Removed the old HTTP API in favour of the new JSON-RPC API
?
13.0 4 May 2014 Gotham
  • Added first stable XBMC for Android port with multi-architecture platform support (supports ARM, MIPS, and x86)
  • Add built-in command for addons and skins to execute Android apps with optional params via applicationmanager
  • Added Stereoscopic 3D rendering support (Side-by-Side, Top-Bottom, and Anaglyph) to XBMC's GUI skinning engine
  • Added Stereoscopic 3D rendering support (Side-by-Side, Top-Bottom, and Anaglyph) for Subtitles when in 3D mode
  • Added further optimizations to XBMC's GUI engine for faster rendering on low resource embedded devices
  • Added much improved PVR / EPG and Live TV interface in XBMC's GUI skinning engine (already in use in Confluence)
  • Added improved PVR / DVR timeshift support (though note that each PVR backend still need to support timeshifting)
  • Added much improved PVR / EPG extensions and notifications support over the JSON-RPC API
  • Added an event driven ActiveAE audio sink as new default sink for AudioEngine (XBMC's audio engine)
  • Added PulseAudio sink for AudioEngine for Linux
  • Added Darwin sink for AudioEngine for Template:Nowrap and iOS
  • Added support for CoreAudio AudioEngine to OS notifications for device changes on Template:Nowrap and iOS
  • Added ImageFactory implementation with factory to abstract different image libraries and hardware acceleration
  • Add unified buffering capability to video and overlay renderers for all internal players
  • Added VA-API (libva) support for decoding videos with larger resolutions than 1080p (such as 4K resolution)
  • Add MediaCodec API (Android 4.1 API level 16) software rendering implementation support to XBMC's DVDPlayer
  • Add StageFright API (Android 4.0 API level 14) hardware rendering implementation support to XBMC
  • Added OpenMAX Video Acceleration API support for OpenMAX AL API on Android via StageFright and MediaCodec
  • Improved OpenMAX Video Acceleration API support for Linux
  • Add support for OpenMAX pipeline to handle JPEG decode/resize/convert/encode to texture on Raspberry Pi
  • Added support for hardware accelerated MJPEG, VP6, VP8 and Ogg Theora video decoding on Raspberry Pi
  • Added support for Fast Forward and Rewind video up 4x to OpenMAX (OMXPlayer) on Linux for Raspberry Pi
  • Add support multi-channel PCM audio output over HDMI to OpenMAX (OMXPlayer) on Linux for Raspberry Pi
  • Added RenderCapture implementation to Linux for Raspberry Pi for Ambilight addons
  • Add screenshot implementation to Linux for Raspberry Pi that includes the video layer
  • Add support for H.264 (including Hi10P) multi-threaded video decoding when software decoder on CPU is used
  • Added support for Pixel Shader-based HQ (High Quality) scalers for DXVA renderer on Windows
  • Add support for addon binary reading and writing via a "buffer" class usable from addons
  • Add announce function and register addon for announcements to the Add-ons API
  • Add WOL (Wake-on-LAN) with send magic packet function to the Add-ons API
  • Added native volume control for Android from within XBMC
  • Added external player (external player launcher) support on Android
  • Added support allow landscape and reverse landscape orientation on Android
  • Added support for CoreAudio AudioEngine to OS notifications for device changes on OSX and iOS
  • Added support for customizable menu structure for home and beyond
  • Added tag field support for TV Shows and MusicVideos in SmartPlaylists
  • Added support to read SmartPlaylists XML files with XMLUtils where possible
  • Added support for XBMC's Python interface to use native keyboard if possible (currently only iOS)
  • Added support for "last played" sort option to the TV Show GUI
  • Add ability to queue list of items / add items to a playlist without playing them
  • Add ability to play external audio track with videos
  • Add a Monitor class to receive JSON-RPC notifications directly through the Python bindings
  • Added support for "Play to" and controlling remote XBMC / DLNA instance over UPnP
  • Added support to allow key IDs in keyboard.xml to be in hexadecimal format
  • Added a simple Movie Set management to GUI for Edit/Clear Set and Add/Remove Set members
  • Added extensive MusicBrainz tags support to the Music Library and Database
  • Added support for video playback of SageTV recordings
  • Added theaudiodb.com music video scraper as new default for music videos
  • Added support for scanning videos SFTP and SSH sources so can scrape metadata
  • Added "Add art" button to video artwork selection dialog
  • Add option support for both banner and poster music art types simultaneously
  • Add option support for exporting music art as JPEG or PNG rather than TBN file extension
  • Added support for OGG cover art extraction to TagLib
  • Added new "Fishbmc" OpenGL audio visualization addon for Linux and Template:Nowrap
  • Added support for write-enabled WebDAV (delete/rename/write files and directories)
  • Added a generic and user-mappable cross-platform touch input system
  • Added hot-plug support for Linux input devices, such as Bluetooth remotes and keyboards
  • Added picture tags metadata info accessible for skins or addons developers
  • Added option to set auto login of a specific user profile via the GUI
  • Added new Built-In function to control state of attached HDMI CEC device
  • Added hybrid shutdown option on Windows 8 (which in turn enables quick boot)
  • Added CPU / GPU frequency and temperature for all supported Linux platforms
  • Add initial support for running libxbmc.so headless (without GUI) as a background service / deamon
  • Moved subtitle addon core handling to core and added native support for subtitle plugin services
  • Added support for Forced Subtitles ("forced flag") in external subtitle files
  • Added option for allowing skins to query directories (e.g. plugins) to fill static content
  • Added support for native media control bar and play background music on iOS
  • Added support and GUI settings for SOCKS 4/4a/5 proxy types and remote DNS
  • Added GUI settings levels for Basic, Standard, Advanced, Expert (defaults to "Standard")
  • Added possibility to define help descriptions ("I" key) for every setting in GUI settings
  • Refactored settings system to consist of XML files containing descriptions of every setting
  • Move LCD API and LCDproc support out of XBMC's core and instead into a Python script service add-on
  • Added support for copy and paste to and from clipboard with command key
  • Upgrade DVD-Video navigation and playback libraries (libdvdnav, libdvdread, and libdvdcss)
  • Upgrade SAMBA client to version 3.6.x adding full support for SMB 2.0 and SMB 2.1 protocols
  • Upgraded FFmpeg (libavcodec and libavformat) libraries to release version 1.2 (rev e820e3a)<ref>FFmpeg 1.2 "Magic"</ref>
  • Added adaptions for developing XBMC on non-jailbroken iOS devices (for development only, not to release on App Store)
  • Updated community maintained translations to over 60+ languages to date for XBMC<ref name="transifex.com"/>
  • Remove dependencies of SDL (Simple DirectMedia Layer) for windowing and event handling on X11
  • Remove Windows XP support (and now XBMC for Windows requires at least Vista or later)
?
14.0 23 December 2014 Helix
  • Renamed and rebranded to Kodi Media Center (from XBMC Media Center)
  • Add framework support for binary addons (inc. closed source proprietary addons) for audio encoder codecs
  • Add support for audio encoder codecs via a binary addons and move Vorbis, LAME, Flac and WAV audio encoders to addons
  • Add native XvBA accelerated video decoding for AMD/ATI GPUs on Linux<ref name="phoronix1"/>
  • Add initial optional X11 support on EGL (EGL-X11) based systems on Linux, full-screen mode only
  • Add support for HEVC (High Efficiency Video Coding) a.k.a. H.265 software video decoding
  • Add support for Planar Formats and PTS audio synchronization from player in ActiveAE
  • Improved network and file system reading when scanning files and searching for subtitles
  • Add capability for Text-to-Speech screen readers addons for visual impaired
  • Upgrade XBMC for Windows and binary addons to compile with Microsoft Visual Studio 2013 by default
  • Upgrade SDL (Simple DirectMedia Layer) from version 1.2 to 2.0 for improved input-support on Linux
  • Upgrade FFmpeg (libavcodec and libavformat) libraries to release version 2.x
?
15.0 21 July 2015 Isengard
  • Enhanced PVR and EPG frontend GUI in Kodi and extended the PVR API to support more features and functions
  • Added a FilmOn PVR Addon backend clients maintained and available from Kodi's community
  • Added a PCTV Systems PVR Addon backend clients maintained and available from Kodi's community
  • Added a VBox TV Gateway PVR Addon backend clients maintained and available from Kodi's community
  • Added MIPS processor architecture support for Linux (Imagination Technologies MIPS Creator CI20 as reference)
  • Added further optimizations to XBMC's GUI engine for faster rendering on low resource embedded devices
  • Added initial integration for binary addons support and changing the Kodi build system around it
  • Added framework support for binary addons (inc. closed source proprietary addons) for audio codecs
  • Extend Addons API to support binary addons (inc. closed source proprietary addons) for audio codecs
  • Added support for HEVC hardware decoding for MediaCodec API in Android 4.4.2 and later when the VPU supports it
  • Added support for HEVC hardware decoding on Amlogic SoCs in Android 4.4.2 and later when the VPU supports it
  • Added support for UltraHD decoding / 4K resolution output on Amlogic SoCs in Android when HW supports it
  • Added support for de-interlacing using BOB deinterlace method on Android
  • Added adaptive skipping/seeking through audio and video playback, also known as "skip steps"
  • Added an accessibility settings section to provide one configuration area for the visually and hearing impaired
  • Added support for Closed Captions (CC) in CEA-608 and CEA-708 formats
  • Improved Closed Captions support for Live TV
  • Improved PVR API and database adding many new EPG and Channel properties
  • Improved and expanded the internationalization and regional settings options in the GUI
  • Added support for external subtitles over UPnP (and DNLA)
  • Added a Chapter Selector Window with visual thumbnails
  • Improved web server caching control
  • Added support Sound Addons for skins instead of including sound files within each skin.
  • Improved the "GlobalSearch" (addon) function by adding EPG search support
  • Added support for Language Addons, moving internal Language translation files into external Language Addons
  • Added support for context-menu addons for skinners and addon developers
  • Added option for addons scripts to check status of DPMS energy saving functions of underlying OS
  • Removed internal Language translation files into external addons
  • Removed internal MythTV VFS client code in favour of its external PVR Client Addon
  • Removed internal VDR (VTP) VFS client code in favour of its external PVR Client Addon
  • Removed internal Tvheadend (HTSP) VFS client code in favour of its external PVR Client Addon
  • Removed internal TuxBox (Dreambox/DBox2/Vu+/Enigma2) VFS client code in favour of external PVR Client Addon
  • Removed internal ReplayTV (DirectTV) VFS client code in favour of external PVR Client Addon
  • Removed internal DAAP VFS client code for iIunes 6.x music shares (network stream from older Apple iTunes)
  • Removed the dependency for root/SU access permission rights on Android
  • Removed legacy code to backwards compatibility for skins made pre-Frodo (XBMC 11.0)
  • Removal AFP filesystem support from Kodi's VFS (Virtual File System)
  • Removed dependencies of SDL (Simple DirectMedia Layer) for everything but hardware abstraction for input devices
  • Moved to Android API 17 as minimum with SDK 14 and NDK 10e, meaning at least Android 4.2 is now required
  • Moved to iOS 8.1 SDK, minimum iOS 5.1 is now required, and removed support for Apple TV 2
  • Moved to Mac OSX 10.10 SDK, meaning minimum Mac OSX 10.7 Lion is now required, and no more 32-bit builds
  • Upgraded FFmpeg (libavcodec and libavformat) libraries to release version 2.6.x
  • Upgraded LibCEC (HDMI-CEC code from Pulse-Eight) libraries to release version 3.0.0
  • Changed Kodi application code base to C++11
?
16.0 Release Target Date: ? Jarvis<ref>http://kodi.wiki/view/Kodi_v16_(Jarvis)_changelog</ref>
  • Extend the Addon API to support Game Client Addons, supporting XBMC's VFS (Virtual File System), etc.
  • Add RetroPlayer Video Game Console Emulator (ROMs) interface supporting the libretro API and emulator cores
  • Add generic and user-mappable cross-platform Joystick (and Gamepad) abstraction layer for joystick APIs and joystick clients
  • Add support for "Peripheral" Addons for updatable configuration of input devices<ref>https://github.com/xbmc/xbmc/pull/2706 Peripheral add-ons</ref>
  • Add support for PVR addons to handle RDS radio signals (UECP and Rass formats)
  • Add a Stalker Middleware Addon backend clients maintained and available from Kodi's community
  • Add support for media importing and library integration of UPnP / DNLA
  • Add basic support for audiobooks (.m4b, .mka and .mp3 files with chapters), with resume support
  • Add ability to open the SmartPlaylist Editor for a given playlist
  • Add support for flagging of local verses remote content, and flagging of online verses temporary offline remote content
  • Add support for handling duplicate media in several ways (ex. multiple versions of same movie in different resolutions)
  • Add ImageFactory implementation with factory to abstract different image libraries and hardware acceleration
  • Add further optimizations to XBMC's GUI engine for faster rendering on low resource embedded devices
  • Add abstracted scene-graph deferred rendering for GUI renderer abstraction<ref name="ReferenceA"/>
  • Add support for Audio DSP (Digital Signal Processing) plugins and addons for Kodi's AudioEngine
  • Add framework support for binary addons (inc. closed source proprietary addons), for video codecs
  • Extend Addons API to support binary addons (inc. closed source proprietary addons), for video codecs
  • Add framework support for binary addons (inc. closed source proprietary addons), for media player cores
  • Extend Addons API to support binary addons (inc. closed source proprietary addons), for media player cores
  • Add support for C#, Java, Go, Modula-3, OCaml, Octave, and Scheme addons via Groovy and SWIG code-generation<ref name=Github901 />
  • Add support for Lua, Perl, PHP, R, Ruby, Tcl scripting languages based add-ons via Groovy and SWIG code-generation<ref name=Github901 />
  • Add support for display on DirectFB support via Mesa and DRM for OpenGL ES 2.0 support<ref name="github1"/>
  • Add initial native support for rendering display and input on Wayland compositors
  • Add VAAPI hardware decoding for HEVC (H.265) and VP9 in Linux/BSD/Unix where the hardware supports it
  • Add VDPAU hardware decoding for HEVC (H.265) and VP9 in Linux/BSD/Unix where the hardware supports it
  • Add DXVA hardware decoding for HEVC (H.265) and VP9 in Windows where the hardware supports it
  • Add support for VP9 hardware decoding for MediaCodec API in Android 4.4.2 and later when the VPU supports it
  • Add support for VP9 hardware decoding on Amlogic SoCs in Android 4.4.2 and later when the VPU supports it
  • Improve Apple VDADecoder Video Acceleration support for iOS and (Mac) OS X
  • Add native BD-J (Blu-ray Disc Java) and BD-Live menu and navigation support for decrypted Blu-ray Disc (via libbluray)
  • Add Blu-ray AACS decryption and DRM encrypted playback via third-party library (libaacs)
  • Add automatic refresh rate switching support for video playback on Android 5.0 and later, including Android TV
  • Add initial AudioTrack API support for Android 5.0 "Lollipop" and Android TV
  • Add "accessibility" options for hearing impaired and visual impaired
  • Add support to AudioEngine for devices with up to 72 audio channels (64 unknown + 8 mapped)
  • Add Raspberry Pi 2 specific settings defaults as it has fewer limitations compared to the Pi 1
  • Add Google Breakpad implementation on Android for minidumps
  • Add keymap for Nexus Player
  • Add ability to open the SmartPlaylist Editor for a given playlist
  • Add support for file based stubs and improve support for disc stubs
  • Add support for flagging TV show episodes as series/season finales
  • Add support for specifying image scaling algorithm for image resizing/caching
  • Add support for reading tags in .mka and .dsf containers (using new FFmpeg tagloader)
  • Add support for caching font vertices on GPU side (requires Windows 8 and DirectX 11)
  • Add support for hardware based Stereoscopic 3D (requires Windows 8 and DirectX 11)
  • Add support for interleaved Stereoscopic 3D mode on Windows platforms
  • Add support for checkerboard Stereoscopic 3D mode on Windows platforms
  • Update rendering system on Microsoft Windows platforms to DirectX 11 and Direct3D 11
  • Improve touchscreen input support on all supported platforms
  • Improve PVR API and database adding many new EPG and Channel properties
  • Improve native IPV6 support
  • Move music lyrics addon core handling to core and added native support for lyric plugin services
  • Move Last.fm scrobbler and Love/Hate scrobbling out of XBMC's core and instead into an add-on
  • Remove internal HDHomeRun VFS client code in favour of external PVR Client Addon
  • ?

<ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>http://xbmc.org XBMC Blog</ref>

Legality

The "XBMC Foundation", the organization behind the Kodi and XBMC projects, is legally represented by the Software Freedom Law Center (SFLC), which assists the Kodi/XBMC project and its developers in legal matters such as copyright, trademark, and branding questions, as well as economic issues such as handling donations and sponsors that help the project with expenses for dedicated hosting service and activities such as going to developer conferences, trade fairs and computer expos to tech demo Kodi, meeting with potential new developers, gain publicity to attract additional users, and more.<ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref><ref>Template:Cite web</ref>

Kodi's source code for all its supported platforms is made publicly available by Team Kodi under the open source GNU General Public License Version 2 license. The group currently maintains a Git repository for this source code. The XBMC Foundation and Team-Kodi developers take no position as to whether any intellectual property rights exist in the Kodi core source code, the third-party code libraries it depends upon, or any addons or plugins developed for Kodi. As such, Kodi is provided as is in whatever condition it exists.

Kodi can also optionally be compiled with libdvdcss to transparently support playing back DVD-Video movies encrypted using the CSS (Content Scramble System) encryption, and with libaacs and libbdplus (together with libbluray) to support playing back Blu-ray Disc movies encrypted using AACS (Advanced Access Content System) and protected by BD+ systems for DRM (Digital Rights Management). Since it is not a member of DVD Forum or AS Licensing Administrator, the Kodi project is not contractually obliged to insert user operation prohibition such as disallowing fast-forward or skipping during trailers and ads in DVD-Videos. The legal status of libdvdcss, libaacs and libbdplus is thus questionable in several nations, and the distribution of executable versions of Kodi containing which was built with these libraries without a commercial license to is likely to run afoul of the DMCA (Digital Millennium Copyright Act) in the U.S. However, in the European Union, this is likely legal, since DRM can be circumvented if it is done to facilitate legal use.<ref>Template:Cite web</ref>

In June 2015, Amazon removed the Kodi app from the Amazon Appstore because it has the ability to illegally download content, even though the app is a legal media center that does not come with pirated content.<ref>Amazon Bans Kodi/XBMC App Over Piracy Concerns June 16, 2015. Retrieved 22 June 2015.</ref> The app is still available on Google Play.

See also

Template:Portal

References

Template:Reflist

External links

Template:Commons category

Template:Home theater PC (application software)