|XBMC Media Center™|
XBMC Media Center Home Screen
|Stable release||13.2 (Gotham)|
|Written in||C++ core, with Python scripts as add-ons from 3rd parties|
|OS||Android, Linux, BSD, Mac OS X, Windows, iOS|
|Available in||60+ languages to date|
|License||GPLv2 or later|
| General topics
Kodi media center, formally known as XBMC Media Center, is an award-winning free and open source cross-platform software media player and entertainment hub for digital media for HTPCs (Home theater PCs). It uses a 10-foot user interface designed to be a media player for the living-room, using a remote control as the primary input device. Its graphical user interface (GUI) allows the user to easily browse and view videos, photos, podcasts, and music from a harddrive, optical disc, local network, and the internet using only a few buttons. The XBMC project is managed by the non-profit XBMC Foundation, and developed by volunteers located around the world. Since its creation in 2003 more than 500 software developers have contributed to XBMC, and around 60 developers on regular basis. Also 200-plus translators have worked to expand its reach, making it available in more than 72 languages.
XBMC was originally created as a media center application for the first-generation Xbox game console (no longer supported) but is now officially available as a native application for Android, Linux, Mac OS X, iOS (iDevices and Apple TV 2), and Windows operating systems, running on most common processor architectures.
1 Video demos
Check out this excellent introduction video by Lifehacker.com:
- Additional video demos
- XBMC beginners guide - an introduction and tour by XBMC.org forum user fredphoesh
2 Overview of features
XBMC can be used to play almost all popular audio and video formats around. It was designed for network playback, so you can stream your multimedia from anywhere in the house or directly from the internet using practically any protocol available. Use your media as-is: XBMC can play CDs and DVDs directly from the disk or image file, almost all popular archive formats from your hard drive. XBMC will scan all of your media and create a personalized library complete with boxcovers, descriptions, and fanart. There are playlist and slideshow functions, a weather forecast feature and many audio visualizations. Once installed, your computer will become a fully functional multimedia jukebox.
Add-ons are packages that add features and functions not normally included with XBMC. Add-ons are developed by people on Team XBMC and third-parties. XBMC has a growing list of community driven add-ons for online content like YouTube, Hulu, Grooveshark, Pandora Radio, as well as skins (themes) and more available from a common official repository, while still enabling third-party developers to also host their own unofficial repositories for add-ons that any user can choose to add themselves if they like.
For additional information about specific add-ons, see Category:All add-ons.
2.1 Language support
XBMC includes full support for many different languages by default. XBMC's structure is such that if the language is not available, or not up-to-date, it can be made by signing up at XBMC Main Translation Project (Frodo), Currently the existing supported languages are Afrikaans, Basque, Brazilian Portuguese, Bulgarian, Catalan, Simplified Chinese, Traditional Chinese, Croatian, Czech, Danish, Dutch, English, American English, Esperanto, Finnish, French, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean, Maltese, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Mexican Spanish, Swedish, Thai, Turkish and Ukrainian.
3 Hardware requirements
XBMC needs a 3D capable GPU graphics hardware controller for all rendering. The required 3D GPU chips are common today in most modern computers, and even some set-top boxes. XBMC runs well on what (by Intel ATOM standards) are relatively underpowered OpenGL 1.3 (with GLSL support), OpenGL ES 2.0 or Direct3D (DirectX) 9.0 capable systems that are IA-32/x86, x86-64, or ARM CPU based.
When software decoding of a Full HD 1080p high-definition video is performed by the system CPU, a dual-core 2 GHz or better CPU is required in order to allow for perfectly smooth playback without dropping frames or giving playback a jerky appearance. XBMC can however offload most of the video decoding process onto GPU graphics hardware controller that supports one of the following types of hardware-accelerated video decoding: Intel's VAAPI, Nvidia's VDPAU, AMD's XvBA, Microsoft's DXVA, Apple's VDADecoder/VideoToolBox, OpenMAX, and Broadcom Crystal HD Enhanced Media Accelerator. By taking advantage of such hardware-accelerated video decoding, XBMC can run well on most inexpensive, low-power systems which contain a modern GPU.
4 Official Team-XBMC ports of XBMC
Through the processing power of modern computer hardware (by CPU or by hardware video decoding), XBMC is able to decode high-definition video up to and beyond 1080p resolutions, bypassing hardware limitations of the original (now discontinued) Xbox version of XBMC.
However in the latest official release of XBMC there is hardware accelerated video decoding for DXVA, VDPAU, VAAPI, VDA, and VTB GPU hardware video decoding, as well as hardware accelerated video decoding via ARM NEON, OpenMAX, and Broadcom Crystal HD.
- XBMCbuntu is a free Ubuntu-based Linux distribution with XBMC for Linux already installed and pre-configured, providing a complete packaged media center software suite for all IA-32/x86-based personal computers. XBMC Live uses XBMC Media Center for all media playback and is implemented as a bootable Live CD primarily designed for bare-metal installations to achieve instant on type boot. As of version 11.0 (Eden) XBMCbuntu will be based on Lubuntu instead of Ubuntu Desktop, (this is because Lubuntu is "lighter, less resource hungry and more energy-efficient" than the standard Ubuntu distribution).
- XBMC for Android
- XBMC for Android is a full port of the complete XBMC application to Google's Android operating-system, was first announced and its source code released publicly on 13 June 2012. This is a full port of XBMC's C++ 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 Native Activity application. Hardware accelerated video decoding on Android is currently only officially available for Amlogic AML8726-M SoC based devices, such as Pivos XIOS DS Media Play which have been used as the reference hardware platform during the development so far. XBMC source code for Android must be compiled with CrystaX's unofficial fork of the Android NDK which includes additional Glibc (GNU libc) features like wide character, off_t, C++ exception handling, and more, which XBMC 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 Google TV, since the Android NDK is yet not available for the Google TV it means that XBMC can not be compiled for it today.
- XBMC for iOS
- XBMC for iOS, which is a full port of XBMC to Apple's iOS operating-system, was first announced and released publicly on 20 January 2011. It supports both 720p and 1080p hardware accelerated video decoding of H.264 videos, and is compatible several Apple's iDevice's and Apple TVs (black) that uses Apple A4 or higher SoC processors with a jailbroken iOS operating-system.
- XBMC for Linux
- XBMC for Linux is primarily developed for Ubuntu Linux. Third-party packages for most other Linux distributions are however available, and it is also possible to compile XBMC Media Center from scratch for any Linux distribution as long as the pre-required dependency libraries are installed first. Hardware video decoding is achieved via the VDPAU API on Nvidia's GPUs, and via the VAAPI API for AMD/ATI Radeon, S3 Graphics, and Intel's newer Integrated Graphics Processors, as well as hardware accelerated video decoding via OpenMAX, ARM NEON, and Broadcom Crystal HD on systems with supporting hardware.
- XBMC for Mac
- XBMC for Mac runs natively on Mac OS X, as well as on the Apple TV 1. 1080p playback can be achieved on Apple computers either via software decoding on the CPU if it is powerful enough, or by hardware accelerated video decoding via Apple's VDA API or 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.
- XBMC for Windows
- XBMC for Windows runs natively on Windows Vista and higher. It is a 32-bit application but runs on 64-bit Windows and hardware as well, however it is not yet optimized for that architecture so there is no performance gain when running on 64-bit Windows. 1080p playback can be achieved on Windows based computers either via software decoding on the CPU if it's powerful enough, or by hardware accelerated video decoding.
5 Commercial XBMC systems
6 Third-party forks and derivative work of XBMC
Because of its royalty-free cross-platform nature, with XBMC/Kodi's core code being written in C++ (ANSI standard), possibility for easy rebranding by ODM/OEM with customization of the interface look and feel using skins, and simple addons (plugins) from third-party developers available via Python scripts for content extensions, many systems integrators have created modified versions of Kodi together with a JeOS that are mostly used as a software appliance suite in a variety of devices including smart TVs, set-top boxes, digital signage, hotel television systems, and network connected media players.
- See: History of XBMC
8 XBMC Foundation
The "XBMC Foundation" is the non-profit organization that operates the XBMC Media Center project and is registered in the US.
10 Programming and developing
XBMC is a non-profit and free software community driven open-source software project that is developed only by volunteers in their spare time without any monetary gain. The team of developers leading the development of XBMC, "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 XBMC project.
XBMC's source code for all its supported platforms is made publicly available by Team XBMC under the open source GNU General Public License Version 2 license. The group currently maintains a Git repository for this source code.