Kodi (software)


Kodi is a free and open-source media center application developed by the Kodi Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a 10-foot user interface designed for use with large screens and remote controls. It allows users to play and view most streaming media, such as videos, music, and podcasts from the Internet, as well as all common digital media files from local and network storage media, or TV gateway viewer.
Kodi was initially designed as a multi-platform media center application that has grown to become a multi-purpose technological convergence platform. It is fully customizable: skins can change its appearance, and plug-ins expand the application with new features, such as weather forecasts and more remote control options, and can allow users to access streaming media content via online services such as Amazon Prime Video, Crackle, Pandora, Napster, Spotify, and YouTube. The later versions also have a personal video-recorder graphical front end for receiving live television with electronic program guide and high-definition digital video recorder support.
The software was originally created in 2002 as an independently developed homebrew media player application named Xbox Media Player for the first-generation Xbox game console, changing its name in 2004 to Xbox Media Center and was later made available under the name XBMC as a native application for Android, Linux, BSD, macOS, iOS/tvOS, and Microsoft Windows-based operating systems. Then the project was renamed again from XBMC to "Kodi" in July 2014 with the release of Kodi 14, while still keeping "XBMC Foundation" as the name for its legal entity that owns Kodi's code as well as directly related trademarks and logos.
Because of its open source and cross-platform nature, with its core code written in C++, modified versions of Kodi together with JeOS have been used as a software appliance suite or software framework in a variety of devices, including smart TVs, set-top boxes, digital signage, hotel television systems, network connected media players and embedded systems based on armhf platforms like Raspberry Pi. Derivative applications such as MediaPortal and Plex have been spun off from Kodi, as well as just enough operating systems like LibreELEC.
Kodi has attracted negative attention from the news media and law enforcement agencies due to some add-ons as plug-ins made available by third parties for the software that facilitates unauthorized access and playback of media content by different means of copyright infringement, as well as sellers of digital media players that pre-load them with third-party add-ons for the express purpose of making piracy easy. The XBMC Foundation have expressed that they do not endorse the use of third-party add-ons that are designed for the purpose of piracy, and it takes active steps to disassociate and distance the Kodi project from third-party add-ons that violate copyright. These steps include blocking such add-ons and banning all discussions about piracy in their community forums, as well as threatening legal action against those using the Kodi trademarks or logos to promote add-ons and digital media players that come with them pre-installed with such add-ons.

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. 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 graphical user interface interface which, via a common application programming interface, abstracts and supports multiple back-ends via PVR client add-ons from third parties, with those running either locally on the same machine or over the network.
Addons, 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 movie and TV show information scraping, live TV clients, weather forecast display, extra remote control options, or music visualizations. Addons can also enable streaming from services such as YouTube, Hulu, Netflix, Veoh, Pandora, and podcast streaming. Some can also provide online movie trailer support. Kodi also functions as a game launcher on any operating system.
Kodi's source code is distributed as open source under the GNU General Public License, 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", 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 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 boxes, and Kodi was designed from the start to be otherwise very resource-efficient, for being as powerful and versatile a framework as it is. It runs well on what are relatively underpowered OpenGL 1.3, OpenGL ES 2.0 or Direct3D 9.0 capable systems that are IA-32/x86, x86-64, ARM, RISC-V, or PowerPC G4 or later CPU based.
When software decoding of a full HD 1080p high-definition and high bit-rate video is performed by the system CPU, a dual-core 2 GHz or faster CPU is required in order to allow for perfectly smooth playback without dropping frames or giving playback a jerky appearance. Kodi can, however, offload most of the video decoding process onto graphics hardware controller or embedded video processing circuits that support one of the following types of hardware-accelerated video decoding: Google's MediaCodec API for Android, Intel's VAAPI, Nvidia's VDPAU API, AMD's XvBA API, Microsoft's DXVA API, Apple's VDADecoder/VideoToolbox APIs, and the Khronos Group's OpenMAX API, AMLogic VPU, Freescale's i.MX6x series VPU, and Raspberry Pi'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.

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 digital terrestrial television, asymmetric digital subscriber line, cable, or Internet streaming, depending on the chosen add-on.
From version 12.0, Kodi has a native Live TV with EPG and DVR features with a PVR frontend GUI, which enables video capture and playback to and from a hard disk drive with PVR Client Addons for most popular PVR backends. 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, macOS, Microsoft Windows, 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, VDR, or Windows Media Center
  • addons used for Enigma2-based DVR set-top boxes such as Dreambox, DBox2, and Vu+
  • addons used for direct LAN connection to network-attached TV-Tuners such as HDHomeRun, PCTV Systems Broadway, VBox Home TV Gateway, and Njoy Digital AnySee N7 DVB-S2 Network-Tuner.
  • addons used for the Internet-based television providers FilmOn, and Stalker Middleware,
  • addons used for IPTV in general, e.g. the simple PVR client addon.

    Video playback

Video Library

The Video Library, one of the Kodi metadata databases, is a key feature of Kodi. It allows the organization of video content by information associated with the video files themselves. This information can be obtained in various ways, like through scrapers, and nfo files. Automatically downloading and displaying movie posters and fan art backdrops as background wallpapers. Kodi even allows connecting to a centralized MariaDB or MySQL database for advanced users. 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 movies, and this includes support native for DVD-menus,. This FFmpeg based video-player "core" today supports all widespread mainstream formats. One relatively unusual feature of this DVD-player core is the capability to on-the-fly pause and play DVD-Video movies that are stored in ISO and IMG DVD-images or DVD-Video images, from either local harddrive storage or network-share storage.