Jump to content

Kodi (software)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 164.4.17.33 (talk) at 15:48, 5 March 2013 (Releases). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Developer(s)Team XBMC
Initial release2003
Stable release
12.0 "Frodo"
Preview release
Neutral build from Git / Nightly (codename: "Gotham")
Repository
Written inC++ core, with Python scripts as addons (plugins) from third-party developers
Operating systemAndroid, Linux, BSD, Mac OS X, Apple TV OS, Windows, iOS, (and MeeGo support is in development)
PlatformARM, PPC (PowerPC), x86 / IA-32, and x86-64, (and MIPS architecture support is in development[1])
Available inInternational (40+ languages to date)
TypeMedia Center, Media Player, Digital media receiver, Digital video recorder
LicenseGNU GPL (GPLv2)
Websitexbmc.org

XBMC is a free and open source media player application developed by the XBMC Foundation, a non-profit technology consortium.[2] XBMC is available for multiple operating-systems and hardware platforms, with a 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.[3][4][5]

It is a popular alternative to Windows Media Center for HTPC (Home Theater PC) use.[6][7][8][9][10] One of XBMC's main features is its customizability. A variety of skins can change its appearance and various add-ons allow users to access online content on services such as YouTube, Spotify, Grooveshark and Pandora Radio.[11][12] As of version 12.0 (codename "Frodo"), there is a PVR (Personal Video Recorder) GUI frontend for Live TV with EPG (Electronic Program Guide), and high definition DVR (Digital Video Recording) support.[13]

The software was originally created as a media center application named "Xbox Media Center" for the original Xbox game console,[4][5][14] but is today officially available, under the name "XBMC", as a native application for Android, Linux, BSD, Mac OS X, iOS, and Microsoft Windows operating systems.[15] It is also available as a standalone version referred to as XBMCbuntu.[16][17][18]

Because of its open source and cross-platform nature, modified multi-platform versions of XBMC have been used in a variety of devices including Smart TVs, set-top boxes, digital signage, and hotel television systems. Derivative applications such as MediaPortal, Plex and Voddler have been spun-off from XBMC. Some of them, such as Boxee, have been certified by the XBMC Foundation and developers and are designated as "Powered by XBMC" or "''Designed for XBMC".[3][9][19][20][21]

Overview

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 LAN shares). Unlike other media center applications like Windows Media Center, MediaPortal and MythTV, XBMC Media Center does not[as of?] include native Digital TV-tuner for Live TV or DVR/PVR recording functionality[3][9][12][15] however it does feature a native unified DVR/PVR front-end with EPG TV-Guide interface which via a common API supports multiple back-ends via PVR client add-ons from third-parties.[22][23]

Through its plugin system, which is based on the Python programming language, XBMC is expandable via add-ons that 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 by allowing users to play mini-games developed with Python, on any operating system.[3][9][15][24][25][26]

XBMC source code is distributed as open source under GPL (GNU General Public License),[15] it is sponsored via the tax-exempt registered non-profit organization, XBMC Foundation, and is developed by a global free software community of volunteers working on XBMC for free in their spare time without being motivated by financial or material gain.[25][26]

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", who forked the Xbox version of the software and have completely taken 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.[27][28][29][30] The Xbox version of XBMC also 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 meant that XBMC for Xbox always required a modchip or softmod exploit to be able to run on the Xbox game-console.[4][5][14][15]

Screenshots

Hardware requirements

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.[3]

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 graphics hardware controller that supports one of the following types of hardware-accelerated video decoding:[31] Intel's VAAPI, Nvidia's VDPAU, AMD's XvBA, Microsoft's DXVA, Apple's VDADecoder/VideoToolBox, OpenMAX, and Broadcom Crystal HD Enhanced Media Accelerator.[32] By taking advantage of such hardware-accelerated video decoding, XBMC can run well on most inexpensive, low-power systems which contain a modern GPU.

Language support

XBMC includes full internationalization and localization support with translations to many different languages by default, with its language files translated to over 40+ 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.[33] XBMC currently supports over 40 languages.[34]

Features

XBMC's Addons Manager and Addons

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 encourages 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.

Plugins and scripts

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.[3][9][24][25][26]

Metadata scrapers

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 provide a rich display for audio and video files that the scrapers have identified.

Scrapers use sites like themoviedb.org[35] 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.[31]

More recently http://fanart.tv has been added to the list of information sources [36] and XBMC can use it to retrieve logos, backgrounds, CD's 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.

Skin/themes

Like the majority of most applications that originated from a 'homebrew' scene, modification and customization of the interface using skins is very popular among XBMC users. "Confluence" and "Touch" are the two official default skins; "Confluence" is the default set-top box style skin since XBMC version 9.11, and "Touch" was introduced with XBMC version 11.0 for devices with touchscreen displays, such as the iPad. 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).[12]

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.[37] 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.[11]

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.

Web Interfaces

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.

Application launcher

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.[14]

XBMC's Live TV with EPG and PVR / DVR frontend

From version 12.0 (Frodo) XBMC has a native Live TV with EPG and PVR/DVR frontend GUI,[38][39] with PVR Client Addons for most popular PVR backends (TV tuner card servers) that can be installed separately as plugins.

PVR Client Addons are available for DVBViewer, ForTheRecord, Tvheadend, MediaPortal, MythTV, NextPVR (formerly GB-PVR), VDR, and Enigma2-based DVR set-top boxes such as Dreambox and Vu+.,[40] 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.[41]

Audio, video, and pictures playback and handling

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.[3][15][42]

Format support

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.[3][15]

Supported formats:

Video playback in detail

Video Library

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.[3][12]

Video player cores

XBMC uses two different multimedia video player 'cores' for video-playback. The first 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.[3][9][12]

The second video-player 'core' for video-playback in XBMC is another in-house developed open source player, "DSPlayer", which today is only used as an experimental video player in a Git development branch of XBMC for Windows and not in any other versions of XBMC. This "DSPlayer" is a Direct Show based media player which with the help of FFmpeg can play practically all common media formats and in addition also make XBMC for Windows handle all formats and containers normally supported in Windows with the help of third-party proprietary Direct Show filters installed on the system.[47]

Audio playback in detail

Music Library

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.[3][12]

Audio player cores

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.[15]

Digital picture/image display in detail

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.[5]

Mobile remotes and second screen apps

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 respectively the App Store for iOS Devices such as iPhone, iPad, and iPod Touch. These applications act as a second screen[48] 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.[49][50]

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.[51]

Official versions

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.[9][52] The source code for XBMC is constantly updated on a daily basis by developers in a public subversion repository, this public subversion repository does therefore always contain more features and function than the most recent 'stable' releases.

XBMCbuntu

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 Media Center 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 a HTPC. It replaces XBMC Live, which was formerly the official LiveCD distribution.[53]

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.[16][17][18]

Following the principles of Myth TV distributions and GeeXboX, XBMCbuntu is designed to simplify a permanent installation of XBMC Media Center onto a computer to be used as a dedicated home theater PC in the living-room, as such the user can directly install XBMC Media Center 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-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 Media Center and the operating-system back onto the USB flash drive or hard disk drive that it is installed onto.

Native applications

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.[52] 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.[52]

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.[52]

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[54][55] 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.[56]

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.[57]

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 NativeActivity application.[58] 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.[59] 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.[60]

Xbox

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 old Xbox.[27][28][29][30]

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.[4][5][14][15] 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.[5][14]

Commercial systems

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 companies and ODM/OEM's 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-in to television sets for web-enabled TVs, and other entertainment devices for the living room entertainment system, home cinema, or similar uses.[61]

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.[61]

Computer hardware

File:The 1st Limited Edition Media Centre Based on XBMC 12 (OpenELEC 3.0).png
ARCTIC's MC001-XBMC Media Centre Based on XBMC 12 (OpenELEC 3.0)

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.[62][63][64][65][66]

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"[67] 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.[68]

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.[69][70]

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.[71] This ZOTAC Boost XL software bundle consist of the software applications; Auslogics BoostSpeed, Cooliris, Kylo (HDTV-optimized Web Browser), and XBMC Media Center.[72]

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.[73]

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 Fusion 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.[74]

Dedicated devices

Marusys MS630S and MS850S are high-definition PVR-ready set-top-boxes with the ability to run Linux-based media players like XBMC, and Marusys is advertising these two devices as compatible with XBMC.[75]

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.[76]

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).[77]

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.[9]

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 have 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.[78]

Derivatives

XBMC Media Center source code have over the years become a popular software to fork and use as an application framework platform for others to base their own media center software on, as if XBMC were a GUI toolkit, windowing system, or window manager. Today at least Boxee, MediaPortal, Plex, 9x9 Player, and Voddler are separate derivative products that are all openly known to initially have forked the GUI (Graphical User Interface) and media player part of their software from XBMC's source code. Most 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.[3][21]

During the period from late 2010 and first half of 2011 different independent third-party developers also announced their development on ports of XBMC to MeeGo,[79] Broadcom BCM2835 SoC based devices (like Raspberry Pi[80]), as well as to Networked Media Tank and other Sigma Designs (MIPS architecture) based SoC devices.[81]

Boxee is a freeware and partially open source software cross-platform media center and entertainment hub with social networking features that is a commercial fork of XBMC software.[82] The last version was 1.5. There will be no more versions of the desktop versions, with new emphasis on the Boxee Box.[83]

GeeXboX is a free and open source Live USB/Live CD based Linux distribution providing a HTPC software suite for personal computers and ARM-devices that since version 2.0 comes with a pre-configured version of XBMC media center as its media player and GUI.[84]

MediaPortal is free and open source software media center written for Microsoft Windows that is initially based on forked XBMC source code by Erwin Beckers (one of the original founders of XBMC) in February 2004. The reason for this fork to Microsoft Windows was to get away from hardware and software platform limitations of the Xbox game-console platform that XBMC development started on, mainly because of the Xbox inability to support TV-tuner adapters natively as Erwin wanted PVR functionality.[3][21]

On 21 May 2008, XBMC developer Elan Feingold forked the source code of XBMC and started a new project called Plex, (previously this Mac OS X port of XBMC was informally known as the "OSXBMC" project). Feingold said that he would still try to collaborate with most Team-XBMC members behind the scenes and at least try to keep Plex skinning engine compatible with XBMC skins.[20] While Plex began as a free software hobby project, since 2010 it is commercial software (freeware) that is today owned and developed by a single for-profit startup company, Plex, Inc., and today parts of what Plex offers is closed source proprietary software. The Linux, Macintosh, and Windows servers and clients are free, and offer their Android and iOS clients for a small one-time charge.[85]

OpenELEC (short for "Open Embedded Linux Entertainment Center") is a free and open source embedded operating system providing a complete media center software suite that comes with a pre-configured version of XBMC and third-party addons with video game console emulators and PVR plugins. OpenELEC is an extremely small and very fast booting Linux based distribution, primarily designed to be booted from flash memory card such as CompactFlash or a solid-state drive, similar to that of the XBMC Live distro but specifically targeted to a minimum set-top box hardware setup based on an Intel x86 processor and graphics.[86]

XBMC4Xbox 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.[27]

Qt Media Hub (also known as QtMediaHub or Qt MediaHub), by Nokia, is a proof of concept port of XBMC to QML and Qt framework on ARM platforms for the MeeGo, Maemo, and Mer projects, to demonstrate the power and flexibility of using Qt/QML, and also to show the best practices when using Qt/QML.[87]

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. 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 and 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.[5]

Architecture

XBMC Architecture Overview Schematic.

XBMC is a cross-platform software application programmed mainly in C++, XBMC partially uses SDL (Simple DirectMedia Layer) multimedia framework and OpenGL graphics rendering under XBMC for Linux and Mac OS X, while XBMC for Windows uses Microsoft DirectX multimedia framework and Direct3D rendering, as did the Xbox version of XBMC. Some of XBMC's own libraries as well as many third-party libraries that XBMC depends on are written in the C programming-language but are mostly used with a C++ wrapper or loaded via XBMC's own DLL loader.[9][31]

Because of XBMC's origin with the constraints on the hardware and environment of the old Xbox platform, all software development of XBMC has always been focused on reserving the limited resources that existed on the Xbox hardware and an embedded system, (which was only a 733 MHz Intel Pentium III and 64MB of RAM in total as shared memory), the main hindrance of which has been the amount of available system RAM and graphics memory at any one time. Due to this it means that XBMC is programmed to be very resource efficient and can therefore run on very low-end and cheap hardware, especially when compared to other media center software design for HTPC use.[5]

But because of its origins from the Xbox game-console, XBMC's graphics renderer runs in a game-loop environment rather than using event-driven and on-demand rendering,meaning that it is constantly re-drawing the GUI 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 high temperatures, fan activity, and high power consumption. Work is however ongoing to make XBMC run using much less resources on embedded systems, which will indirectly benefit non-embedded systems as well.[31]

Portability

While XBMC has a very portable code base, with its trunk (mainline source code tree) is today officially only available for IA-32/x86, x86-64, PowerPC, and ARM-based processor architecture platforms,[88][89] and XBMC GUI requires 3D hardware accelerated graphics (GPU) that support OpenGL ES, OpenGL, or EGL, or Direct3D with and 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 to the human eye (which is 24 frames per second or more)[citation needed].

XBMC is thus officially not yet available for the MIPS processor architecture,[90] nor does it as yet support DirectFB[91] or DRI (Direct Rendering Infrastructure) rendering without OpenGL/GLES hardware accelerated graphics support,[31][91][92] even though MIPS, DirectFB, and DRI is the most popular processor architecture and DRI rendering technologies used today by modern stand-alone digital media players, such as those based on current Sigma Designs and Realtek chipsets.[93] An XBMC port to MIPS processor architecture is however currently being worked on by the XBMC development team.[90]

XBMC for Linux supports Buildroot (uClibc) set of Makefiles and patches for easing the generation of a cross-compilation toolchain 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.).

Python scripts as plugins and addons (widgets/gadgets)

XBMC features an embedded Python Scripts Engine (currently based on Python version 2.4) 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 functionality to XBMC, using the easy to learn Python scripting language).[9]

API (Application Programming Interface)

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[46] for remote controls.

GUI-engine and skinning (themes)

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.[37]

Skin example code in XAML

The skin files are written in XAML, using a standard XML base, making theme-skinning and personal customization very accessible.[11]

Example
<window>
  <id>5678</id>
  <defaultcontrol>2</defaultcontrol>
  <allowoverlay>yes</allowoverlay>
  <controls>

    <control>
      <description>BackGround</description>
      <type>image</type>
      <id>1</id>
      <posX>0</posX>
      <posY>0</posY>
      <width>720</width>
      <height>576</height>
      <texture>background.png</texture>
    </control>

    <control>
      <description>an Image</description>
      <type>image</type>
      <id>1</id>
      <posX>75</posX>
      <posY>370</posY>
      <texture>hover_my videos.png</texture>
    </control>

    <control>
      <description>text label</description>
      <type>label</type>
      <id>1</id>
      <posX>250</posX>
      <posY>70</posY>
      <label>Some text</label>
      <font>font16</span>
      <align>right</align>
      <textcolor>ffffffff</textcolor>
    </control>

    <control>
      <description>Try Me</description>
      <type>button</type>
      <id>2</id>
      <posX>60</posX>
      <posY>97</posY>
      <label>Try Me</label>
      <onleft>2</onleft>
      <onright>2</onright>
      <onup>2</onup>
      <ondown>3</ondown>
    </control>

    <control>
      <description>Or Me</description>
      <type>button</type>
      <id>3</id>
      <posX>60</posX>
      <posY>131</posY>
      <label>Or Me</label>
      <onleft>2</onleft>
      <onright>2</onright>
      <onup>2</onup>
      <ondown>2</ondown>
    </control>

  </controls>
</window>

Current software limitations

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

  • XBMC's own internal cross-platform video and audio players (DVDPlayer and PAPlayer) can not play any audio or video files that are protected/encrypted with DRM (Digital Rights Management) technologies for access control, meaning audio files purchased from online music stores as iTunes Music Store, MSN Music, Audible.com, Windows Media Player Stores, and video files protected with Windows Media DRM or DivX proprietary DRM. Other than using an 'external' third-party media-player, a workaround to this is to first remove any DRM protection/encryption from the music or video file with a third-party program before trying to play it in XBMC.[31]
  • Without using a third-party plugin there is currently no TV-tuner support as of May 2010, although full PVR support is currently being developed by XBMC team developers.[31][94][95]
  • XBMC does not currently support binary addons from third-party developers. Today XBMC only support addons written in python script language that are interpreted by the Python engine that XBMC is using.

Reception

XBMC won two SourceForge 2006 Community Choice Awards.[96] In the 2007 Community Choice Awards, XBMC was nominated finalist in six categories.[97] Also in the 2008 Community Choice Awards XBMC won an award for Best Project for Gamers.[98]

History

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.[5]

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).[5]

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.[99][100]

Development on the SVN 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.[27][28][29][30]

Releases

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

Color Meaning
Red Old releases
Green Current release
Blue Future releases
 
Release history
 
Version Release date Codename Significant changes XBMC Live / XBMCbuntu based on
1.0.0 29 June 2004
1.1.0 18 October 2004
  • Zoom/stretch options: zoom, stretch 4:3 or 14:9 or 16:9, original size, custom
  • Tags parsing and display for wma, m4a, mp4 and aac (mpeg-4 audio) audio-files
  • International-language fonts for subtitles via TTF-fonts
  • Audio CD ripper, backup cdda's to hdd in wav, Ogg or MP3 (LAME) format
  • Karaoke CDG-file and audio CUE-sheets (.cue) support
  • iIunes 6.x music shares via DAAP (network stream from Apple iTunes)
  • Auto-temperature and fan-speed control options
  • Network-configuration and setup via GUI
  • Profiles for settings
  • Mouse support and virtual keyboard
  • LCD-display output extended to also support xaddons lcd-mods and xecuter3 lcd
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
2.0.0 29 September 2006
  • Reworked skinning engine.
  • New internally developed video player ("DVDPlayer") with DVD-Video menu/navigation support (with ISO/IMG image parsing)
  • New internally developed audio/music-player ("PAPlayer") with crossfade, gapless playback and ReplayGain support
  • RAR/ZIP archive parsing
  • Karaoke CDG-file display
  • Xored Trainer Engine (gaming-cheats) (not ported from Xbox to other platforms yet)
  • XLink Kai (online-gaming) front-end (not ported from Xbox to other platforms yet)
  • Added UPnP / DNLA client
  • Read-only support for FAT12/16/32 formatted USB mass storage devices
  • New "skinnable" 3D visualizer.
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
8.10 15 November 2008 Atlantis
  • Cross-platform support adding support for Linux, Mac OS X, and Windows
  • New default high definition skin "PM3.HD"
  • "XBMC Live" bootable CD with unified hard disk/USB flash disk installer
  • The XBMC profile
  • Integration of iTunes and iPhoto media (OS X exclusive).
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 8.10 (Intrepid Ibex)
9.04 6 May 2009 Babylon
  • PPC (PowerPC) support for Mac OS X (PowerPC G4 or later)
  • VDPAU (Nvidia's Video Decode and Presentation API for Unix)
  • New Karaoke features
  • Officially dropped support for the Xbox as a platform for XBMC
  • Updated codecs and major bug-fixes for DVD-Video playback core
  • More media info scrapers
  • Improved FanArt and Artwork support
  • Revamped skinning engine
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 9.04 (Jaunty Jackalope)
9.11 24 December 2009 Camelot
  • Revamped user interface via the new default skin "Confluence"
  • DirectX support by default for the Windows platform
  • A complete reorganization of the settings menus uniformed across skins
  • Automatic video information extraction
  • Out-of-the-box support for new remotes
  • Smoother video playback performance
  • All scrapers updated
  • Increased subtitle and Karaoke lyric support
  • Support for CoreAudio API (OS X exclusive)
  • AC3 and DTS digital audio pass-through to S/PDIF on Apple TV (thanks to CoreAudio)
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 9.10 (Karmic Koala)
10.0 and 10.1 18 December 2010 Dharma
  • Unified addon framework
  • Addon browser GUI for installation and management of third-party addons, skin, and scripts
  • Team XBMC's official Addons Repository with Addon FanArt support
  • Update notifications
  • Movie Sets (option to group movie collections)
  • Gesture support to XBMC's GUI engine
  • Unencrypted Blu-ray Disc support
  • Broadcom Crystal HD video acceleration support (all platforms)
  • Windows Touch API support (Windows 7 touch features and functions)
  • DXVA 2.0 (DirectX Video Acceleration) (Windows Vista/7 exclusive)
  • WASAPI (Windows Audio Session API) for raw bitstream output (Windows Vista/7 exclusive)
  • High-quality bicubic and lanczos upscalers (video resamplers) as Direct3D HLSL (Windows Vista/7 exclusive) and OpenGL GLSL shaders
  • Direct3D port of the OpenGL Spectrum 3D Audio Visualization for DirectX (Windows Vista/7 exclusive)
  • Visual Studio 2010 Express edition and Visual Studio 2010 non-Express edition support (Windows Vista/7 exclusive)
  • ARM processor architecture (Linux exclusive)
  • VA-API (Video Acceleration API) support (Linux exclusive)
  • OpenMAX Video Acceleration API support for Linux (Linux exclusive)
  • NEON (Advanced SIMD instruction set) CPU acceleration support for the ARM architecture under Linux
  • Apple VDADecoder Video Acceleration support (OS X exclusive requires Snow Leopard and Nvidia GeForce 9400 or later)
  • OpenGL ES 2.0 compliance
  • JSON-RPC, JSON API
  • RTMPE and RTMPTE streaming support
  • Microhttpd Web Server replaces old GoAhead and Spyce code
  • SSH file transfer protocol (sftp) streaming support via libssh
  • MySQL database backend
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
Ubuntu 10.04 (Lucid Lynx)
11.0 24 March 2012 Eden
  • iOS port for Apple TV 2G, iPhone, iPod Touch, and iPad
  • Dirty Regions rendering option for texture support to skinning engine (disabled by default)[101]
  • Efficiency improvements to reduce high CPU/GPU usage
  • Default skin changed to a horizontal home layout
  • New RenderCapture type to the Python script framework to enable Ambilight clone addons
  • Combined Files and Library mode for videos
  • Playback of ISO image files for Blu-ray Disc support
  • Slingbox playback over the network support
  • Peripheral manager controller under settings
  • HDMI CEC (Consumer Electronics Control) support for Pulse-Eight's USB CEC Adapter
  • Improved Apple VDADecoder Video Acceleration support
  • Improved Touch / Gesture API and Mouse support
  • Improved ARM processor architecture support
  • Improved OpenMAX Video Decoding Acceleration support for Linux
  • Improved OpenGL ES and EGL support
  • Improved JSON-RPC API compliance with JSON-RPC 2.0 specifications
  • Improved VDPAU performance
  • VDPAU HQ Upscaling support (require Nvidia's capable GPU)
  • H.264 accelerated video decoding via Apple's VideoToolBox API
  • JPEG accelerated image decoding via Apple's VideoToolBox API
  • Added basic DRC (Dynamic Range Compression) volume limiter
  • AirPlay / AirTunes target support
  • Extended Addons API adding extension points for Service Addons
  • Ability for all addons to provide their own web interface
  • Removed native weather forecast scraper, use weather addons instead
  • Added support for multiple simultaneous HID device mappings
  • FFmpeg upgraded (libavformat and libavcodec)
Lubuntu 11.10 (Oneiric Ocelot)
12.0 29 January 2013 Frodo[102][103]
  • Added unified PVR front-end with seamless DVR and a common EPG client GUI
  • Added unified PVR back-end framework and API for multiple PVR servers
  • Initial unstable Android port with multi-architecture platform support
  • BSD (operating system) port for FreeBSD, PC-BSD, and other similar BSD platforms
  • Added unified "AudioEngine" audio abstraction framework with an API and platform sinks
  • Added dedicated AMLPlayer video player for hardware-accelerated video decoding on Amlogic
  • Added dedicated OMXPlayer video player for hardware-accelerated video decoding via OpenMAX IL API
  • NEON (Advanced SIMD instruction set) CPU acceleration support for the ARM architecture
  • Improved ARM processor architecture (Pivos XIOS DS and Raspberry Pi as reference devices)
  • Improved OpenGL ES and EGL support (Pivos XIOS DS and Raspberry Pi as reference devices)
  • Added ability to run a split display resolution for GUI and video playback on embedded platforms[104]
  • Enable Dirty Regions rendering to redraw whole screen on single dirty region by default on all platforms[101][105]
  • Improved HDMI CEC (Consumer Electronics Control) support for Pulse-Eight's LibCEC
  • Library customization that allows for custom video nodes
  • Added Advanced Library Filtering for movies, TV shows, music videos, and music views
  • Improved Smart Playlists for Advanced Library Filtering
  • Custom tagging of movies, TV shows and music videos to simplify sets with scraping
  • Added support for both banner and poster video art types simultaneously[106]
  • Added storing of "Episode ID" for First Aired, DVD Episode Number, and Absolute Number sort order
  • Added support for exporting video art as JPG or PNG rather than TBN file extension
  • Switched to TagLib for reading metadata embedded into audio files
  • Better library database handling for faster browsing
  • Improved image and texture caching for GUI speedup
  • Optimize the GUI rendering engine for embedded devices
  • Improved Touch / Gesture API support for touchscreen interfaces
  • Added HLS (HTTP Live Streaming) and M3U8 (Extended M3U) playlist support
  • Added WebSocket support for JSON-RPC and to Addons API[107]
  • Added image transformation handler for resizing images on-the-fly over JSON-RPC and WebServer API
  • Added basic support for PVR / EPG extensions and notifications over the JSON-RPC API
  • Added SmartPlaylist Extensions and Extended Filtering in JSON-RPC[108]
  • Added support for screensavers written in Python
  • Added ability to extend XBMC's native Python API by writing C++ code generated via Groovy and SWIG[109]
  • Blu-ray Disc HDMV menu support (but not BD-J / BD-Live menus)[110]
  • Improved deinterlacing "Weave" method for playback of interlaced video when upscaling
  • Improved performance of the default web interface (complete rewrite of JavaScript loading)
  • Improved AirPlay / AirTunes target support
  • Improved the Audio-CD ripper that now works as a background task job
  • Add test suite based on Google C++ Testing Framework to make regression testing easier
  • Added support controlling external XBMC and third-party UPnP/DLNA instances over UPnP
  • Upgraded Platinum (libplatinum) UPnP and DNLA libraries
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
  • Removed the old HTTP API in favour of the new JSON-RPC API
?
13.0 Release Target Date: ? Gotham
  • Add a unified Games Manager Library and GUI front-end launcher with online metadata web scraping support
  • Add built-in command for addons and skins to execute Android apps with optional params via applicationmanager
  • Extend the Addon API to support Game Client Addons, supporting XBMC's VFS (Virtual File System), etc.
  • Add RetroPlayer Video Game Console Emulator (ROMs) interface supporting the libretro API and emulator cores
  • Added ImageFactory implementation with factory to abstract different image libraries and hardware acceleration
  • Add Pictures (Digital Images) Library GUI with metadata tags scraper to database and OSD interface
  • Android port with multi-architecture platform support
  • MIPS processor architecture support (Sigma Designs reference)[90]
  • DirectFB support via Mesa and DRM for OpenGL ES 2.0 support[91]
  • Add unified buffering capability to video and overlay renderers for all internal players
  • Add OpenMAX Video Acceleration API support for OpenMAX AL API on Android via libstagefright
  • Improve OpenMAX Video Acceleration API support for Linux
  • Add native XvBA accelerated video decoding for AMD/ATI GPUs on Linux[32]
  • Added support for GPU accelerated MJPEG, VP6, VP8 and Ogg Theora video codecs on Raspberry Pi
  • Add support for addon binary reading and writing via a "buffer" class usable from addons
  • Add support for C#, Java, Go, Modula-3, OCaml, Octave, and Scheme addons via Groovy and SWIG code-generation[109]
  • Add support for Lua, Perl, PHP, R, Ruby, Tcl scripting languages based add-ons via Groovy and SWIG code-generation[109]
  • Add announce function and register addon for announcements to the Add-ons API
  • Add WOL (Wake-on-LAN) with send magic packet function to the Add-ons API
  • Added native volume control for Android from within XBMC
  • Added external player support on Android
  • Added support allow landscape and reverse landscape orientation on Android
  • Added support for video playback of SageTV recordings
  • Added theaudiodb.com music video scraper as new default for music videos
  • Added support for scanning videos SFTP and SSH sources so can scrape metadata
  • Added support for CoreAudio AudioEngine to OS notifications for device changes
  • Added support to allow key IDs in keyboard.xml to be in hexadecimal format
  • Added "Add art" button to video artwork selection dialog
  • Added tag field support for TV Shows and MusicVideos in SmartPlaylists
  • Added support to read SmartPlaylists XML files with XMLUtils where possible
  • Added support for XBMC's Python interface to use native keyboard if possible (currently only iOS)
  • Added support for "last played" sort option to the TV Show GUI
  • Add ability to queue list of items / add items to a playlist without playing them
  • Improve PVR timeshift support (PVR backend still need to support timeshifting)
  • Added support for "Play to" and controlling remote XBMC / DLNA instance over UPnP
  • Add place-shifting streaming videos / music output ability to the web server and JSON-RPC API
  • Improve support for PVR / EPG extensions and notifications over the JSON-RPC API
  • Addded support and GUI settings for SOCKS 4/4a/5 proxy types and remote DNS
  • Add support for both banner and poster music art types simultaneously
  • Add support for exporting music art as JPEG or PNG rather than TBN file extension
  • Added support for OGG cover art extraction to TagLib
  • Added new "Fishbmc" OpenGL audio visualization addon for Linux and Mac OS X
  • Added support for write-enabled WebDAV (delete/rename/write files and directories)
  • Add support for running libxbmc.so headless (without GUI) as a background service / deamon
  • Move LCD API and LCDproc support out of XBMC's core and instead into a Python script service add-on
  • Move Last.fm scrobbler and Love/Hate scrobbling out of XBMC's core and instead into a add-on
  • Replace cximage and imagelib with the freeimage
  • Upgrade DVD-Video navigation and playback libraries (libdvdnav, libdvdread, and libdvdcss)
  • Upgrade SAMBA client to version 3.6.x adding full support for SMB 2.0 and SMB 2.1 protocols
  • Upgrade FFmpeg (libavcodec and libavformat) libraries
?

[111][112][113]

Legality

The "XBMC Foundation", the non-profit 501(c) tax-exempt 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.[114][115][116][117]

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.

Back when Team XBMC supported it, executable versions of XBMC for Xbox could not be legally distributed. This is because XBMC for Xbox required Microsoft's Xbox Development Kit in order to be compiled. The only publicly available executable versions of XBMC for Xbox were compiled and distributed by third parties. This limitation was given as one of the reasons the group eventually dropped Xbox support from XBMC.[27] XBMC binaries for all other platforms that XBMC supports (Linux, Mac OS X, Windows, and iOS) are legal to distribute by the XBMC project.[4][5][14][15][31]

XBMC can also optionally be compiled with libdvdcss to support playing back DVD-Video movies encrypted using the CSS (Content Scramble System) encryption. Since it is not a member of DVD Forum, 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 is thus questionable in several nations, the distribution of executable versions of XBMC containing which was built with this library 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.[9][31]

See also

References

  1. ^ "Add mips arch". Github.com. 30 September 2011. Retrieved 17 October 2011.
  2. ^ "About XBMC". Xbmc.org. Retrieved 17 October 2011.
  3. ^ a b c d e f g h i j k l m Kaushik (8 August 2009). "XBMC is the best media center application. Period". instant fundas.
  4. ^ a b c d e Timmeh (16 September 2004). "XboxMediaCenter Review". TVHarmony.com, Inc.
  5. ^ a b c d e f g h i j k Patrick Schmid (5 November 2004). "Modding The Xbox Into The Ultimate Multimedia Center". Tom's Hardware.
  6. ^ Adam Pash (9 December 2008). "Hive Five Winner for Best Media Center Application: XBMC". Lifehacker.
  7. ^ Adam Pash (7 December 2008). "Hive Five Best Media Center Applications". Lifehacker.
  8. ^ a b c d e f g h i j k Ryan Paul (10 May 2009). "XBMC 9.04 delivers impressive media center experience". Ars Technica.
  9. ^ Jason Fitzpatrick & Kevin Purdy (2 February 2010). "Which Media Center Is Right for You: Boxee, XBMC, and Windows Media Center Compared". Lifehacker.
  10. ^ a b c Jason Fitzpatrick (5 April 2009). "Customize XBMC with These Five Awesome Skins". Lifehacker.
  11. ^ a b c d e f Ryan Paul (29 December 2009). "XBMC 9.11 makes your open source home theater look shinier". Ars Technica.
  12. ^ Lawler, Richard (10 October 2012). "XBMC celebrates 10 years, latest build works in mainline PVR and Raspberry Pi support". Engadget.com. Retrieved 28 January 2013.
  13. ^ a b c d e f http://www.o-sd.com/hardcoregamermag/publicPDF/HGM_Aug.pdf Review of XBMC in Hardcore Gamer Magazine
  14. ^ a b c d e f g h i j VzjrZ (18 January 2007). "How to softmod your xbox...for FREE". Instructables. Cite error: The named reference "FLOSS Media Center State of the Art" was defined multiple times with different content (see the help page).
  15. ^ a b "XBMC Live 9.11". Softpedia. 19 January 2010.
  16. ^ a b Luigi Capriotti (18 September 2008). "XBMC Live Atlantis Beta1!". xbmc.org.
  17. ^ a b Luigi Capriotti (15 November 2008). "XBMC Live 8.10 (Atlantis) released". xbmc.org.
  18. ^ Richard Skalsky (a.k.a. GrandAnse) (2 July 2009). "Voddler använder XBMC (Bekräftat!)". xbmc.nu (in Swedish).
  19. ^ a b Nicholas Deleon (15 January 2010). "CrunchGear Interview: We talk to the lead developer of Plex Media Center for Mac OS X: It was doing Boxee-like stuff before Boxee was cool". CrunchGear.
  20. ^ a b c Kevin Anderson (7 October 2009). "Thinking inside the box". The Guardian. UK.
  21. ^ http://xbmc.org/natethomas/2012/10/10/xbmc-september-cycle/ XBMC September Cycle - Personal Video Recorder (PVR) support
  22. ^ "Unified PVR frontend (DVR/HTPC client GUI with EPG) and Addons API for PVR backends". Forum.xbmc.org. Retrieved 17 October 2011.
  23. ^ a b http://code.google.com/p/xbmc-addons/ XBMC-Addons on Google Code (Addon plugins for XBMC)
  24. ^ a b c http://www.xbmczone.com/ XBMC Zone (third-party Addon extensions for XBMC)
  25. ^ a b c http://passion-xbmc.org/ Passion XBMC (third-party Addon extensions for XBMC)
  26. ^ a b c d e theuni (27 May 2010). "Farewell XBOX". xbmc.org.
  27. ^ a b c Timothy (28 May 2010). "XBMC Discontinues Xbox Support". Slashdot.
  28. ^ a b c Adam Pash (28 May 2010). "XBMC Drops Support for the Original Xbox". Lifehacker.
  29. ^ a b c Sean Hollister (31 May 2010). "XBMC bids farewell to its progenitor: the original Xbox". Engadget.
  30. ^ a b c d e f g h i "XBMC Architecture Overview by Telematics Freedom Foundation". Telematics Freedom Foundation. 28 October 2009.
  31. ^ a b "XBMC Project Implements AMD XvBA Interface". Phoronix.com. 14 December 2011. Retrieved 24 January 2012.
  32. ^ New translation service 30 May 2012 blittan (30 May 2012). "New translation service". Xbmc.org. Retrieved 28 January 2013.{{cite web}}: CS1 maint: numeric names: authors list (link)
  33. ^ https://github.com/xbmc/xbmc/tree/master/language language at master from xbmc / language – GitHub
  34. ^ "Butaca IMDb, and TMDb". Simonpena.com. 3 August 2011. Retrieved 28 January 2013.
  35. ^ "Our Content Information Providers". xbmc.org. 11 September 2012.
  36. ^ a b "XBMC Skinng Project". Sourceforge.net. Retrieved 13 February 2010.
  37. ^ "HOW-TO:Watch TV in XBMC". Wiki.xbmc.org. 17 November 2012. Retrieved 28 January 2013.
  38. ^ http://github.com/xbmc/xbmc/pull/1357 [pvr] add PVR and EPG support to XBMC
  39. ^ "XBMC PVR add-ons". Github.com. 2 September 2012. Retrieved 28 January 2013.
  40. ^ "Njoy N7 FAQ". Tv2lan.com. Retrieved 28 January 2013.
  41. ^ Jason Fitzpatrick (30 October 2009). "Turbo Charge Your New XBMC Installation". Lifehacker.
  42. ^ https://github.com/xbmc/xbmc/commit/ae7b0b54384485e85124bc33c0743ed7cad627a4 add airplay implementation from boxee project
  43. ^ https://github.com/xbmc/xbmc/pull/447 Airtunes support for ios/osx/linux
  44. ^ http://rtmpdump.mplayerhq.hu/ RTMPDump used by XBMC
  45. ^ a b http://wiki.xbmc.org/index.php?title=EventServer EventServer
  46. ^ https://github.com/xbmc/xbmc/pull/591 DSPlayer directshow based player
  47. ^ "Airtunes coming to XBMC for Windows… And Why AirPlay is Awesome". Xbmc.us. 15 June 2012. Retrieved 28 January 2013.
  48. ^ "XBMC Remote for Android now official". Talkandroid.com. 19 July 2010. Retrieved 17 October 2011.
  49. ^ "Official XBMC Remote of iOS". Itunes.apple.com. 11 January 2013. Retrieved 28 January 2013.
  50. ^ "Enhance Your XBMC Experience with Remote Controls for Any Device". Lifehacker.com. 24 March 2010. Retrieved 17 October 2011.
  51. ^ a b c d Anand Lal Shimpi (29 December 2009). "XBMC & Broadcom Bring 1080p Decode Upgrade to ill-equipped netbooks, nettops, Apple TVs". AnandTech.
  52. ^ XBMC 11.0 - Eden 24 March 2012 natethomas (24 March 2012). "XBMC 11.0 – Eden". Xbmc.org. Retrieved 28 January 2013.{{cite web}}: CS1 maint: numeric names: authors list (link)
  53. ^ Spiff (2 February 2010). "Initial native support for DXVA2 in SVN – Time to say goodbye to your firstborns". xbmc.org.
  54. ^ elupus (1 February 2010). "Changeset 27376". xbmc.org.
  55. ^ "XBMC Roadmap". xbmc.org. 8 February 2010.
  56. ^ Foresman, Chris (21 January 2011). "XBMC now running on jailbroken Apple TV or iDevice". Arstechnica.com. Retrieved 17 October 2011.
  57. ^ Lawler, Richard (13 July 2012). "XBMC for Android app revealed; source code available now". Engadget.com. Retrieved 28 January 2013.
  58. ^ "The 'X' Factor! Pivos Technology Introducing XBMC to its XIOS DS Media Play!". Prweb.com. 26 July 2012. Retrieved 28 January 2013.
  59. ^ "Google TV and Native Libraries". Spurint.org. Retrieved 28 January 2013.
  60. ^ a b http://xbmc.org/about/commercial-use/ Commercial use of XBMC
  61. ^ "ARCTIC announces passive cooled Systems with OpenELEC installed". http://openelec.tv. 5 February 2013. Retrieved 8 February 2013. {{cite web}}: External link in |publisher= (help)
  62. ^ "ARCTIC MC001 Fanless low cost HTPC". http://forum.xbmc.org/index.php. 6 February 2013. Retrieved 8 February 2013. {{cite web}}: External link in |publisher= (help)
  63. ^ "Arctic Introduces OpenELEC-based MC001-XBMC HTPC". www.anandtech.com. 5 February 2013. Retrieved 8 February 2013.
  64. ^ "ARCTIC MC001-XBMC Media Center Now Available w/ XMBC 12". http://legitreviews.com. 6 February 2013. Retrieved 8 February 2013. {{cite web}}: External link in |publisher= (help)
  65. ^ "ARCTIC Bundles OpenELEC with Lower Priced MC001-XBMC". www.missingremote.com. 5 February 2013. Retrieved 8 February 2013.
  66. ^ "PulseBox out 10th October". Blog.pulse-eight.com. 22 September 2011. Retrieved 17 October 2011.
  67. ^ http://packages.pulse-eight.net Pulse-Eight Packages
  68. ^ "XBMC-based embedded Linux distro debuts on HTPC mini-PC". Desktoplinux.com. 21 October 2011. Retrieved 20 November 2011.
  69. ^ http://www.linuxfordevices.com/c/a/News/OpenELEC-and-Xtreamer-Ultra/
  70. ^ "Zotac shows off with XBMC". Xbmc.org. 4 May 2010. Retrieved 17 October 2011.
  71. ^ "ZOTAC Announces Boost XL Software Bundle for Platforms". Bit-tech.net. 11 September 2010. Retrieved 17 October 2011.
  72. ^ "Zotac's Zboxes are small, Ion-fueled, and cheap". Engadget.com. 28 August 2010. Retrieved 17 October 2011.
  73. ^ Thomson, Iain (11 June 2012). "Linux Mint joins mini-PC hardware business". Theregister.co.uk. Retrieved 28 January 2013.
  74. ^ "arusys MS630S and MS850S set-top boxes stream straight to your iPhone". Engadget. 19 April 2010. Retrieved 17 May 2010.
  75. ^ "Myka ION brings Intel Atom and ION graphics into the living room". Crunchgear.com. 5 November 2009. Retrieved 17 October 2011.
  76. ^ Dave Freeman (10 August 2010). "Modified Konstructs Announces Custom Media Center". Crunchgear.com. Retrieved 17 October 2011.
  77. ^ "BryteWerks Model One combines HTPC and 16:10 HD projector for $2,449". Engadget.com. Retrieved 24 January 2012.
  78. ^ "XBMC media center running on ARM and Intel-based MeeGo Linux devices". Liliputing.com. 17 March 2011. Retrieved 20 November 2011.
  79. ^ Byford, Sam. "Raspberry Pi demonstrated running XBMC and AirPlay". Theverge.com. Retrieved 24 January 2012.
  80. ^ http://www.engadget.com/2011/01/05/sigma-designs-announces-direct-xmbc-support-for-wild-next-gen-st/ Home Entertainment Sigma Designs announces direct XBMC support for wild next-gen streamers
  81. ^ Adam Pash (23 June 2008). "Boxee Is XBMC with Newer Look and Social Flair". lifehacker.
  82. ^ "XBMC 11 enters beta, final desktop version of Boxee 1.5 arrives". H-online.com. 5 January 2012. Retrieved 24 January 2012.
  83. ^ "GeeXboX LiveUSB HTPC Linux distro hits v2.0, adds ARM support for multi-core video decoding". Engadget.com. 20 September 2011. Retrieved 17 October 2011.
  84. ^ "Plex announces partnership with LG, pledges to beat Boxee Box and Apple TV for free". Engadget.com. 3 September 2010. Retrieved 17 October 2011.
  85. ^ "OpenELEC Is a Fast-Booting, Self-Updating Version of XBMC for Home Theater PCs". Lifehacker. 20 October 2011. Retrieved 20 November 2011.
  86. ^ QtMediaHub – The implementation of a XBMC inspired media player in QML[dead link]
  87. ^ "XBMC on NVIDIA Tegra". Tegradeveloper.nvidia.com. Retrieved 13 February 2010.
  88. ^ http://elinux.org/BeagleBoard/GSoC/2010_Projects/XBMC BeagleBoard/GSoC/2010 Projects/XBMC
  89. ^ a b c https://github.com/xbmc/xbmc/pull/455 Add mips arch
  90. ^ a b c https://github.com/xbmc/xbmc/pull/454 directfb: Initial support
  91. ^ Tim Stevens (2 November 2009). "XBMC ARM port teased, will manage HD playback from pocket-sized Beagleboard (video)". Engadget.
  92. ^ "Media Player Chipsets". Iboum.com. Retrieved 24 January 2012.
  93. ^ alwinus (5 January 2009). "Patch for alcoheca's PVR-Frontend and a plugin for VDR backend". XBMC Trac.
  94. ^ Swifty (27 November 2009). "How To: LiveTV with VDR and PVR-Testing". XBMC Community Forum.
  95. ^ "SourceForge.net is proud to present the winners from our 2006 Community Choice Awards". SourceForge.
  96. ^ "SourceForge.net is proud to present the winners from our 2007 Community Choice Awards". SourceForge.
  97. ^ "SourceForge.net is proud to present the winners from our 2008 Community Choice Awards". SourceForge.
  98. ^ http://www.gizmodo.com.au/2010/10/history-of-boxee-and-boxee-was-born-slowly/ History Of Boxee: And Boxee Was Born, Slowly
  99. ^ http://www.gizmodo.com.au/tags/history-of-boxee/ History of boxee
  100. ^ a b Working with dirty regions 19 June 2011 theuni (19 June 2011). "Working with dirty regions". Xbmc.org. Retrieved 20 November 2011.{{cite web}}: CS1 maint: numeric names: authors list (link)
  101. ^ http://xbmc.org/natethomas/2013/01/29/xbmc-12-0-frodo/ XBMC 12.0 - Frodo
  102. ^ XBMC 12.0 Frodo - Beta 1 15 November 2012 natethomas (15 November 2012). "12.0 Frodo - Beta 1". XBMC. Retrieved 28 January 2013.{{cite web}}: CS1 maint: numeric names: authors list (link)
  103. ^ https://github.com/xbmc/xbmc/pull/1467 Add the ability to run a split gui/display resolution for embedded platforms
  104. ^ https://github.com/xbmc/xbmc/pull/1426 d-r: enable dirty-regions by default
  105. ^ https://github.com/xbmc/xbmc/pull/1575 Poster banner support for video art
  106. ^ https://github.com/xbmc/xbmc/pull/511 add websocket support for JSON-RPC
  107. ^ https://github.com/xbmc/xbmc/pull/1258 smartplaylist extensions & extended filtering in JSON-RPC
  108. ^ a b c https://github.com/xbmc/xbmc/pull/901 Replace the entire scripting engine with one that's code-generated
  109. ^ https://github.com/xbmc/xbmc/pull/464 HDMV menus support for Blu-ray Disc
  110. ^ "XBMC Roadmap". Trac.xbmc.org. 25 September 2010. Retrieved 17 October 2011.
  111. ^ "XBMC Trac Timeline". Trac.xbmc.org. 19 May 2004. Retrieved 17 October 2011.
  112. ^ http://xbmc.org XBMC Blog
  113. ^ XBMC Gains Representation 27 April 2010 theuni (27 April 2010). "XBMC Gains Representation". Xbmc.org. Retrieved 17 October 2011.{{cite web}}: CS1 maint: numeric names: authors list (link)
  114. ^ "Welcome Sponsor: 9x9 Networks". Xbmc.org. 17 February 2010. Retrieved 17 October 2011.
  115. ^ "Results of XBMC Developers Conference". Xbmc.org. 4 July 2009. Retrieved 17 October 2011.
  116. ^ Team XBMC (30 May 2008). "Announcing XBMC DEV CON 2008 hosted by boxee". Xbmc.org. Retrieved 17 October 2011.