Kodi (software)
   HOME

TheInfoList



OR:

Kodi (formerly XBMC) is a
free and open-source Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
media player software application developed by the XBMC Foundation, a
non-profit A nonprofit organization (NPO) or non-profit organisation, also known as a non-business entity, not-for-profit organization, or nonprofit institution, is a legal entity organized and operated for a collective, public or social benefit, in co ...
technology
consortium A consortium (plural: consortia) is an association of two or more individuals, companies, organizations or governments (or any combination of these entities) with the objective of participating in a common activity or pooling their resources ...
. Kodi is available for multiple operating systems and hardware platforms, with a software
10-foot user interface In computing, 10-foot user interface ("10-foot UI"), also known as a 3-meter user interface (especially for international marketing), is a graphical user interface designed for televisions. Compared to desktop computer and smartphone user int ...
for use with televisions and
remote control In electronics, a remote control (also known as a remote or clicker) is an electronic device used to operate another device from a distance, usually wirelessly. In consumer electronics, a remote control can be used to operate devices such ...
s. It allows users to play and view most streaming media, such as videos, music,
podcast A podcast is a program made available in digital format for download over the Internet. For example, an episodic series of digital audio or video files that a user can download to a personal device to listen to at a time of their choosin ...
s, and videos from the Internet, as well as all common
digital media Digital media is any communication media that operate in conjunction with various encoded machine-readable data formats. Digital media can be created, viewed, distributed, modified, listened to, and preserved on a digital electronics device. ...
files from local and network storage media. Kodi is a
multi-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
home-theater PC (HTPC) application. It is customizable: skins can change its appearance, and plug-ins allow users to access
streaming media Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content i ...
content via online services such as Amazon Prime Instant Video,
Crackle Crackle or crackling may refer to: Foods * Cracklings, the tissue remaining after lard and tallow have been extracted from animal fats ** Pork rinds in American English, pork scratchings in British English when served in small pieces as a snac ...
, Pandora Internet Radio, Rhapsody,
Spotify Spotify (; ) is a proprietary Swedish audio streaming and media services provider founded on 23 April 2006 by Daniel Ek and Martin Lorentzon. It is one of the largest music streaming service providers, with over 456 million monthly active use ...
, and
YouTube YouTube is a global online video sharing and social media platform headquartered in San Bruno, California. It was launched on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim. It is owned by Google, and is the second mo ...
. The later versions also have a personal video-recorder (PVR) graphical front end for receiving live television with
electronic program guide Electronic programming guides (EPGs) and interactive programming guides (IPGs) are menu-based systems that provide users of television, radio and other media applications with continuously updated menus that display scheduling information for ...
(EPG) and high-definition
digital video recorder A digital video recorder (DVR) is an electronic device that records video in a digital format to a disk drive, USB flash drive, SD memory card, SSD or other local or networked mass storage device. The term includes set-top boxes with direct to ...
(DVR) support. The software was created in 2002 as an independently developed homebrew media player application named Xbox Media Player for the first-generation
Xbox Xbox is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the ...
game console, changing its name in 2004 to Xbox Media Center (abbreviated as XBMC, which was adopted as the official name in 2008) Review of XBMC in Hardcore Gamer Magazine and was later made available under the name XBMC as a native application for Android,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
, BSD,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, iOS/
tvOS tvOS (formerly known as Apple TV Software) is an operating system developed by Apple Inc. for the Apple TV, a digital media player. In the first-generation Apple TV, Apple TV Software was based on Mac OS X. Starting with the second-generation, ...
, and
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
-based operating systems. Because of its open source and
cross-platform In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software ...
nature, with its core code written in C++, modified versions of Kodi XBMC together with JeOS have been used as a software appliance suite or
software framework In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard ...
in a variety of devices, including
smart TV A smart TV, also known as a connected TV (CTV), is a traditional television set with integrated Internet and interactive Web 2.0 features, which allows users to stream music and videos, browse the internet, and view photos. Smart TVs are a techn ...
s,
set-top box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information appliance device that generally contains a TV-tuner input and displays output to a television set and an external source of s ...
es, digital signage, hotel television systems, network connected media players and embedded systems based on armhf platforms like
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
. Derivative applications such as MediaPortal and Plex have been spun off from XBMC or Kodi, as well as
just enough operating system Just enough operating system (JeOS, pronounced "juice" according to SUSE) is a paradigm for customizing operating systems to fit the needs of a particular application such as for a software appliance. The platform only includes the operating system ...
s like LibreELEC. Kodi has attracted attention due to the availability of USB plug-ins for the software that facilitate playback of files from users' personal digital media collections, seen by media distributors as potentially enabling unauthorized access to copyrighted content, as well as "fully loaded"
digital media player A digital media player (also sometimes known as a streaming device or streaming box) is a type of consumer electronics device designed for the storage, playback, or viewing of digital media content. They are typically designed to be integra ...
s that are pre-loaded with such add-ons; The XBMC Foundation has not endorsed any of these uses, and has taken steps to disassociate the Kodi project from these add-ons, including threatening legal action against those using its
trademark A trademark (also written trade mark or trade-mark) is a type of intellectual property consisting of a recognizable sign, design, or expression that identifies products or services from a particular source and distinguishes them from ot ...
s to promote them.


Overview

Kodi supports many common audio, video, and image formats, playlists, audio visualizations, slideshows, weather forecast reporting, and third-party plugins. It is network-capable (internet and
home network A home network or home area network (HAN) is a type of computer network that facilitates communication among devices within the close vicinity of a home. Devices capable of participating in this network, for example, smart devices such as netw ...
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, 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. Plug-ins, using either C/C++ programming languages to create binary add-ons or the Python scripting language to create Script Addons, expand Kodi to include features such as television program guides,
YouTube YouTube is a global online video sharing and social media platform headquartered in San Bruno, California. It was launched on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim. It is owned by Google, and is the second mo ...
,
Hulu Hulu () is an American subscription streaming service majority-owned by The Walt Disney Company, with Comcast's NBCUniversal holding a minority stake. It was launched on October 29, 2007 and it offers a library of films and television series ...
,
Netflix Netflix, Inc. is an American subscription video on-demand over-the-top streaming service and production company based in Los Gatos, California. Founded in 1997 by Reed Hastings and Marc Randolph in Scotts Valley, California, it offers a ...
, Veoh, online movie trailer support, and Pandora Radio and
podcast A podcast is a program made available in digital format for download over the Internet. For example, an episodic series of digital audio or video files that a user can download to a personal device to listen to at a time of their choosin ...
streaming. Kodi also functions as a game launcher on any operating system. Kodi's
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
is distributed as open source under the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
(GPL-2.0-or-later), it is governed by the tax-exempt registered non-profit US organization, XBMC Foundation, and is owned and developed by a global free software community of unpaid volunteers. 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 XBMC4Xbox is a free and open source media player software made solely for the first-generation Xbox video-game console. The software was forked from the XBMC project (now known as Kodi and formerly known as Xbox Media Player) after XBMC removed s ...
", 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 renamed "XBMC" from the old "Xbox Media Center" name, and why it later was renamed "Kodi". 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 A modchip (short for modification chip) is a small electronic device used to alter or disable artificial restrictions of computers or entertainment devices. Modchips are mainly used in video game consoles, but also in some DVD or Blu-ray player ...
or softmod exploit to run on the Xbox game-console.


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 computer platforms, including many
set-top box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information appliance device that generally contains a TV-tuner input and displays output to a television set and an external source of s ...
es, and XBMC, now Kodi, was from the start designed to be otherwise very resource-efficient, for being as powerful and versatile a framework as it is. It runs well on what (by
Intel Atom Intel Atom is the brand name for a line of IA-32 and x86-64 instruction set ultra-low-voltage processors by Intel Corporation designed to reduce electric consumption and power dissipation in comparison with ordinary processors of the Intel Co ...
standards) are relatively underpowered OpenGL 1.3 (with GLSL support),
OpenGL ES 2.0 OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accele ...
or Direct3D (DirectX) 9.0 capable systems that are
IA-32 IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnatio ...
/ x86,
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging ...
, ARM (AArch32 and AArch64),
RISC-V RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on est ...
, or PowerPC G4 or later
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, a ...
based. When software decoding of a full HD
1080p 1080p (1920×1080 progressively displayed pixels; also known as Full HD or FHD, and BT.709) is a set of HDTV high-definition video modes characterized by 1,920 pixels displayed across the screen horizontally and 1,080 pixels down the screen ve ...
high-definition and high bit-rate video is performed by the system
CPU A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, a ...
, a
dual-core A multi-core processor is a microprocessor on a single integrated circuit with two or more separate processing units, called cores, each of which reads and executes program instructions. The instructions are ordinary CPU instructions (such ...
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 or embedded video processing circuits that support one of the following types of hardware-accelerated
video decoding A video decoder is an electronic circuit, often contained within a single integrated circuit chip, that converts base-band analog video signals to digital video. Video decoders commonly allow programmable control over video characteristics such as ...
: Google's MediaCodec API for Android, Intel's VAAPI, Nvidia's VDPAU API, AMD's XvBA API, Microsoft's
DXVA DirectX Video Acceleration (DXVA) is a Microsoft API specification for the Microsoft Windows and Xbox 360 platforms that allows video decoding to be hardware-accelerated. The pipeline allows certain CPU-intensive operations such as iDCT, mo ...
API, Apple's VDADecoder/VideoToolbox APIs, and the Khronos Group's OpenMAX API, AMLogic VPU,
Freescale Freescale Semiconductor, Inc. was an American semiconductor manufacturer. It was created by the divestiture of the Semiconductor Products Sector of Motorola in 2004. Freescale focused their integrated circuit products on the automotive, embedd ...
's i.MX6x series VPU, and
Raspberry Pi Raspberry Pi () is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in association with Broadcom. The Raspberry Pi project originally leaned towards the promotion of teaching basic ...
's GPU MMAL. By taking advantage of such hardware-accelerated video decoding, Kodi can play back most videos on many inexpensive, low-performance systems, as long as they contain a supported VPU or GPU.


Possible devices

As external devices can be used: RaspberryPi, Ondroid, Android-Smartphone, AmazonFireTV, IntelNuc.


Core features


Live TV with EPG and PVR/DVR frontend

The TV feature allows users to watch some TV broadcasts that may be transmitted by a DTT, ADSL, cable, or Internet streaming, depending on the chosen add-on. 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, which enables video capture and playback to and from a
hard disk drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with mag ...
with PVR Client Addons for most popular PVR backends ( TV tuner card server). These addons can be installed separately as plugins in Kodi. The PVR backend can either be a DVR set-top box connected to the network or a PC with a digital video recorder software. This software can run on the same computer or on other computers on the same network. The PVR software can turn computers or other appliances into DVRs. The operating system can be
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
,
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
, and Android devices. Several types of PVR Client Addons are available: * addons used for many PVR software and hardware such as Argus TV, DVBLogic DVBLink, DVBViewer, ForTheRecord, Tvheadend, MediaPortal, MythTV,
NextPVR GB-PVR was a PVR (personal video recorder aka digital video recorder) application, running on Microsoft Windows, whose main function was scheduling TV recordings and playing back live TV. GB-PVR is no longer under active development and has been ...
(formerly GB-PVR), VDR, Windows Media Center, * addons used for Enigma2-based DVR set-top boxes such as Dreambox,
DBox2 The DBox is a DVB satellite and cable digital television integrated receiver decoder (set-top box). They were distributed widely for use with Pay television channels. It was commissioned by the Kirch group's DF1, an early German provider of ...
, and Vu+., * addons used for direct LAN connection to network-attached TV-Tuners such as
HDHomeRun HDHomeRun is a network-attached digital television tuner box, produced by the company SiliconDust USA, Inc. Overview Unlike standard set-top box (or set-top unit) appliances, HDHomeRun does not have a video output that connects directly to the u ...
, PCTV Systems Broadway,
VBox Home TV Gateway VBox Home TV gateway is a network-enabled live TV tuner and PVR HDTV set-top-box produced by VBox Communications Ltd. The VBox Home TV Gateway is also known as: * V@Home TV Gateway PVR * V@Home TV Gateway * VHome TV Gateway * VBox TV Gateway * ...
, and Njoy Digital AnySee N7 DVB-S2 Network-Tuner. * addons used for the Internet-based television providers FilmOn (FilmOn.TV Networks), and Stalker Middleware, * addons used for
IPTV Internet Protocol television (IPTV) is the delivery of television content over Internet Protocol (IP) networks. This is in contrast to delivery through traditional terrestrial, satellite, and cable television formats. Unlike downloaded med ...
in general, e.g. the simple PVR client addon.


Video playback


Video Library

The Video Library, one of the Kodi
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
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 (e.g.,
web scraping Web scraping, web harvesting, or web data extraction is data scraping used for extracting data from websites. Web scraping software may directly access the World Wide Web using the Hypertext Transfer Protocol or a web browser. While web scrapin ...
sites like IMDb, TheMovieDB, TheTVDB), 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.


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", which was designed to play back
DVD-Video DVD-Video is a consumer video format used to store digital video on DVD discs. DVD-Video was the dominant consumer home video format in Asia, North America, Europe, and Australia in the 2000s until it was supplanted by the high-definition Blu- ...
movies, and this includes support native for DVD-menus, (based on the free open source libraries code
libdvdcss libdvdcss (or libdvdcss2 in some repositories) is a free and open-source software library for accessing and unscrambling DVDs encrypted with the Content Scramble System (CSS). libdvdcss is part of the VideoLAN project and is used by VLC media p ...
and libdvdnav). This
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
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 Ifo is a Local Government Area in Ogun State, Nigeria. Its headquarters are in the town of Ifo at .It has an area of and a population of 698,837 at the 2006 census "Adebami-Tella". The postal code of the area is 112. Transportation Ifo is conn ...
/
VOB VOB (for video object) is the container format in DVD-Video media. VOB can contain digital video, digital audio, subtitles, DVD menus and navigation contents multiplexed together into a stream form. Files in VOB format may be encrypted. File f ...
/ BUP) images (even directly from uncompressed
RAR RAR or Rar may refer to: * Radio acoustic ranging, a non-visual technique for determining a ship's position at sea * "rar", the ISO 639-2 code for the Cook Islands Māori language * RAR (file format), a proprietary compressed archive file format i ...
and ZIP archives), from either local harddrive storage or network-share storage.


Audio playback


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.


Digital picture/image display

Kodi handles all common digital picture/image formats with the options of panning/zooming and slideshow with the
Ken Burns effect The Ken Burns effect is a type of panning and zooming effect used in film and video production from still imagery. The name derives from extensive use of the technique by American documentarian Ken Burns. This technique had also been used to prod ...
, with the use of CxImage open source library code. XBMC can handle CBZ (ZIP) and CBR (RAR)
comic book archive A comic book archive or comic book reader file (also called sequential image file) is a type of archive file for the purpose of sequential viewing of images, commonly for comic books. The idea was made popular by the CDisplay sequential image vie ...
files, this feature lets users view/read, browse and zoom the pictures of comics pages these contain without uncompressing them first.


Games Manager and game console emulators

Development was in progress on new core features integrating a built-in Games Manager and Game Launcher front-end GUI with a Games Library, and Game Console Emulator API into XBMC. The code for all was being developed in a separate branch to be incorporated into the mainline tree. The Games Manager, once integrated into Kodi, provides a unified
games A game is a structured form of play, usually undertaken for entertainment or fun, and sometimes used as an educational tool. Many games are also considered to be work (such as professional players of spectator sports or games) or art (suc ...
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 addon 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). It also provides a joystick and gamepad abstraction layer for common joystick API and input clients.


RetroPlayer

Also under development is the "RetroPlayer"
video game console emulator A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass ...
( 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 designed to be fast, lightweight, and portable. RetroPlayer supports emulators for most popular retro game consoles, including but not limited to:
Atari 2600 The Atari 2600, initially branded as the Atari Video Computer System (Atari VCS) from its release until November 1982, is a home video game console developed and produced by Atari, Inc. Released in September 1977, it popularized microprocesso ...
, Atari Lynx,
Atari Jaguar The Atari Jaguar is a home video game console developed by Atari Corporation and released in North America in November 1993. Part of the fifth generation of video game consoles, it competed with the 16-bit Sega Genesis, the Super NES and th ...
,
Nintendo Entertainment System The Nintendo Entertainment System (NES) is an 8-bit third-generation home video game console produced by Nintendo. It was first released in Japan in 1983 as the commonly known as the The NES, a redesigned version, was released in America ...
,
Super NES The Super Nintendo Entertainment System (SNES), commonly shortened to Super NES or Super Nintendo, is a 16-bit home video game console developed by Nintendo that was released in 1990 in Japan and South Korea, 1991 in North America, 1992 in ...
,
Nintendo 64 The (N64) is a home video game console developed by Nintendo. The successor to the Super Nintendo Entertainment System, it was released on June 23, 1996, in Japan, on September 29, 1996, in North America, and on March 1, 1997, in Europe and ...
,
Game Boy The is an 8-bit fourth generation handheld game console developed and manufactured by Nintendo. It was first released in Japan on April 21, 1989, in North America later the same year, and in Europe in late 1990. It was designed by the same t ...
, the original
PlayStation is a video gaming brand that consists of five home video game consoles, two handhelds, a media center, and a smartphone, as well as an online service and multiple magazines. The brand is produced by Sony Interactive Entertainment, a di ...
,
Sega is a Japanese multinational video game and entertainment company headquartered in Shinagawa, Tokyo. Its international branches, Sega of America and Sega Europe, are headquartered in Irvine, California and London, respectively. Its division ...
systems (
Master System The is an 8-bit third-generation home video game console manufactured by Sega. It was originally a remodeled export version of the Sega Mark III, the third iteration of the SG-1000 series of consoles, which was released in Japan in 1985 an ...
,
Genesis Genesis may refer to: Bible * Book of Genesis, the first book of the biblical scriptures of both Judaism and Christianity, describing the creation of the Earth and of mankind * Genesis creation narrative, the first several chapters of the Book of ...
,
Sega CD The Sega CD, released as the in most regions outside North America and Brazil, is a CD-ROM accessory for the Sega Genesis produced by Sega as part of the fourth generation of video game consoles. It was released on December 12, 1991, in Japan ...
,
Game Gear The is an 8-bit Fourth generation of video game consoles, fourth generation handheld game console released by Sega on October 6, 1990, in Japan, in April 1991 throughout North America and Europe, and during 1992 in Australia. The Game Gear pri ...
), plus multiple
arcade game An arcade game or coin-op game is a coin-operated entertainment machine typically installed in public businesses such as restaurants, bars and amusement arcades. Most arcade games are presented as primarily games of skill and include arcade vi ...
s via MAME (Multiple Arcade Machine Emulator) and FBA (Final Burn Alpha), as well as
ScummVM Script Creation Utility for Maniac Mansion Virtual Machine (ScummVM) is a set of game engine recreations. Originally designed to play LucasArts adventure games that use the SCUMM system, it also supports a variety of non-SCUMM games by companies ...
and
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few o ...
based games. From v 18 Kodi supports a player core, Retroplayer, to play games using game emulator addons available for libretro.


Audio, video, and pictures media formats

Kodi can play media from CD/DVD media using an internal DVD-ROM drive. It can play media from an internal built-in
hard disk drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with mag ...
and SMB/SAMBA/CIFS shares (Windows File-Sharing), NFS, or stream them over
ReplayTV ReplayTV was a former DVR company that from 1999 until 2005, produced a brand of digital video recorders (DVR), a term synonymous with ''personal video recorder'' (PVR). It is a consumer video device which allows users to capture television progr ...
DVRs/PVRs,
Universal Plug and Play Universal Plug and Play (UPnP) is a set of networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices to seamlessly discover each other's presence on the ...
(UPnP) or
Digital Living Network Alliance Digital Living Network Alliance (DLNA; originally named Digital Home Working Group, DHWG) was founded by a group of PC and consumer electronics companies in June 2003 (with Intel in the lead role) to develop and promote a set of interoperability ...
(DLNA) shares, or stream
iTunes iTunes () is a software program that acts as a media player, media library, mobile device management utility, and the client app for the iTunes Store. Developed by Apple Inc., it is used to purchase, play, download, and organize digital mu ...
-shares via
Digital Audio Access Protocol The Digital Audio Access Protocol (DAAP) is the proprietary protocol introduced by Apple in its iTunes software to share media across a local network. DAAP addresses the same problems for Apple as the UPnP AV standards address for members of the ...
(DAAP). Kodi can 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 includes the option to submit music usage statistics to
Last.fm Last.fm is a music website founded in the United Kingdom in 2002. Using a music recommender system called "Audioscrobbler", Last.fm builds a detailed profile of each user's musical taste by recording details of the tracks the user listens to, e ...
and Libre.fm. It has music/video-playlist features, picture/image-slideshow functions, an MP3+CDG
karaoke Karaoke (; ; , clipped compound of Japanese ''kara'' "empty" and ''ōkesutora'' "orchestra") is a type of interactive entertainment usually offered in clubs and bars, where people sing along to recorded music using a microphone. The music is ...
function and many audio-visualizations and
screensaver A screensaver (or screen saver) is a computer program that blanks the display screen or fills it with moving images or patterns when the computer has been idle for a designated time. The original purpose of screensavers was to prevent phosphor ...
s. Kodi can upscale/upconvert all
standard-definition Standard-definition television (SDTV, SD, often shortened to standard definition) is a television system which uses a resolution that is not considered to be either high or enhanced definition. "Standard" refers to it being the prevailing sp ...
resolution videos and output them to 720p, 1080i, and 1080p high-definition resolutions. Under Microsoft Windows, Kodi supports Directsound and WASAPI; since
WASAPI Windows Vista (formerly codenamed Windows "Longhorn") has many significant new features compared with previous Microsoft Windows versions, covering most aspects of the operating system. In addition to the new user interface, security capabilities, ...
performs no mixing or resampling, it provides best audio quality.


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 An amplifier, electronic amplifier or (informally) amp is an electronic device that can increase the magnitude of a signal (a time-varying voltage or current). It may increase the power significantly, or its main effect may be to boost t ...
/ receiver for decoding.


Addons Manager, addons and plugins

Kodi features several open APIs to enable
third-party developer A video game developer is a broad term for a software developer specializing in video game development – the process and related disciplines of creating video games. A game developer can range from one person who undertakes all tasks to a large ...
s to create capabilities which extend Kodi with a multitude of addons, such as audio and video streaming plugins for online sources, screensavers, skins and themes, visualizations, weather forecasts, web interfaces, web scrapers, widget scripts, and more. Kodi developers encourage users to make and submit their own addons to expand media content and
value-added service A value-added service (VAS) is a popular telecommunications industry{{cite web, url=http://www.prweb.com/releases/2013/11/prweb11284640.htm, title=Global Mobile Value Added Services (VAS) Market: Worldwide Industry Share, Investment Trends, Growth, ...
s accessible from within Kodi. Kodi/XBMC features, since version 10.0 (codename: "Dharma"), an Addons Framework architecture and an Addons Manager GUI client that connects to a decentralized
digital distribution Digital distribution, also referred to as content delivery, online distribution, or electronic software distribution, among others, is the delivery or distribution of digital media content such as audio, video, e-books, video games, and other s ...
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 An over-the-top (OTT) media service is a media service offered directly to viewers via the Internet. OTT bypasses cable, broadcast, and satellite television platforms: the types of companies that traditionally act as controllers or distributor ...
high definition services and use video streaming site as sources for the media content that is offered. Kodi has extensibility and integration with online sources for free and premium streaming content, and offers content from everything from commercial video to free educational programming, and media from individuals and small businesses. Not all content sources on add-ons are available in every country, however. Due to rights agreements, many content sources are geo-restricted to prevent users in outside countries from accessing content, although some have taken to bypassing the regional restrictions in order to unblock these sources, disregarding the usage rights.


Plugins and scripts

Kodi features an integrated Python Scripts interpreter for addon extensions, and WindowXML
application framework In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software. Application frameworks became popular with the rise of graphical user inter ...
(a XML-based
widget toolkit A widget toolkit, widget library, GUI toolkit, or UX library is a library or a collection of libraries containing a set of graphical control elements (called ''widgets'') used to construct the graphical user interface (GUI) of programs. Most widge ...
engine for creating a GUI for apps and widgets) in a similar fashion to Apple macOS 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, cinemaguides, weather forecast,
over-the-top content An over-the-top (OTT) media service is a media service offered directly to viewers via the Internet. OTT bypasses cable, broadcast, and satellite television platforms: the types of companies that traditionally act as controllers or distributor ...
video streaming services like YouTube,
BBC iPlayer BBC iPlayer (stylised as iPLAYER or BBC iPLAYER) is a video on demand service from the BBC. The service is available on a wide range of devices, including mobile phones and tablets, personal computers and smart televisions. iPlayer services del ...
,
Hulu Hulu () is an American subscription streaming service majority-owned by The Walt Disney Company, with Comcast's NBCUniversal holding a minority stake. It was launched on October 29, 2007 and it offers a library of films and television series ...
,
Netflix Netflix, Inc. is an American subscription video on-demand over-the-top streaming service and production company based in Los Gatos, California. Founded in 1997 by Reed Hastings and Marc Randolph in Scotts Valley, California, it offers a ...
, Veoh, MLB.tv, Internet-radio-station browsers such as Pandora Radio, online picture sharing sites like
Flickr Flickr ( ; ) is an American image hosting and video hosting service, as well as an online community, founded in Canada and headquartered in the United States. It was created by Ludicorp in 2004 and was a popular way for amateur and profession ...
, TV guides such as TVShow Time, e-mail clients,
instant messaging Instant messaging (IM) technology is a type of online chat allowing real-time text transmission over the Internet or another computer network. Messages are typically transmitted between two or more parties, when each user inputs text and tri ...
, different timetables,
home automation Home automation or domotics is building automation for a home, called a smart home or smart house. A home automation system will monitor and/or control home attributes such as lighting, climate, entertainment systems, and appliances. It m ...
scripts to front-end control PVR software and hardware, P2P file-sharing downloaders ( BitTorrent), IRC, also casual games such as ''
Tetris ''Tetris'' (russian: link=no, Тетрис) is a puzzle video game created by Soviet software engineer Alexey Pajitnov in 1984. It has been published by several companies for multiple platforms, most prominently during a dispute over the appro ...
''.


Metadata extraction and web scrapers

Kodi has the built-in optional function to automatically download
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
information,
cover art Cover art is a type of artwork presented as an illustration or photograph on the outside of a published product such as a book (often on a dust jacket), magazine, newspaper (tabloid), comic book, video game ( box art), music album ( album ...
and other related media artwork online through its
web scrapers Web scraping, web harvesting, or web data extraction is data scraping used for extracting data from websites. Web scraping software may directly access the World Wide Web using the Hypertext Transfer Protocol or a web browser. While web scraping ...
that looks for media in the user's audio and 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 The Movie Database (TMDb) 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 MusicBrainz is a MetaBrainz project that aims to create a collaborative music database that is similar to the freedb project. MusicBrainz was founded in response to the restrictions placed on the Compact Disc Database (CDDB), a database for so ...
for album thumbnails, reviews, and metadata. Fanart.tv has been added to the list of information sources 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 applications that originated from a ' homebrew' scene, modification and customization of the interface using
skin Skin is the layer of usually soft, flexible outer tissue covering the body of a vertebrate animal, with three main functions: protection, regulation, and sensation. Other animal coverings, such as the arthropod exoskeleton, have different ...
s 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. As of Kodi version 17, the official default skins for new installs are "Estuary", for typical home-theater usage, and "Estouchy" for
touchscreen A touchscreen or touch screen is the assembly of both an input ('touch panel') and output ('display') device. The touch panel is normally layered on the top of an electronic visual display of an information processing system. The display is ofte ...
s. These newly designed skins replace the longtime default skin "Confluence", and are intended to present more content on the homescreen, be easier for new users, and bring "Kodi into the present day of UI design." 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. Many such third-party skins exist that are well maintained by the community, and while some skins are originals with unique designs, most 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. In addition to skins and themes users can create a themed package called a 'build'. Within this package homebrew developers are able to distribute a skin and multiple addons. The delivery mechanism used within the Kodi scene is called a wizard with the Replicant Wizard being the most prominent.


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. Others act 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 Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consist ...
such as computer games and
video game emulator A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass ...
s, all from a
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
with
thumbnail Thumbnails are reduced-size versions of pictures or videos, used to help in recognizing and organizing them, serving the same role for images as a normal text index does for words. In the age of digital images, visual search engines and imag ...
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 Android, iOS, Linux, macOS, and Windows, thus requiring third-party launcher plugins to function properly.


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 work as simple remote controls, while others function as more advanced
second screen A second screen involves the use of a computing device (commonly a mobile device, such as a smartphone or tablet) to provide an enhanced viewing experience for content on another device, such as a television. In particular, the term commonly refer ...
companion apps, offering additional information about what users are viewing or listening to on Kodi, such as
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
about movie actors and music artists, with links to other works available from those persons in their 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 Google Play, also known as the Google Play Store and formerly the Android Market, is a digital distribution service operated and developed by Google. It serves as the official app store for certified devices running on the Android operating sy ...
for Android devices and the
App Store An App Store (or app marketplace) is a type of digital distribution platform for computer software called applications, often in a mobile context. Apps provide a specific set of functions which, by definition, do not include the running of the c ...
for iOS Devices, such as
iPad The iPad is a brand of iOS and iPadOS-based tablet computers that are developed by Apple Inc., Apple Inc. The iPad was conceived before the related iPhone but the iPhone was developed and released first. Speculation about the development, ...
, iPhone, and
iPod Touch The iPod Touch (stylized as iPod touch) is a discontinued line of iOS-based mobile devices designed and marketed by Apple Inc. with a touchscreen-controlled user interface. As with other iPod models, the iPod Touch can be used as a musi ...
. These applications act as a second screen 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. Several third-party developers have also released multiple other unofficial Kodi remote control apps for iOS, Android,
BlackBerry The blackberry is an edible fruit produced by many species in the genus ''Rubus'' in the family Rosaceae, hybrids among these species within the subgenus ''Rubus'', and hybrids between the subgenera ''Rubus'' and ''Idaeobatus''. The taxonomy ...
,
Symbian Symbian is a discontinued mobile operating system (OS) and computing platform designed for smartphones. It was originally developed as a proprietary software OS for personal digital assistants in 1998 by the Symbian Ltd. consortium. Symbian OS ...
, Ubuntu Touch,
Windows Mobile Windows Mobile is a discontinued family of mobile operating systems developed by Microsoft for smartphones and personal digital assistants. Its origin dated back to Windows CE in 1996, though Windows Mobile itself first appeared in 2000 as Pock ...
, and
Windows Phone Windows Phone (WP) is a discontinued family of mobile operating systems developed by Microsoft for smartphones as the replacement successor to Windows Mobile and Zune. Windows Phone featured a new user interface derived from the Metro design lan ...
devices. 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.


Official versions

Due to the dated hardware of the first-generation Xbox game console that Kodi-XBMC was 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 have been created. Through the processing power of more recent computer hardware, XBMC can decode
high-definition video High-definition video (HD video) is video of higher resolution and quality than standard-definition. While there is no standardized meaning for ''high-definition'', generally any video image with considerably more than 480 vertical scan lines ...
up to and beyond
1080p 1080p (1920×1080 progressively displayed pixels; also known as Full HD or FHD, and BT.709) is a set of HDTV high-definition video modes characterized by 1,920 pixels displayed across the screen horizontally and 1,080 pixels down the screen ve ...
resolutions, bypassing hardware limitations of the Xbox version of XBMC. In recent releases of Kodi-XBMC there is hardware accelerated video decoding for
DXVA DirectX Video Acceleration (DXVA) is a Microsoft API specification for the Microsoft Windows and Xbox 360 platforms that allows video decoding to be hardware-accelerated. The pipeline allows certain CPU-intensive operations such as iDCT, mo ...
, VDPAU, VA-API GPU hardware video decoding, as well as hardware accelerated video decoding via ARM NEON, and OpenMAX, Broadcom Crystal HD. 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.


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 also available, and it is possible to compile XBMC Media Center from scratch for any Linux distribution, as long as the required dependency libraries are installed first. Hardware accelerated video decoding is achieved via the VDPAU API on Nvidia's GPUs, 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, and Broadcom Crystal HD on systems with supporting hardware. Development version of Kodi/XBMC for Linux is available at
Launchpad A launch pad is an above-ground platform from which rocket- missiles or space launch vehicles take off vertically. Launch pad may also refer to: Computing * Launchpad (macOS), an application launcher introduced in Mac OS X Lion * Launch Pad (sof ...
as PPA (Personal Package Archive) for the standard Ubuntu Desktop version 8.04 and later, as well as DEB packages for
Debian Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
. ''Kodi for OS X'' (formerly ''XBMC for Mac'') runs natively on and later, as well as on the Apple TV. 1080p playback can be achieved on
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus '' Malus''. The tree originated in Central Asia, where its wild ancest ...
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. 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. ''Kodi for Windows'' (formerly ''XBMC for Windows'') runs natively on Windows 7, Windows 8, and Windows 10 as a
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in 32- bit units. Compared to smaller bit widths, 32-bit computers can perform large calculati ...
or
64-bit In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit CPUs and ALUs are those that are based on processor registers, address buses, or data buses of that size. A ...
application. 1080p and Ultra HD (4K) playback can be achieved on Windows 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 is supported, although this enhancement only runs on Windows 7 (or later?) since it uses the DXVA 2.0 API, which was not supported in Windows XP. ''Kodi for iOS'' (formerly ''XBMC for iOS''), a full port of Kodi to Apple's iOS operating system, was released publicly on 20 January 2011. It supported both 720p and 1080p hardware accelerated video decoding of H.264 videos, and was compatible with Apple's iDevices that use Apple A4 or Apple A5 (ARM-based) processors with a jailbroken iOS operating system. In late 2017 MacWorld UK described how to install on iOS devices before iOS 11 without jailbreak. ''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. was first announced and its source code released publicly on 13 June 2012. This is a full port of Kodi's 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. 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. 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.


Xbox (first-generation)

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 XBMC4Xbox is a free and open source media player software made solely for the first-generation Xbox video-game console. The software was forked from the XBMC project (now known as Kodi and formerly known as Xbox Media Player) after XBMC removed s ...
", who have completely taken over the development and support of XBMC for the original Xbox. 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 For business applications, see Dashboard (business). A dashboard (also called dash, instrument panel (IP), or fascia) is a control panel set within the central console of a vehicle or small aircraft. Usually located directly ahead of the drive ...
that appears directly when the Xbox is turned on. Since XBMC for Xbox was part of an open source software program, its development
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the ...
was stored on a publicly accessible subversion repository. Accordingly, unofficial
executable In computing, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instructions", as opposed to a data fil ...
builds from the subversion repository are often released by third parties on sites unaffiliated with the official XBMC project.


Xbox One

On 29 December 2017, Kodi developers announced via the news section of their official website that a Kodi app had been released for the
Xbox One The Xbox One is a home video game console developed by Microsoft. Announced in May 2013, it is the successor to Xbox 360 and the third base console in the Xbox series of video game consoles. It was first released in North America, parts of ...
. It is noted that the UWP version will retain the characteristic Kodi appearance, however, many core features are missing or broken.


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 system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
s 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 ODMs and OEMs and
systems integrator A systems integrator (or system integrator) is a person or company that specializes in bringing together component subsystems into a whole and ensuring that those subsystems function together, a practice known as system integration. They also sol ...
companies can use
royalty-free Royalty-free (RF) material subject to copyright or other intellectual property rights may be used without the need to pay royalties or license fees for each use, per each copy or volume sold or some time period of use or sales. Computer standard ...
on their own hardware, hardware such as
set-top box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information appliance device that generally contains a TV-tuner input and displays output to a television set and an external source of s ...
es from cable-TV companies,
Blu-ray Disc The Blu-ray Disc (BD), often known simply as Blu-ray, is a digital optical disc data storage format. It was invented and developed in 2005 and released on June 20, 2006 worldwide. It is designed to supersede the DVD format, and capable of sto ...
and
DVD player A DVD player is a device that plays DVDs produced under both the DVD-Video and DVD-Audio technical standards, two different and incompatible standards. Some DVD players will also play audio CDs. DVD players are connected to a television to ...
s, game-consoles, or embedded computers and SoC (System-on-a-Chip) built into
television set A television set or television receiver, more commonly called the television, TV, TV set, telly, tele, or tube, is a device that combines a tuner, display, and loudspeakers, for the purpose of viewing and hearing television broadcasts, or using ...
s for web-enabled TVs, and other entertainment devices for the living room entertainment system,
home cinema Home cinema, also called home theaters or theater rooms, are home entertainment audio-visual systems that seek to reproduce a movie theater experience and mood using consumer electronics-grade video and audio equipment that is set up in a room ...
, or similar uses. Below is a list of third-party companies that sell hardware bundled with Kodi or XBMC software pre-installed, 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.


Computer hardware

ARCTIC The Arctic ( or ) is a polar regions of Earth, polar region located at the northernmost part of Earth. The Arctic consists of the Arctic Ocean, adjacent seas, and parts of Canada (Yukon, Northwest Territories, Nunavut), Danish Realm (Greenla ...
is a company based in Germany best known for their cooling solutions working in
partnership A partnership is an arrangement where parties, known as business partners, agree to cooperate to advance their mutual interests. The partners in a partnership may be individuals, businesses, interest-based organizations, schools, governments ...
with the OpenELEC team. On 5 February 2013, together they released a fully passively 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. AIRIS Telebision, sold by Telebision in Spain and designed specifically for the Spanish market, is a nettop based on
Nvidia Ion Nvidia Ion was a product line of Nvidia Corporation intended for motherboards of low-cost portable computers. It used graphics processing units and chipsets intended for small products. Description Nvidia Ion products included a GeForce 9M (9xx ...
chipset, pre-installed 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 Digital distribution, also referred to as content delivery, online distribution, or electronic software distribution, among others, is the delivery or distribution of digital media content such as audio, video, e-books, video games, and other s ...
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 Freeware is software, most often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the ...
, 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 Xubuntu () is a Canonical Ltd.–recognized, community-maintained derivative of the Ubuntu operating system. The name ''Xubuntu'' is a portmanteau of ''Xfce'' and ''Ubuntu'', as it uses the Xfce desktop environment, instead of Ubuntu's Unity ...
and XBMC software installed. Pulse-Eight Limited sells both custom and off-the-shelf hardware 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" 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 a dedicated HTPC system.
Xtreamer Xtreamer was a brand of home digital media player and HTPC (Home Theater PC) products. The product line's goais to replace traditional video players in homes (such as DVD players) with more versatile, but still affordable, players. These players ar ...
Ultra and Xtreamer Ultra 2, manufactured by the South Korean company Unicorn Information Systems, are nettops based on Nvidia graphics and
Intel Atom Intel Atom is the brand name for a line of IA-32 and x86-64 instruction set ultra-low-voltage processors by Intel Corporation designed to reduce electric consumption and power dissipation in comparison with ordinary processors of the Intel Co ...
processors which come 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. Since 10 September 2010, ZOTAC has been shipping a software bundle that they call ZOTAC Boost XL with all their new
motherboard A motherboard (also called mainboard, main circuit board, mb, mboard, backplane board, base board, system board, logic board (only in Apple computers) or mobo) is the main printed circuit board (PCB) in general-purpose computers and other expand ...
s and Mini-PCs, such as Zotac's ZBOX and MAG series of Nettops which Zotac also does demos of with XBMC. This ZOTAC Boost XL software bundle consist of the software applications; Auslogics BoostSpeed, Cooliris, Kylo (HDTV-optimized Web Browser), and XBMC Media Center. Zotac's ZBOX and MAG series of small mini-PCs are nettops 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 A CD player is an electronic device that plays audio compact discs, which are a digital optical disc data storage format. CD players were first sold to consumers in 1982. CDs typically contain recordings of audio material such as music or au ...
Blu-ray Disc optical disc drive, and some with a remote control. The mintBox by the Linux Mint team is an OEM version of the Israeli company CompuLab's fit-PC, which comes pre-installed with Linux Mint open source operating-system and software, MATE desktop, 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.


Dedicated devices

PrismCube Ruby by Marusys is a DVB-S2 twin-tuner high-definition DVR-PVR set-top-box running XBMC as its main interface on-top of embedded Linux. The Little Black Box is a Linux kernel-based ARM media player with XBMC as its main interface. 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. 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. 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). 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. 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 for controlling 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 A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is a ...
and an additional internal 2 TB hard disk drive can be added. 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. It comes complete with SMK-Link remote control.


Derivatives and forks

Kodi/XBMC media center source code have over the years become a popular software to
fork In cutlery or kitchenware, a fork (from la, furca 'pitchfork') is a utensil, now usually made of metal, whose long handle terminates in a head that branches into several narrow and often slightly curved tine (structural), tines with which one ...
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 The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
,
windowing system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP ( windows, icons, menus, pointer) paradigm f ...
, or
window manager A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They work in conjunctio ...
. And today at least
Boxee Boxee was a cross-platform freeware HTPC (Home Theater PC) software application with a 10-foot user interface and social networking features designed for the living-room TV. It enabled its users to view, rate and recommend content to their fri ...
, Plex,
Tofu Tofu (), also known as bean curd in English, is a food prepared by coagulating soy milk and then pressing the resulting curds into solid white blocks of varying softness; it can be ''silken'', ''soft'', ''firm'', ''extra firm'' or ''super f ...
, MediaPortal, LibreELEC, OpenELEC, OSMC,
GeeXboX GeeXboX (stylized as GEExBox) is a free Linux distribution providing a media center software suite for personal computers. GeeXboX 2.0 and later uses XBMC for media playback and is implemented as Live USB and Live CD options. As such, the syst ...
,
Voddler Voddler was a Stockholm, Sweden-based provider of a video-on-demand (VOD) platform and a streaming technology for over-the-top (OTT) streaming on the public Internet. In Scandinavia, Voddler was primarily known for the commercial VOD-service ...
, DVDFab Media Player, and Horizon TV are all separate derivative products that are all openly known to at least initially have forked the
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, ins ...
(GUI) 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 Upstream may refer to: * Upstream (bioprocess) * ''Upstream'' (film), a 1927 film by John Ford * Upstream (networking) * ''Upstream'' (newspaper), a newspaper covering the oil and gas industry * Upstream (petroleum industry) * Upstream (software ...
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. However some which was initially a fork of XBMC have since fully or partially been rewritten to use closed source proprietary software. For more information see the main "
List of software based on XBMC This is list of software projects or products that are third-party source ports, modified forks, or derivative work directly based on '' Kodi Entertainment Center'' (formerly ''XBMC Media Center''), an open source media player application and e ...
" article. Some examples on building on Kodi-XBMC are LibreELEC, OSMC, OpenELEC and
GeeXboX GeeXboX (stylized as GEExBox) is a free Linux distribution providing a media center software suite for personal computers. GeeXboX 2.0 and later uses XBMC for media playback and is implemented as Live USB and Live CD options. As such, the syst ...
which are free and open source embedded operating systems providing complete media center software suite that comes with a preconfigured 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 Flash memory is an electronic non-volatile computer memory storage medium that can be electrically erased and reprogrammed. The two main types of flash memory, NOR flash and NAND flash, are named for the NOR and NAND logic gates. Both use ...
or a
solid-state drive A solid-state drive (SSD) is a solid-state storage device that uses integrated circuit assemblies to store data persistently, typically using flash memory, and functioning as secondary storage in the hierarchy of computer storage. It is a ...
, and specifically targeted to a minimum
set-top box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information appliance device that generally contains a TV-tuner input and displays output to a television set and an external source of s ...
hardware setup based on ARM SoC's or Intel x86 processor and graphics. Similar embedded Linux distributions to LibreELEC/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. Another example is
XBMC4Xbox XBMC4Xbox is a free and open source media player software made solely for the first-generation Xbox video-game console. The software was forked from the XBMC project (now known as Kodi and formerly known as Xbox Media Player) after XBMC removed s ...
, 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.


Programming and developing

Kodi is a non-profit and
free software community The free software movement is a social movement with the goal of obtaining and guaranteeing certain freedoms for software users, namely the freedoms to run the software, to study the software, to modify the software, and to share copies of the s ...
driven
open-source software Open-source software (OSS) is computer software that is released under a license in which the copyright holder grants users the rights to use, study, change, and distribute the software and its source code to anyone and for any purpose. ...
project that is developed only by volunteers in their spare time without any
monetary Money is any item or verifiable record that is generally accepted as payment for goods and services and repayment of debts, such as taxes, in a particular country or socio-economic context. The primary functions which distinguish money are ...
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 A wiki ( ) is an online hypertext publication collaboratively edited and managed by its own audience, using a web browser. A typical wiki contains multiple pages for the subjects or scope of the project, and could be either open to the pub ...
-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
Doxygen Doxygen ( ) is a documentation generator and static analysis tool for software source trees. When used as a documentation generator, Doxygen extracts information from specially-formatted comments within the code. When used for analysis, Doxyge ...
formatted "code documentation" comments inside that code is needed.


Architecture

Kodi is a cross-platform software application whose core is mainly programmed in . Kodi uses
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
(or
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accele ...
) graphics rendering under Kodi for both Linux and macOS, while Kodi for Windows uses Microsoft DirectX multimedia framework and
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
rendering, as the
Xbox Xbox is a video gaming brand created and owned by Microsoft. The brand consists of five video game consoles, as well as applications (games), streaming services, an online service by the name of Xbox network, and the development arm by the ...
version of XBMC did. Some of Kodi's own
libraries A library is a collection of Document, materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or electronic media, digital access (soft copies) materials, and may be a ...
, as well as many third-party libraries that Kodi depends on, are written in the C programming-language, instead of as Kodi's core, but they are then mostly used with a wrapper and, through Kodi's core monolithic nature, are loaded via a dynamic linker
loader Loader can refer to: * Loader (equipment) * Loader (computing) ** LOADER.EXE, an auto-start program loader optionally used in the startup process of Microsoft Windows ME * Loader (surname) * Fast loader * Speedloader * Boot loader ** LOADER.COM ...
for on-demand loading and unloading at run time. Kodi also still partially uses the SDL ( Simple DirectMedia Layer) multimedia
framework A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of. Framework may refer to: Computing * Application framework, used to implement the structure of an application for an op ...
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 An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is ''embedded ...
devices today, of which the main hindrance has always been the amount of available system
RAM Ram, ram, or RAM may refer to: Animals * A male sheep * Ram cichlid, a freshwater tropical fish People * Ram (given name) * Ram (surname) * Ram (director) (Ramsubramaniam), an Indian Tamil film director * RAM (musician) (born 1974), Dutch * ...
and graphics memory at any one time. This 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. 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. 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, and XBMC 12.0 (Frodo) enabled Dirty Regions rendering to redraw the whole screen on a single dirty region by default on all platforms. Work is also in progress for XBMC 14.0 to introduce an abstracted scene-graph deferred rendering for GUI renderer abstraction.


Portability

Kodi has a portable code base, with its trunk (mainline source code tree) officially available for
IA-32 IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnatio ...
/ x86,
x86-64 x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging ...
,
PowerPC PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple– IBM– ...
, and ARM-based platforms. The Kodi GUI does require 3D hardware accelerated graphics (
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobi ...
) that support
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accele ...
,
OpenGL OpenGL (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardwa ...
, or EGL, or
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
with device drivers that support
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accele ...
2.0, or OpenGL 1.3 or later with GLSL, or
DirectX Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with "Direct" ...
in order to render the GUI at an acceptable
frame rate Frame rate (expressed in or FPS) is the frequency (rate) at which consecutive images ( frames) are captured or displayed. The term applies equally to film and video cameras, computer graphics, and motion capture systems. Frame rate may also be ...
. Kodi is thus officially not yet available for MIPS upstream in mainline source code repository from Team-Kodi, nor does it as yet support DirectFB or DRI (Direct Rendering Infrastructure) rendering without OpenGL/GLES hardware accelerated graphics support. The combination of MIPS, DirectFB, and DRI is a popular architecture used today by simpler
set-top box A set-top box (STB), also colloquially known as a cable box and historically television decoder, is an information appliance device that generally contains a TV-tuner input and displays output to a television set and an external source of s ...
es like digital broadcasting (cable/satellite) boxes and low-end
digital media player A digital media player (also sometimes known as a streaming device or streaming box) is a type of consumer electronics device designed for the storage, playback, or viewing of digital media content. They are typically designed to be integra ...
s, such as those based on
MIPS architecture MIPS (Microprocessor without Interlocked Pipelined Stages) is a family of reduced instruction set computer (RISC) instruction set architectures (ISA)Price, Charles (September 1995). ''MIPS IV Instruction Set'' (Revision 3.2), MIPS Technologies, ...
chipsets from Sigma Designs or
Realtek Realtek Semiconductor Corp () is a fabless semiconductor company situated in the Hsinchu Science Park, Hsinchu, Taiwan. Realtek was founded in October 1987 and subsequently listed on the Taiwan Stock Exchange in 1998. Realtek currently manufa ...
. Kodi ports to MIPS is, however, currently being actively worked on by several independent development teams. Kodi for Linux supports toolchain building systems for embedded development such as Yocto, Buildroot (
uClibc __NOTOC__ In computing, uClibc (sometimes written µClibc) is a small C standard library intended for Linux kernel-based operating systems for embedded systems and mobile devices. uClibc was written to support μClinux, a version of Linux n ...
), 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 and gadgets)

Kodi allows developers to create addons using a built-in Python interpreter) and its own WindowXML
application framework In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of application software. Application frameworks became popular with the rise of graphical user inter ...
, which together form an XML-based widget toolkit for which they can extend the capability of Kodi by creating a
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
for widgets. Python widget scripts allow non-developers to themselves create new add-ons for Kodi, using Python.


Application programming interface (API)

Other than the
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
s (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 JSON-RPC is a remote procedure call protocol encoded in JSON. It is similar to the XML-RPC protocol, defining only a few data types and commands. JSON-RPC allows for notifications (data sent to the server that does not require a response) and for m ...
server, D-Bus Server,
Web server A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initia ...
, 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 for remote controls.


GUI-engine and skinning (themes)

Kodi/XBMC is noted as having a very flexible
GUI toolkit The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
and robust
framework A framework is a generic term commonly referring to an essential supporting structure which other things are built on top of. Framework may refer to: Computing * Application framework, used to implement the structure of an application for an op ...
for its
GUI The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inste ...
. With its underlying complex graphical design and layout
library A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vi ...
(named libGUI in Kodi/XBMC), it provides a simple
abstraction layer In computing, an abstraction layer or abstraction level is a way of hiding the working details of a subsystem. Examples of software models that use layers of abstraction include the OSI model for network protocols, OpenGL, and other graphics libr ...
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
skin Skin is the layer of usually soft, flexible outer tissue covering the body of a vertebrate animal, with three main functions: protection, regulation, and sensation. Other animal coverings, such as the arthropod exoskeleton, have different ...
s for XBMC. The skin files are written in
XAML Extensible Application Markup Language (XAML ) is a declarative XML-based language that Microsoft developed for initializing structured values and objects. It is available under Microsoft's Open Specification Promise. XAML is used extensively ...
, using a standard
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
base, making theme-
skinning Skinning is the act of skin removal. The process is done by humans to animals, mainly as a means to prepare the meat beneath for cooking and consumption, or to harvest the skin for making fur clothing or tanning it to make leather. The sk ...
and personal customization very accessible.


Software limitations

Kodi's own internal cross-platform video and audio players (DVDPlayer and PAPlayer) cannot officially play any audio or video files that are protected or encrypted with
Digital Rights Management Digital rights management (DRM) is the management of legal access to digital content. Various tools or technological protection measures (TPM) such as access control technologies can restrict the use of proprietary hardware and copyrighted work ...
(DRM) technologies for
access control In the fields of physical security and information security, access control (AC) is the selective restriction of access to a place or other resource, while access management describes the process. The act of ''accessing'' may mean consuming ...
, meaning audio files purchased from
online music store A digital music store is a business that sells digital audio files of music recordings over the Internet. Customers gain ownership of a license to use the files, in contrast to a music streaming service, where they listen to recordings without ...
s such as
iTunes Music Store The iTunes Store is a digital media store operated by Apple Inc. It opened on April 28, 2003, as a result of Steve Jobs' push to open a digital marketplace for music. As of April 2020, iTunes offered 60 million songs, 2.2 million apps, 25,000 ...
, Audible.com, Windows Media Player Stores, and video files protected with
Windows Media DRM Windows Media DRM or WMDRM, is a Digital Rights Management service for the Windows Media platform. It is designed to provide delivery of audio or video content over an IP network to a PC or other playback device in such a way that the distributor ca ...
or DivX proprietary DRM. Such files can be played only by using another media player supporting DRM, or by removing the DRM protection from the file.


Reception

Kodi won a Lifehacker Award in 2014 for "Best Media Player" in their entertainment selection. Kodi won two
SourceForge SourceForge is a web service that offers software consumers a centralized online location to control and manage open-source software projects and research business software. It provides source code repository hosting, bug tracking, mirroring ...
2006 Community Choice Awards. In the 2007 Community Choice Awards, Kodi was nominated finalist in six categories. Also in the 2008 Community Choice Awards Kodi won an award for Best Project for Gamers. 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.


History

On 13 December 2003, Xbox Media Player (XBMP) development stopped, by which time its successor, Xbox Media Center (XBMC), was ready for its debut, renamed as it was growing out of its 'player' name and into a 'center' for media playback. On 29 June 2004, the first stable release of XBMC was out, with the official release of Xbox Media Center 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 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. In the middle of 2004, with the release of 1.0.0, work continued on the XBMC project to add more features, such as support for iTunes features like DAAP and Smart Playlists, as well as many improvements and fixes. On 18 October 2004, the second stable release of XBMC, 1.1.0, was out. 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). On 29 September 2006, after two years of heavy development, XBMC announced a stable point final release of XBMC 2.0.0. 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. On 12 November 2006, the release of XBMC 2.0.1 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. 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. 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. On 2 January 2011, XBMC moved the source code repository from
subversion Subversion () refers to a process by which the values and principles of a system in place are contradicted or reversed in an attempt to transform the established social order and its structures of power, authority, hierarchy, and social norms ...
to
git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data in ...
, hosted at
GitHub GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, cont ...
. Development on the Git codebase is continuing and the versioning scheme has been changed to reflect the release year and month, e.g., 8.10, 9.04, 9.11, 10.05. On 1 August 2014, an announcement was made of release 14 and name change to Kodi. On 19 February 2021, version 19 of Kodi is released.


Organization and licensing

The XBMC Foundation is the organization behind the Kodi and XBMC projects. It is legally represented by the
Software Freedom Law Center The Software Freedom Law Center (SFLC) is an organization that provides '' pro bono'' legal representation and related services to not-for-profit developers of free software/open source software. It was launched in February 2005 with Eben Mogle ...
(SFLC), which assists the Kodi/XBMC project and its developers in legal matters such as
intellectual property Intellectual property (IP) is a category of property that includes intangible creations of the human intellect. There are many types of intellectual property, and some countries recognize more than others. The best-known types are patents, co ...
. It also assists with economic issues such as handling donations and sponsors that help the project with expenses for
dedicated hosting service A dedicated hosting service, dedicated server, or managed hosting service is a type of Internet hosting in which the client leases an entire server not shared with anyone else. This is more flexible than shared hosting, as organizations hav ...
and activities such as going to developer conferences, trade fairs and computer expos to tech demo Kodi, meeting with potential new developers, and marketing the software. Kodi's source code is licensed under the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
, specifically GPL-2.0-or-later, and is hosted through
Git Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data in ...
repositories.


Controversies


Use for illegal streaming

Third-party add-ons allow users to stream copyrighted content without the permission of its copyright holder. Some Kodi distributions and hardware devices, often marketed as "fully loaded", are pre-loaded with the software and such add-ons. As a result, some users have incorrectly associated these products and add-ons as being affiliated with the Kodi project. In June 2015,
Amazon Appstore Amazon Appstore is an app store for Android-compatible platforms operated by Amazon.com Services, LLC, a subsidiary of Amazon. The store is primarily used as the storefront for Amazon's Android-based Fire OS. including Amazon Fire tablets, a ...
pulled Kodi, as it can be "used to facilitate the piracy or illegal download of content", even though the software is not bundled with such content. XBMC Foundation president Nathan Betzen disagreed with the assumption, stating that "We always say we don't care what our users do with the software, and we stand by that position. But we sure do hate it when companies destroy the name of our software in order to make a profit." He also considered it ironic that Amazon would ban the app, given that it, in his opinion, helped to bolster the popularity of Amazon Fire TV products. It was also pointed out that Amazon still distributed Kodi distributions with infringing add-ons via the same storefront. As of February 2019 the ban still appears to be in effect, In December 2015, the
Amazon Fire TV Stick Amazon Fire TV (stylized as amazon fireTV) is a line of digital media players and microconsoles developed by Amazon. The devices are small network appliances that deliver digital audio and video content streamed via the Internet to a connected ...
experienced a stock shortage in the United Kingdom that was speculated to have been associated with its use with Kodi. In February 2016, the XBMC Foundation reiterated its stance on third-party Kodi products meant for the streaming of unlicensed content; Betzen explained that the reputation of the Kodi project had been hurt by its association with third-party products whose sellers "make a quick buck modifying Kodi, installing broken piracy add-ons, advertising that Kodi lets you watch free movies and TV, and then vanishing when the user buys the box and finds out that the add-on they were sold on was a crummy, constantly breaking mess." Betzen warned that although it is open source software, the name "Kodi" and its logos are
registered trademark The registered trademark symbol, , is a typographic symbol that provides notice that the preceding word or symbol is a trademark or service mark that has been registered with a national trademark office. A trademark is a symbol, word, or wor ...
s of the XBMC Foundation, and that the foundation intended to strictly enforce its trademark rights to prevent their unauthorized use, especially in association with information and devices meant to enable access to unlicensed content. In April 2017, following an
April Fools' Day April Fools' Day or All Fools' Day is an annual custom on 1 April consisting of practical jokes and hoaxes. Jokesters often expose their actions by shouting "April Fools!" at the recipient. Mass media can be involved in these pranks, which may ...
stunt where the Kodi website was taken down and replaced with a fake domain seizure notice, Kodi's developers stated that they were considering working with legal third-party content providers to officially support their services within Kodi, to counter the perception that the software is primarily used for piracy. In March 2018, Google removed "Kodi" from its
autocomplete Autocomplete, or word completion, is a feature in which an application predicts the rest of a word a user is typing. In Android and iOS smartphones, this is called predictive text. In graphical user interfaces, users can typically press the ta ...
search query, citing that the term was associated with copyright infringement, but failed to remove autocomplete terms for modified, piracy-focused versions of Kodi (that unlike Kodi are illegal).


See also

* List of smart TV platforms and middleware software * Comparison of PVR software packages


References


External links

* {{DEFAULTSORT:Kodi 2004 software Cross-platform free software Free and open-source Android software Free media players Free mobile software Free software programmed in C++ MacOS media players Software DVD players Xbox One software Xbox Series X and Series S software