XBMC 11.0 (Eden) Home Screen
|Developer(s)||Team Kodi / Team XBMC|
|Stable release||13.1 (codename: "Gotham") (5 June 2014) [±] / 5 June 2014|
|Preview release||Neutral build from Git / Nightly (codename: "Helix")|
|Written in||C++ core, with Python scripts as addons (plugins) from third-party developers|
|Operating system||Windows, OS X, Android, iOS, Apple TV OS, Linux, BSD (Tizen and Sailfish OS, formerly MeeGo, support is in development)|
|Platform||ARM, PowerPC, IA-32, x64
(MIPS architecture support is in development)
|Available in||60+ languages|
|Type||Media player software, Smart TV platform, digital media player, digital video recorder|
|License||GNU GPL (GPLv2)|
Kodi Entertainment Center (formerly XBMC) is a free and open source media player developed by the XBMC Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most videos, music, such as podcasts from the internet, and all common digital media files from local and network storage media.
It is a popular multi-platform alternative to Windows Media Center for HTPC (Home Theater PC) use. XBMC is highly customizable: a variety of skins can change its appearance, and various plug-ins allow users to access online content on services such as YouTube, Spotify, Grooveshark and Pandora Radio. Versions from 12.0 (codename "Frodo") have a PVR (Personal Video Recorder) GUI frontend for live TV with Electronic Program Guide (EPG) and high-definition digital video recorder (DVR or PVR) support.
The software was originally produced as a media center application named "Xbox Media Center" for the original Xbox game console, and was later made available under the name "XBMC" as a native application for Android, Linux, BSD, Mac OS X, iOS, and Microsoft Windows operating systems. It is also available as a standalone version referred to as XBMCbuntu.
Because of its open source and cross-platform nature, with its core code written in C++ (ANSI standard), modified versions of XBMC together with a JeOS have been 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. Derivative applications such as MediaPortal, Plex, ToFu, Voddler, and Horizon TV have all initially been spun-off from XBMC.
On 1 August 2014, it was announced that, with the future version 14, XBMC will be officially renamed to Kodi.
XBMC supports most common audio, video, and image formats, playlists, audio visualizations, slideshows, weather forecasts reporting, and third-party plugins. It is network-capable (internet and home network shares). Unlike other media center applications such as Windows Media Center, MediaPortal and MythTV, XBMC Media Center 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 EPG TV-Guide interface which via a common API interface abstracts and support multiple back-ends via PVR client add-ons from third parties, with those running either locally the same machine or over the network.
Plug-ins, using the Python programming language, expand XBMC to include features such as television program guides, YouTube, Hulu, Netflix, Veoh, online movie trailer support, and Pandora Radio and podcast streaming. XBMC also functions as a gaming platform on any operating system, allowing users to play mini-games developed with Python.
XBMC source code is distributed as open source under the GNU General Public License (GPL), it is sponsored via the tax-exempt registered non-profit US organization, XBMC Foundation, and is developed by a global free software community of unpaid volunteers.
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 is also the reason that it has officially been renamed to simply "XBMC" from the old "Xbox Media Center" name. 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.
XBMC has greater basic hardware requirements than traditional 2D style software applications: it needs a 3D capable graphics hardware controller for all rendering. Powerful 3D GPU chips are common today in most modern computers, and even some set-top boxes, and XBMC is designed to otherwise be resource efficient. It runs well on what (by Intel Atom standards) are relatively underpowered OpenGL 1.3 (with GLSL support), OpenGL ES 2.0 or Direct3D (DirectX) 9.0 capable systems that are IA-32/x86, x86-64, ARM, 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. XBMC can however offload most of the video decoding process onto graphics hardware controller that supports one of the following types of hardware-accelerated video decoding: Intel's VAAPI, Nvidia's VDPAU, AMD's XvBA, Microsoft's DXVA, Apple's VDADecoder/VideoToolBox, OpenMAX, Broadcom Crystal HD, AMLogic 8726-Mx VPU, Freescale's i.MX6x series VPU, and Allwinner's CedarX/CedarV VPU. By taking advantage of such hardware-accelerated video decoding, XBMC can play back most videos on many inexpensive, low-power systems as long as it contains a supported VPU or GPU.
XBMC includes full internationalization and localization support with translations to many different languages by default, with its language files translated to over 60 languages to date. XBMC's structure is such that if the language is not available, or not up-to-date, it can be made by editing simple strings in an XML-file, which can then be submitted to XBMC's project management and bug tracking system tool for use by others, and after version 11.0 XBMC switched to using GetText PO (Portable Object) formatted files for more easily handled translator translations using Transifex web-based translation platform with online crowd-sourced translation services. The latest version of XBMC currently supports over 60 languages.
XBMC features several open APIs to enable third-party developers to create capabilities which extend XBMC with a multitude of addons, such as audio and video streaming plugins for online sources, widget scripts, skins/themes, visualizations, screensavers, web scrapers, weather forecasts, web interfaces, and more. XBMC developers encourage users to make and submit their own addons to add additional media content and value-added services accessible from within XBMC.
XBMC features, since version 10.0 (codename: "Dharma"), an Addons Framework architecture and Addons Manager GUI client that connects to a decentralized digital distribution service platform that serves add-on apps and plug-ins which among other things provide online content to XBMC, the "Addons Manager" (or "Addons Browser") inside XBMC allows users to browse and download new addons directly from XBMC's GUI.
Many of these online content sources are in over-the-top content high definition services and use video streaming sites, such as Adobe Flash based content. XBMC has extensibility and integration with online sources for both free and premium streaming content, and offers content from everything from commercial video, to free educational programming, and media from individuals and small businesses.
XBMC features a Python Scripts Engine for addon extensions, WindowXML application framework (a XML-based widget toolkit for creating a GUI for apps / widgets) in a similar fashion to Apple Mac OS X Dashboard Widgets and Microsoft Gadgets. Python widget scripts allow normal users to add new functionality to XBMC themselves, using Python scripting language. Current plugin scripts include functions like Internet-TV and movie-trailer browsers, weather forecast and cinemaguides, Over-the-top content video streaming services like YouTube, BBC iPlayer, Hulu, Netflix, Veoh, MLB.tv, Internet-radio-station browsers such as Pandora Radio, online picture sharing sites like Flickr, TV-guides, e-mail clients, instant messaging, train-timetables, home automation scripts to front-end control PVR software and hardware, P2P file-sharing downloaders (BitTorrent), IRC, also casual games such as Tetris and much more.
XBMC has the built-in optional function to automatically download metadata information, cover art and other related media artwork online through its web scrapers that looks for media in the user's audio / video folders and their sub-directories. These "scrapers" are used as importers to obtain detailed information from various Internet resources about movies and television shows. It can get synopses, reviews, movie posters, titles, genre classification, and other similar data. XBMC GUI then provides a rich display for audio and video files that the scrapers have identified.
Scrapers use sites like themoviedb.org or IMDb.com to obtain thumbnails and information on movies, thetvdb.com for TV show posters and episode plots, CDDB for audio CD track listings, and Allmusic (AMG) and MusicBrainz for album thumbnails, reviews, and metadata.
More recently http://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 the Frodo release of XBMC being able to handle new image types.
Like the majority of most applications that originated from a 'homebrew' scene, modification and customization of the interface using skins is very popular among XBMC users, with literally hundreds of skins and themes having been released for XBMC since its very first conception. The XBMC skinning engine's flexibility is also advantageous to third parties wanting to create derivative works, as it facilitates rebranding the environment and making deeper changes to the look and feel of the user interface.
The skins "Confluence" and "Touch" are the two official default for; XBMC with an ever evolving variance of "Confluence" being the default set-top box style skin designed for large screen televisions and displays since XBMC version 9.11, and "Touch" which introduced with XBMC version 11.0 being design for small screen devices with touchscreen displays, such as iPad tablets. Previously "Project Mayhem" was the default before XBMC version 9.11, this skin is now in its third version, commonly known as "PM3.HD" (PM III High-Definition).
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 XBMC 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 initially begin as a clone or an exact replica of other multimedia software interfaces, such as Apple Front Row, Windows Media Center Edition (MCE), MediaPortal, Wii Channel Menu (Xii), Xbox 360 interface, and others.
Web Interface addons for XBMC 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 XBMC session running on a computer if it runs on an internet tablet or similar device with a touch interface. And yet other still acts like a media manager to allow modifying metadata and artwork in XBMC's video and music libraries.
XBMC has a "My Programs" section which is meant to function as an application launcher for third-party software such as computer games and video game emulators, all from a GUI with thumbnail and different listings options. However, while this feature was fully functioning on the Xbox version of XBMC, it is still in its infant stage on Linux, Mac OS X, and Windows, thus currently requiring third-party launcher plugins to function properly.
From version 12.0 (Frodo) XBMC has a native Live TV with EPG (Electronic Program Guide) and DVR (Digital Video Recorder) features with a PVR (Personal Video Recorder) frontend GUI, enabling video capture and playback to and from a hard disk drive with PVR Client Addons for most popular PVR backends (TV tuner card server) that can be installed separately as plugins in XBMC.
PVR backend can either be networked DVR set-top box hardware or PC-based digital video recorder software which can run on the same computer or other computers on the same network. PVR software and hardware is available which can turn personal computers running Microsoft Windows, Linux, and Mac OS X into DVRs.
PVR Client Addons are available for many PVR software and hardware such as Argus TV, DVBViewer, ForTheRecord, Tvheadend, MediaPortal, MythTV, NextPVR (formerly GB-PVR), VDR, Windows Media Center, and Enigma2-based DVR set-top boxes such as Dreambox and Vu+., as well as PVR Client Addons for direct LAN connection to Network Attached TV-Tuners such as HDHomeRun, and Njoy Digital AnySee N7 DVB-S2 Network-Tuner.
XBMC can play media from CD/DVD media using an internal DVD-ROM drive. It can also play media from an internal built-in hard disk drive and SMB/SAMBA/CIFS shares (Windows File-Sharing), or stream them over ReplayTV DVRs/PVRs, UPnP (Universal Plug and Play) / DLNA (Digital Living Network Alliance) shares, or stream iTunes-shares via DAAP. XBMC can also take advantage of a broadband Internet connection if available to stream Internet-video-streams like YouTube, Hulu, Netflix, and Veoh, and play Internet-radio-stations (such as Pandora Radio). XBMC also includes the option to submit music usage statistics to Last.fm and Libre.fm. It also has music/video-playlist features, picture/image-slideshow functions, an MP3+CDG karaoke function and many audio-visualizations and screensavers. XBMC can in addition upscale/upconvert all standard-definition resolution videos and output them to 720p, 1080i, and 1080p high-definition resolutions.
XBMC can be used to play/view all common multimedia formats through its native clients and parsers. It can decode these audio and video formats in software or hardware, and optionally pass-through AC3/DTS audio, or encode to AC3 in real time from movies directly to S/PDIF digital output to an external audio-amplifier/receiver for decoding.
The Video Library, one of the XBMC metadata databases, is a key feature of XBMC. It allows the organization of video content by information associated with the video files (e.g. movies and recorded TV Shows) themselves. This information can be obtained in various ways, like through scrapers (i.e. web scraping sites like IMDb, TheMovieDB, TheTVDB, etc.), and nfo files. Automatically downloading and displaying movie posters and fan art backdrops as background wallpapers. The Library Mode view allows users to browse their video content by categories; Genre, Title, Year, Actors and Directors.
XBMC uses one multimedia video player 'core' for video-playback. This video-player 'core' for video-playback is an in-house developed cross-platform media player, "DVDPlayer", originally designed to play back DVD-Video movies, and this includes support native for DVD-menus, (based on the free open source libraries code libdvdcss and libdvdnav). This FFmpeg based video-player 'core' today supports all widespread mainstream formats. One relatively unusual feature of this DVD-player core is the capability to on-the-fly pause and play DVD-Video movies that are stored in ISO and IMG DVD-images or DVD-Video (IFO/VOB/BUP) images (even directly from uncompressed RAR and ZIP archives), from either local harddrive storage or network-share storage.
The Music Library, one of the XBMC metadata databases, is another key feature of XBMC. 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.
For music playback, XBMC includes its own in-house developed audio-player, "PAPlayer" (which stands for "Psycho-Acoustic Audio Player"), and this audio-player core's most notable features are on-the-fly resampling of the audio frequency, gapless playback, crossfading, ReplayGain, cue sheet and Ogg Chapter support. The "PAPlayer" audio-player handles a very large variety of audio file-formats, and it also supports most different tagging standards. XBMC also has support for most popular karaoke computer file formats, and is able to play and display timed song lyrics graphics/text from CD+G, LRC, and KAR files.
XBMC handles all common digital picture/image formats with the options of panning/zooming and slideshow with "Ken Burns Effect", with the use of CxImage open source library code. XBMC can also handle CBZ (ZIP) and CBR (RAR) comic book archive files, this feature lets users view/read, browse and zoom the pictures of comics pages these contain without uncompressing them first.
Development has been working on new core features which integrates a built-in Games Manager and Game Launcher front-end GUI with a Games Library, and Game Console Emulator API into XBMC. The code for all is currently actively being developed in a separate branch and is not expected to make it into XBMC mainline tree until version 14.
Once merged into mainline the integrated Games Manager will add a new unified Games Manager Library and GUI front-end launcher with online metadata web scraping support for information about the games. It also introduces Game Addons as new type of addons with just-in-time emulator installation. Adding a Games Library for Game Metadata, exposing info (current level, number of lives, number of coins earned, etc.) to GUI, as well as extending the Addon API to support Game Client Addons, supporting XBMC's VFS (Virtual File System). In addition to a Joystick (and Gamepad) abstraction layer for common joystick API and joystick input clients.
Under active development is also "RetroPlayer" Video Game Console Emulator (ROMs) interface supporting the libretro API and emulator cores (from the RetroArch project, which is its reference front-end). Libretro itself is a modular multi-system game/emulator system that is designed to be fast, lightweight, and portable.
This RetroPlayer can via libretro emulator API support emulators for most popular retro game consoles, including but not exclusively; Atari 2600, Atari Lynx, Atari Jaguar, NES (Nintendo Entertainment System), Super Nintendo, Nintendo 64, Game Boy, PlayStation (first-generation "PSX"), Sega Systems (Master System, Genesis, Sega CD, Game Gear), plus multiple retro arcade games via MAME (Multiple Arcade Machine Emulator) and FBA (Final Burn Alpha), as well as ScummVM and MS-DOS based games.
There are many software applications for mobile devices available for and associated with XBMC. Some of these mobile apps just works as simple remote controls, while others functions as more advanced second screen companion apps, offering additional information about what you are viewing or listening to on XBMC. Additional information such as metadata about movie actors and music artists, with links to other works available from those persons in your collection or online.
XBMC Remote for Android and XBMC Remote for iOS are free and open source official apps for mobile devices released by Team-XBMC on Google Play for Android devices and the App Store for iOS Devices, such as iPhone, iPad, and iPod Touch. These applications act as a second screen 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 XBMC remote control apps for Android, BlackBerry, Symbian, Windows Mobile, and Windows Phone devices, as well Apple iOS. Some of these remote control apps are made specifically for controlling XBMC, 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.
Due to the dated hardware of the first-generation Xbox game console, that XBMC was originally designed for, and a desire to expand the project's end-user and developer-base many official ports of XBMC to computer operating-systems and hardware platforms now exist. Through the processing power of modern computer hardware, XBMC is able to decode high-definition video up to and beyond 1080p resolutions, bypassing hardware limitations of the Xbox version of XBMC.
However in the latest official release of XBMC there is hardware accelerated video decoding for DXVA, VDPAU, VA-API GPU hardware video decoding, as well as hardware accelerated video decoding via ARM NEON, and OpenMAX, Broadcom Crystal HD. 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.
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. XBMCbuntu uses XBMC for all media playback and is primarily designed for bare-metal installations to achieve instant-on type boot to achieve a set-top box experience on an HTPC. It replaces XBMC Live, which was formerly the official LiveCD distribution.
XBMCbuntu 11.0 (Eden) is based on Lubuntu, an Ubuntu fork that is "lighter, less resource hungry and more energy-efficient" than the standard Ubuntu distribution. The Microsoft MCE Remote and IR-receiver dongle for Windows Media Center works with XBMCbuntu directly out of the box, which mean that Windows Media Center users with these can try out the XBMCbuntu without requiring any additional hardware.
Following the principles of Myth TV distributions and GeeXboX, XBMCbuntu is designed to simplify a permanent installation of XBMC onto a computer to be used as a dedicated home theater PC in the living-room, as such the user can directly install XBMC from the bootable CD to either a USB flash drive or to an internal hard disk drive as it comes with a complete instant-on (Linux kernel-based) embedded operating system. When installed onto a USB flash drive or internal hard disk drive, XBMCbuntu has the ability to save settings and make updates to XBMC and the operating-system back onto the USB flash drive or hard disk drive that it is installed onto.
XBMC for Linux is primarily developed for Ubuntu Linux and XBMC's developers' own XBMCbuntu. Third-party packages for most other Linux distributions are however available, and it is also possible to compile XBMC Media Center from scratch for any Linux distribution as long as the prerequired dependency libraries are installed first. XBMC for Linux is currently the only stable version of XBMC to support hardware accelerated video decoding, and this is achieved via the VDPAU API on Nvidia's GPUs, and via the VAAPI API for AMD/ATI Radeon, S3 Graphics, and Intel's newer Integrated Graphics Processors, as well as hardware accelerated video decoding via OpenMAX, ARM NEON, Broadcom Crystal HD on systems with supporting hardware. Development version of XBMC for Linux is available at Launchpad as PPA (Personal Package Archive) for the standard Ubuntu Desktop version 8.04 and later, as well as DEB packages for Debian.
XBMC for Mac runs natively on Mac OS X Tiger and later, as well as on the Apple TV. 1080p playback can be achieved on Apple computers either via software decoding on the CPU if it is powerful enough, or by hardware accelerated video decoding for hardware supporting Apple's VDA API, or video decoders such as the Broadcom Crystal HD.
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 runs natively on Windows XP, Windows Vista, and Windows 7, it is a 32-bit application but runs on 64-bit Windows and hardware as well, however it is not yet optimized for that architecture so there is no performance gain when running on 64-bit Windows. 1080p playback can be achieved on Windows based computers either via software decoding on the CPU if it's powerful enough, or by hardware accelerated video decoding.
Hardware video decoding via DirectX Video Acceleration is now supported although this enhancement currently only runs on Windows Vista and Windows 7 since it utilizes the DXVA 2.0 API which is not supported in Windows XP.
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 with all Apple's iDevices that uses Apple A4 or Apple A5 (ARM-based) processors with a jailbroken iOS operating-system.
XBMC for Android is a full port of the complete 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 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 NativeActivity 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 must be compiled with Google's official Android NDK revision 8e or later, and be built for the android-14 toolchain (Android API Level 14), 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.
The 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 said that they will no longer develop or support XBMC for Xbox as part of the XBMC project as of 27 May 2010. The development of XBMC for Xbox ended because the focus for all Team XBMC developers has completely shifted to the Linux, Mac, and Windows versions of XBMC instead.
Even though the original XBMC project no longer develops or supports XBMC for the Xbox, an XBMC version for the Xbox is still available via the third-party developer spin-off project "XBMC4Xbox", who have completely taken over the development and support of XBMC for the original Xbox.
XBMC for Xbox was never an authorized/signed Microsoft product, therefore a modification of the Xbox is required in order to run XBMC on an Xbox game-console. XBMC for Xbox can be run as an application (like any Xbox game), or as a dashboard that appears directly when the Xbox is turned on. Since XBMC for Xbox was part of an open source software program, its development source code was stored on a publicly accessible subversion repository. Accordingly, unofficial executable builds from the subversion repository are often released by third parties on sites unaffiliated with the official XBMC project.
The developers of XBMC state that as long as the GPL licensing of the XBMC software is respected they would love XBMC to run on as many third-party hardware platforms and operating systems as possible, as "Powered by XBMC" branded devices and systems. They envision XBMC being pre-installed as a third-party software component that commercial and non-commercial ODM/OEM's and systems integrator companies can use royalty-free on their own hardware, hardware such as set-top boxes from cable-TV companies, Blu-ray Disc and DVD players, game-consoles, or embedded computers and SoC (System-on-a-Chip) built into television sets for web-enabled TVs, and other entertainment devices for the living room entertainment system, home cinema, or similar uses.
Below is a list of third-party companies who sell hardware bundled with XBMC Media Center or XBMC Live pre-install, or sell uninstalled systems that specifically claim to be XBMC-compatible. Many of these third-party companies help submit bug fixes and new features back upstream to the original XBMC project.
ARCTIC - a company based in Switzerland best known for their cooling solutions worked in partnership with XBMC (OpenELEC). On 5 February 2013, together they released a fully passive cooled Entertainment system - the MC001 media centre (US and EU version), equipped with the latest XBMC 12 (OpenELEC 3.0) platform. OpenELEC and ARCTIC are planning on their next release, aim to provide a more dedicated builds for the ARCTIC MC001 media centre systems.
AIRIS Telebision, sold by Telebision in Spain and designed specifically for the Spanish market, is a nettop based on Nvidia Ion chipset, preinstalled Ubuntu base with XBMC for Linux and a customized AEON skin and Spanish plugins. Other than the modified skin, what is unique with the AIRIS Telebision's XBMC build is that it comes with a digital distribution service platform that they call their "App Store" which lets users download new Spanish plugins and updates for existing plugins. Telebision also lets users download a Live CD version of their software as freeware, which lets users install their Telebision distribution on any Nvidia Ion based computer.
Lucida TV II, made by LUCIDQ inc, is a nettop based on Nvidia Ion chipset which can be ordered with Xubuntu and XBMC software installed.
Pulse-Eight Limited sells both custom and off the shelf hardware solutions primarily designed for 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 your dedicated HTPC system.
Xtreamer Ultra and Xtreamer Ultra 2, manufactured by the South Korean company Unicorn Information Systems, are nettops based on Nvidia graphics and Intel Atom processors which comes with OpenELEC and 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 is shipping a software bundle that they call ZOTAC Boost XL with all their new motherboards and Mini-PCs, such as Zotac's ZBOX and MAG series of Nettops which Zotac also does demos of with XBMC. 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 nettop's based on Intel, AMD, or Nvidia graphics, and they are all sold in both as complete ready-to-use computer and as barebone computers (without memory and hard drive). Zotac Zbox ID33, ID34, ID81, ID80 and AD04 are all specifically marketed towards the HTPC market, with some coming with slot-loading Blu-ray Disc optical disc drive, and some with a remote control.
The mintBox by the Linux Mint team is an OEM version of the Israeli company CompuLab's fit-PC, which comes preinstalled with Linux Mint open source operating-system and software, MATE (desktop environment), and XBMC. Available in two fanless models, both with AMD APUs, HDMI output port, eight USB slots, two eSATA ports, Gigabit Ethernet, 802.11 b/g/n Wi-Fi, built-in Bluetooth, and an infrared media center remote control.
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.
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 that allows you to control the system. It also has a built-in Wi-Fi and Ethernet adapters, as well as a slot-loaded Blu-ray Disc player, and includes a 500 GB solid-state drive and an additional internal 2 TB hard disk drive can be added.
XBMC Media Center source code have over the years become a popular software to fork and to use as an application framework platform for others to base their own media player or media center software on, as if XBMC were a GUI toolkit, windowing system, or window manager. And today at least Boxee, Plex, Tofu, MediaPortal, OpenELEC, GeeXboX, Voddler, DVDFab Media Player, and Horizon TV are all separate derivative products that are all openly known to at least initially have forked the GUI (Graphical User Interface) and media player part of their software from XBMC's source code. Many of these third-party forks and derivative work of XBMC are said to still assist with submitting bug fixes upstream and sometimes help getting new features backported to the original 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" article.
Some good examples on building on XBMC are OpenELEC and GeeXboX which are free and open source embedded operating systems providing complete media center software suite that comes with a pre-configured version of XBMC and DVR/PVR plugins. They are both designed to be extremely small and very fast booting embedded Linux based distributions, primarily optimized to be booted from flash memory or a solid-state drive, and specifically targeted to a minimum set-top box hardware setup based on ARM SoC's or Intel x86 processor and graphics.
Similar embedded Linux distributions to OpenELEC/GeeXboX are the professionally made E2BMC and OpenPCTV which are commercial XBMC-based software platform for DVR/PVR set-top boxes, with both being designed as a hybrid integration between XBMC media center software and Dreambox's Enigma2 PVR software scripts.
Another example is XBMC4Xbox, which is a third-party developer spin-off project of XBMC, with still active development and support of the Xbox platform. This project was created as a fork of XBMC as a separate project to continue having a version of XBMC for the Xbox hardware platform. It was not started by official members of the official XBMC project, nor will it be supported by the Official Team XBMC in any way. It started when support for the Xbox branch was officially dropped by Team XBMC, which was announced on 27 May 2010.
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. XBMC Foundation and 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.
The online user manual is wiki-based and community driven, and it also works as a basic developers guide for getting a good overview of XBMC's architecture, however to as with most non-profit software project, to delve deeper into programming, looking at the actual source code and the comments in that code is needed.
XBMC is a cross-platform software application which core is mainly programmed in C++. XBMC uses OpenGL graphics rendering under XBMC for both Linux and Mac OS X, while XBMC for Windows uses Microsoft DirectX multimedia framework and Direct3D rendering, as the Xbox version of XBMC did. Some of XBMC's own libraries as well as many third-party libraries that XBMC depends on are written in the C programming-language, instead of C++ as XBMC's core, but are then mostly used with a C++ wrapper, and even though XBMC's core monolithic nature are loaded via a dynamic linker loader for on-demand loading and unloading at run time. XBMC also still partially uses SDL (Simple DirectMedia Layer) multimedia framework for input on Linux, but its developers is working on completely removing that small remaining dependency on SDL.
Because of XBMC's origin with the resource constraints on the hardware and environment of the first-generation Xbox game-console platform, all software development of XBMC has always been focused on reserving the limited resources that existed on the now old Xbox hardware, (which was only a 733 MHz Intel Pentium III and 64MB of RAM in total as shared memory), as well as the still relatively low resources of embedded system devices today, of which the main hindrance have always been the amount of available system RAM and graphics memory at any one time. Due to this it means that 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, XBMC's legacy graphics renderer still runs in a game-loop environment rather than using event-driven and on-demand rendering, meaning that it is constantly re-drawing the GUI and refreshing the frames as fast as it can the even when nothing is changing on-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 XBMC run using much less 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 working on 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 whole screen on 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.
XBMC has a portable code base, with its trunk (mainline source code tree) officially available for IA-32/x86, x86-64, PowerPC, and ARM-based processor architecture platforms. The XBMC GUI requires 3D hardware accelerated graphics (GPU) that support OpenGL ES, OpenGL, or EGL, or Direct3D with device drivers that support OpenGL ES 2.0, or OpenGL 1.3 or later with GLSL, or DirectX in order to render the GUI at an acceptable frame rate.
XBMC is thus officially not yet available for the MIPS processor architecture, 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 set-top boxes and low-end digital media players, such as those based on Sigma Designs and Realtek chipsets. An XBMC port to MIPS processor architecture is, however, currently being worked on by the XBMC development team.
XBMC for Linux supports Toolchain building systems for embedded development such as Yocto, Buildroot (uClibc), and 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, ARM, MIPS, PowerPC, etc.).
XBMC allows developers to create addons using a built-in Python interpreter (version 2.6 or higher depending on system) and its own WindowXML application framework, which together form an XML-based widget toolkit for which can extend the capability of XBMC by creating a GUI for widgets. Python widget scripts allow non-developers to themselves create new add-ons for XBMC, using Python.
Other than the APIs (Application programming interfaces) available to third-party python scripts and addon plugins, XBMC features several other APIs for controlling XBMC remotely or from an external applications. These APIs includes a JSON-RPC server, D-Bus Server, Web server, UPnP AV media server (with UPnP MediaServer ControlPoint, UPnP MediaRenderer DCP, UPnP RenderingControl DCP, and UPnP Remote User Interface server), and a custom multi-protocol Event Server for remote controls.
XBMC is noted as having a very flexible GUI toolkit and robust framework for its GUI, with its underlying complex graphical design and layout library (named libGUI in XBMC) it provides a simple abstraction layer between the application code and the interface, while allowing an extremely flexible dynamic layouts and animations that is easy to work with and make it possible to create completely unique skins for XBMC. The skin files are written in XAML, using a standard XML base, making theme-skinning and personal customization very accessible.
This is a list of software limitations currently in the XBMC source code.
XBMC won two SourceForge 2006 Community Choice Awards. In the 2007 Community Choice Awards, XBMC was nominated finalist in six categories. Also in the 2008 Community Choice Awards XBMC won an award for Best Project for Gamers.
XBMC Media Center is the successor to the popular Xbox Media Player (XBMP) software. Xbox Media Player development stopped on 13 December 2003, by which time its successor, XBMC, was ready for its debut, renamed as it was growing out of its 'player' name and into a 'center' for media playback. The first stable release of XBMC was on 29 June 2004, with the official release of XboxMediaCenter 1.0.0. This announcement also encouraged everyone using XBMP or XBMC Beta release to update, as all support for those previous versions would be dropped, and they would only officially support version 1.0.0. Not featured in XBMP, the addition of embedded Python was given the ability to draw interface elements in the GUI, and allowed user and community generated scripts to be executed within the XBMC environment.
With the release of 1.0.0 in the middle of 2004, work continued on the XBMC project to add more features, such as support for iTunes features like DAAP and Smart Playlists, as well as lots of improvements and fixes. The second stable release of XBMC, 1.1.0, was released on 18 October 2004. This release included support for more media types, file types, container formats, as well as video playback of Nullsoft streaming videos and karaoke support (CD-G).
After two years of heavy development, XBMC announced a stable point final release of XBMC 2.0.0 on 29 September 2006. Even more features were packed into the new version with the addition of RAR and zip archive support, a brand new player interface with support for multiple players. Such players include PAPlayer, the new audio/music player with crossfade, gapless playback and ReplayGain support, and the new DVDPlayer with support for menu and navigation support as well as ISO/img image parsing. Prior to this point release, XBMC just used a modified fork of MPlayer for all of its media needs, so this was a big step forward. Support for iTunes 6.x DAAP, and Upnp Clients for streaming was also added. A reworked Skinning Engine was included in this release to provide a more powerful way to change the appearance of XBMC. The last two features include read-only support for FAT12/16/32 formatted USB Mass Storage devices, and a "skinnable" 3D visualizer.
The release of XBMC 2.0.1 on 12 November 2006 contained numerous fixes for bugs that made it through the 2.0.0 release. This also marked the change from CVS to SVN (Subversion) for the development tree.
On 29 May 2007, the team behind XBMC put out a call for developers interested in porting XBMC to the Linux operating system. Since a few developers on Team-XBMC had already begun porting parts of XBMC over to Linux using SDL and OpenGL as a replacement for DirectX, which XBMC was using heavily on the Xbox version of XBMC.
Development on the Git codebase is continuing and the versioning scheme has been changed to reflect the release year and month, i.e. 8.10, 9.04, 9.11, 10.05, etc.
On 27 May 2010, the team behind XBMC announced the splitting of the Xbox branch into a new project; "XBMC4Xbox" which will continue the development and support of XBMC for the old Xbox hardware platform as a separate project, with the original XBMC project no longer offering any support for the Xbox.
This is a release history with condensed change-log lists for the most important added or removed notable new features, functions, and changed in each stable version of XBMC.
|Version||Release date||Codename||Significant changes||XBMC Live / XBMCbuntu based on|
|1.0.0||29 June 2004||
|1.1.0||18 October 2004||
|2.0.0||29 September 2006||
|8.10||15 November 2008||Atlantis||
||Ubuntu 8.10 (Intrepid Ibex)|
|9.04||6 May 2009||Babylon||
||Ubuntu 9.04 (Jaunty Jackalope)|
|9.11||24 December 2009||Camelot||
||Ubuntu 9.10 (Karmic Koala)|
|10.0 and 10.1||18 December 2010||Dharma||
||Ubuntu 10.04 (Lucid Lynx)|
|11.0||24 March 2012||Eden||
||Lubuntu 11.10 (Oneiric Ocelot)|
12.2 and 12.3
|29 January 2013||Frodo||
|13.0||4 May 2014||Gotham||
|14.0||Release Target Date: ?||Helix||
The "XBMC Foundation", the organization behind the XBMC project, is legally represented by the Software Freedom Law Center (SFLC), which assists XBMC project and its developers legal matters such as copyright, trademark, and branding questions, as well as economic issues such as handling donations and sponsors that help the project with expenses for dedicated hosting service, and activities such as going to developer conferences, trade fairs and computer expos to tech demo XBMC, meeting with potential new developers, gain publicity to attract additional users, and more.
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. The XBMC Foundation and Team-XBMC developers take no position as to whether any intellectual property rights exist in the XBMC core source code, the third-party code libraries it depends upon, or any addons or plugins developed for XBMC. As such, XBMC is provided as is in whatever condition it exists.
XBMC can also optionally be compiled with libdvdcss to transparently support playing back DVD-Video movies encrypted using the CSS (Content Scramble System) encryption, and with libaacs and libbdplus (together with libbluray) to support playing back Blu-ray Disc movies encrypted using AACS (Advanced Access Content System) and protected by BD+ systems for DRM (Digital Rights Management). Since it is not a member of DVD Forum or AS Licensing Administrator, the XBMC project is not contractually obliged to insert user operation prohibition such as disallowing fast-forward or skipping during trailers and ads in DVD-Videos. The legal status of libdvdcss, libaacs and libbdplus is thus questionable in several nations, the distribution of executable versions of XBMC containing which was built with these libraries without a commercial license to is likely to run afoul of the DMCA (Digital Millennium Copyright Act) in the U.S. and the EU Copyright Directive in European Union member countries which have incorporated it into national law.
|Wikimedia Commons has media related to XBMC Media Center.|