XBMC Media Center Home Screen |
|
Developer(s) | Team XBMC |
Initial release | 2003 |
Stable release | 10.1 (codename: "Dharma") (10 March 2011) |
Preview release | Neutral build from Git / Nightly (codename: "Eden") |
Development status | Active |
Written in | C++ core, with Python scripts as addons (plugins) from third-party developers |
Operating system | Linux, BSD, Mac OS X, Apple TV OS, Windows, iOS, and first-generation Xbox, (plus MeeGo support is in development) |
Platform | ARM, PPC (PowerPC), x86 / IA-32, and x86-64, (plus MIPS architecture support is in development[1]) |
Available in | International (40+ languages to date) |
Type | Media Center, Media Player, Digital media receiver |
License | GNU GPL (GPLv2 or later) |
Website | xbmc.org |
XBMC Media Center (formerly Xbox Media Center) is a free and open source cross-platform digital media hub and HTPC (Home theater PC) software with a 10-foot user interface designed to be a media player for the living-room TV. Its graphical user interface (GUI) allows the user to easily manage video, photos, podcasts, and music from a computer, optical disc, local network, and the internet using a remote control.[2][3][4][5] The XBMC project is managed by the non-profit technology consortium XBMC Foundation.[6][7][8]
It is a popular alternative to Microsoft's Windows Media Center and Apple's Front Row for Home Theater PC|HTPC (Home Theater PC) use.[9][10][11][12][13][14] Similar to competing software like MediaPortal and MythTV, it has a skinnable as well as user-configurable interface and plugin support.[15][16][17] The latest stable release of XBMC also have an integrated digital distribution platform 'app store' / 'app market' called "Addons Manager" that has a growing list of community driven addon plugins for online content like YouTube, Hulu, Netflix, Grooveshark, Pandora Radio, as well and themes (skins) and more available from a common official repository, while still enabling third-party developers to also host their own unofficial repositories for addon plugins that any user can choose to add themselves if they like.[18][19][20][21]
XBMC was originally created as a media center application for the first-generation Xbox game console[3][4][22] but is now, since 2010, officially available as a native application for Linux, Mac OS X (Snow Leopard, Leopard, Tiger), iOS (iDevices that are jailbroken), Apple TV, and Microsoft Windows operating systems, running on most common processor architectures.[23] Also available is a bootable Live CD and Live USB standalone version referred to as "XBMC Live" which is made for easy setup on bare-metal installations and to be used for interactive demonstrations.[24][25][26]
In addition, as a leader in niche market of media center software, the source code from XBMC is used as an open platform application framework and technological convergence platform for others projects to base their Smart TV entertainment system, set-top boxes, interactive television for hotels, or home media center software on for over-the-top content use and more, and 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 engine and media player core parts of their software from XBMC's source code. While still using their own brand and customized interface, a few like Boxee and 9x9 Player, are also affiliate marketing their software/devices as "Designed for XBMC" and "Powered by XBMC" with official XBMC logo by certified approval from the XBMC Foundation and the Team-XBMC developers.[2][13][27][28][29]
XBMC (which has officially been rebranded to simply "XBMC" from its previous old name; "Xbox Media Center") 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 proprietary media center applications like Windows Media Center from Microsoft, or other free-software media center applications such as MediaPortal and MythTV, XBMC Media Center does not yet include native Live TV or DVR/PVR recording functionality, nor an EPG TV-Guide interface of its own, it does however offer the possibility to integrate such functionality through third-party plugins[2][13][16][23] and an official native unified DVR/PVR frontend with EPG which via a common API will support multiple backends via PVR client addons is under development, with experimental builds already available.[30]
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.[2][13][23][31][32][33]
XBMC source code is distributed as open source under GPL (GNU General Public License),[23] it is sponsored via the tax-exempt registered non-profit organization, XBMC Foundation, and is developed by a global free software community of volunteering people working on XBMC for free in their spare time without being motivated by financial or material gain.[32][33][34][35][36][37][38][39]
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 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 from "Xbox Media Center" name.[40][41][42][43] 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 means that XBMC for Xbox has always required a modchip or softmod exploit to be able to run on the Xbox game-console.[3][4][22][23]
XBMC has greater basic hardware requirements than traditional 2D style software applications: it needs a 3D capable GPU 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 CPU based.[2]
When software decoding of a Full HD 1080p high-definition video is performed by the system CPU, a dual-core 2 GHz or better CPU is required in order to allow for perfectly smooth playback without dropping frames or giving playback a jerky appearance. XBMC can however offload most of the video decoding process onto GPU graphics hardware controller that supports one of the following types of hardware-accelerated video decoding:[44] Intel's VAAPI, Nvidia's VDPAU, AMD's XvBA, Microsoft's DXVA, Apple's VDADecoder/VideoToolBox, OpenMAX, and Broadcom Crystal HD Enhanced Media Accelerator.[45] By taking advantage of such hardware-accelerated video decoding, XBMC can run well on most inexpensive, low-power systems which contain a modern GPU. However, Intel Core CPUs with integrated-GPU (or APUs) are not properly supported yet.
XBMC includes full support for many different languages by default. XBMC's structure is such that if the language is not available, or not up-to-date, it can be made by 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. Currently the existing supported languages are Afrikaans, Basque, Brazilian Portuguese, Bulgarian, Catalan, Simplified Chinese, Traditional Chinese, Croatian, Czech, Danish, Dutch, English, American English, Esperanto, Finnish, French, German, Greek, Hebrew, Hungarian, Icelandic, Indonesian, Italian, Japanese, Korean, Maltese, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Mexican Spanish, Swedish, Thai, Turkish and Ukrainian.[4][46][47]
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's latest point-release, (codename: "Dharma"), features a new 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 in Windows Sidebar. 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 (example Pandora Radio, Xm radio, Sirius Satellite Radio), online picture sharing sites like Flickr, TV-guides (EPG), e-mail clients, instant messaging, train-timetables, home automation scripts to front-end control PVR software and hardware (like: MediaPortal, MythTV, TiVo, ReplayTV, Dreambox/DBox2), P2P file-sharing downloaders (BitTorrent), IRC, also casual games (sometimes also referred to as mini-games or party-games) such as Tetris, Snake, Space Invaders, Sudoku, and much more.[2][13][31][32][33]
Same as the majority of most applications that originated from a 'homebrew' scene, is skin-ability in the tradition of modifications and customization very popular among XBMC users. "Confluence" and "Project Mayhem" are the two official skins; "Confluence" is the default since version 9.11, and "Project Mayhem" was the previous default which is now in its third version, commonly known as "PM3.HD" (PM III High-Definition).[16]
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 skins trading and development.[2][33][48][49][50][51] 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 clones or an exact replica of other multimedia software interfaces, such as DivX Connected, Apple Front Row, Windows Media Center Edition (MCE), MediaPortal, Meedio/MeediOS, HDeeTV, Kaleidescape, Wii Channel Menu (Xii), Xbox 360 Blades (MC360), Xbox 360 New Xbox Experience (Xperience), and others.[15]
XBMC has the built-in optional function to automatically download metadata information, cover art and other related media artwork online through its scrapers.
Scrapers use sites like themoviedb.org or imdb.com to obtain thumbnails and reviews on movies, thetvdb.com for TV show posters and episode plots, CDDB (via freedb and Discogs, etc.) for audio CD track listings, and AMG for album thumbnails.[44]
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 nice GUI with thumbnail and different listings options. However while this feature is 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.[22]
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) 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 (480i/480p/576i/576p) resolution videos and output them to 720p, 1080i, and 1080p high-definition resolutions.[2][23][52]
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.[2][23]
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.[2][16]
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.[2][13][16]
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.[57]
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.[2][16]
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 have 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.[23]
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.[4]
XBMC Remote for Android is a free and open source official app released by Team-XBMC on the Android Market for Android devices, It also allows for browsing the media library, and allows for remote controlling of an installed and concurrently-active XBMC session running on a computer via the Android's device touchscreen user interface.[58][59][60]
Several third-party developers have also released multiple unofficial XBMC remote control apps for Android, Symbian, Windows Mobile, and Windows Phone devices, as well Apple iOS devices such as iPad, iPod Touch, and iPhone. 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.[61][62][63][64][65][66][67]
Due to the dated hardware of the Xbox 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 original Xbox version of XBMC.
However in the latest official release of XBMC there is hardware accelerated video decoding for DXVA, VDPAU, VAAPI GPU hardware video decoding, as well as hardware accelerated video decoding via ARM NEON, and OpenMAX, Broadcom Crystal HD.[13][68][69] 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.
XBMC Live is a free Ubuntu-based Linux distribution with XBMC for Linux already installed and pre-configured, providing a complete packaged media center software suite for all IA-32/x86-based personal computers. XBMC Live uses XBMC Media Center for all media playback and is implemented as a bootable Live CD primarily designed for bare-metal installations to achieve instant on type boot, as well as for interactive demonstrations.[24][25][26][70]
As a Live CD, the system does not need to be permanently installed to a hard disk drive, as most operating systems would. Instead, the computer can simply be booted with the XBMC Live CD when media playback is desired. This is a reasonable approach for those who do not need media playback services while performing other tasks with the same computer, or for users who wish to repurpose older computers as media center, and for those seeking a free alternative to Windows Media Center, or for those who simply want to try out the XBMC Media Center software for the first time without having to install anything. The Microsoft MCE Remote and IR-receiver dongle for Windows Media Center works with XBMC Live directly out of the box, which mean that Windows Media Center users with these can try out the XBMC Live without requiring any additional hardware.[24][25][26]
Following the principles of Mythbuntu, KnoppMyth, Mythdora, and GeeXboX, XBMC Live is also designed to simplify a permanent installation of XBMC Media Center onto a computer to be used as a dedicated HTPC (Home Theater PC) in the living-room, as such the user can directly install XBMC Media Center from the bootable XBMC Live 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, XBMC Live 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. This is not possible when running XBMC Live off a CD-ROM as they are read-only and any changes to settings are only temporary meaning that they get reset back to defaults once the system is rebooted.[24][25][26]
XBMC for BSD, which is a full port of XBMC to BSD UNIX operating-systems. Compatible with FreeBSD and other similar derivatives like PC-BSD, for IA-32/x86, x86-64, PowerPC, and ARM-based computers, including hardware accelerated video decoding via VDPAU API on Nvidia's GPUs and VAAPI API for AMD/ATI Radeon.[71][72][73][74][75]
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 Inc's iDevice's that uses Apple A4 or Apple A5 (ARM-based) processors with a jailbroken iOS operating-system. These iDevices include the second-generation Apple TV (a.k.a. Apple TV 2), iPhone 4, iPhone 4s, fourth-generation iPod Touch, iPad and the iPad 2.[76][77][78][79][80][81][82][83][84]
XBMC for Linux is primarily developed for Ubuntu Linux and XBMC's developers' own "XBMC Live" (Live CD Linux distribution prepackaged with XBMC as a preconfigured media center software appliance operating-system). 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.[68][69] 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 (Lion, Snow Leopard, Leopard, Tiger), 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 via Broadcom Crystal HD.[68][69]
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.[68][69]
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[85][86] is now supported although this enhancement currently only runs on Windows Vista and Windows 7 due to the author's currently using the DXVA 2.0 API which is not supported in Windows XP.[87]
The 9.04 (codename: Babylon) point-release version of XBMC for Xbox which was released on 6 May 2009 as the last 'stable' 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 the 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.[40][41][42][43]
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.[3][4][22][23] 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. It should be noted, however, that executable builds from development versions typically contain bugs not present in the most recent 'stable' release versions of XBMC for Xbox.[4][22]
The developers of XBMC state that as long as the GPL licensing of the XBMC software is respected they would love for XBMC to run on as many third-party hardware platforms and operating systems as possible, as "Powered by XBMC" branded devices and systems. With 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.[88]
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.[88]
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.
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.[89][90][91]
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.[92][93][94][95][96][97][98]
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).[99]
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-install with XBMC Media Center.[13][100]
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"[101][102][103][104][105] 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 on your dedicated HTPC system.[106][107][108][109]
VeuBox by CaptiveWorks Inc. is an Nvidia Ion based set-top device pre-installed with XBMC Media Center, Hulu Desktop, SopCast, TVUnetworks, and Firefox as applications that can be started from the main menu. The underlying operating-system is Gentoo Linux, and CaptiveWorks is marketing the VeuBox as an open platform.[110][111][112]
Xtreamer Ultra, manufactured by the South Korean company Unicorn Information Systems, is a nettop based on Nvidia Ion chipset which came be ordered with OpenELEC and XBMC software pre-installed.[113][114]
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.[115][116] This "ZOTAC Boost XL" software bundle consist of the software applications; Auslogics BoostSpeed, Cooliris, Kylo (HDTV-optimized Web Browser), and XBMC Media Center.[117][118]
Zotac's "ZBOX" and "MAG" series of small Mini-PCs are all NVIDIA Ion based Nettop, 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 and Zbox ID34 are specifically marketed towards the HTPC market, where Zbox ID33 is the barebone model and the Zbox ID34 comes with a slot-loading Blu-ray Disc optical disc drive, 2 GB RAM, and a 250 GB hard drive with Windows 7 pre-installed, neither does however come with a remote control.[119][120]
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 is 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.[2][29]
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,[121][122][123][124][125][126][127][128][129][128][130][129][130][131][131] OtherOS (for Cell microprocessor),[132] Broadcom BCM2835 SoC based devices (like Raspberry Pi),[133][134][135] as well as to Networked Media Tank[136] and other Sigma Designs (MIPS architecture) based SoC devices.[137][138][139][140][141]
9x9 Player (by Santa Clara, CA based 9x9Network) is an open source software media player client for 9x9Network's 9x9CloudTV peer-to-peer TV delivery network over internet. The frontend of this media player client uses XBMC's source code as its application framework platform,[142] and 9x9Network as a company is also an official sponsor of the XBMC development project.[143][144]
Boxee, (produced by startup company Boxee Inc.), 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.[145][146][147] Boxee now supports Windows, Linux, and OSX, with the first Alpha made available on 16 June 2008. Boxee as a company is also an official sponsor of the XBMC development project.[2][29][148][149][150][151][152][153] The last version was 1.5. There will be no more versions of the desktop versions, with new emphasis on the Boxee Box.
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.[154][155]
iConsole (formerly known under the project codename "Full Circle"), produced by startup company MechaWorks, is a freeware and partially open source media center and entertainment hub with video game console features that is initially a fork of XBMC and Boxee software.[156][157][158][159][160][161] The first public Alpha release will be as a Linux based distribution, primarily designed to be installed on a computer's empty harddive to make a computer in to a dedicated HTPC, similar to that of the XBMC Live distro but specifically targeted to a minimum set-top box hardware setup.[156][158][160][161][162]
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 (a.k.a. Frodo, who was also one of the original founders of XBMC) in February 2004. The reason for this fork to Microsoft Windows was to get away from hardware limitations of the Xbox platform that XBMC development started on, mainly because of the Xbox inability to support TV-tuner adapters natively as Erwin wanted PVR functionality. Now after several years and innumerable feature changes there has been almost a complete re-design of the source code, however the skinning engine of MediaPortal 1.X.X still remains very similar to that of the original XBMC software making it relatively easy for people to port skins/themes back and forth between the two projects, something that is done quite frequently.[2][29][163]
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.[2][28][29][164][165] 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.[166][167][168]
Feingold was the Team-XBMC member who first initiated the Mac OS X port of XBMC, but soon after he left the original XBMC project due to what was arguably a falling-out with rest of Team-XBMC's developer members over the team's majorities feeling that the XBMC project should aim for strict adherence to the GPL and always keep to an open-source software mindset. This disagreement is claimed to be one of the main factors that led Elan to leave the XBMC project and create the Plex fork.[29][169][170][171][172][173]
Vu+ (or VUplus), is produced by German multimedia vendor, which is a manufacturer of Linux-powered DVB satellite, terrestrial digital television receivers (set-top box) that all currently uses Enigma2 for Dreambox based software as firmware.
In September 2011 Vu+ Day in Amsterdam it was announced that the next-generation Vu+ DVB satellite receivers to be released publicly in the end of 2012 will be using XBMC Media Center software for its GUI, a development project that they call "XBMC4STB" (XBMC for Set-Top-Boxes), with beta releases of both the software and hardware said to be made available to XBMC developers before then .[174]
Voddler is a commercial video-on-demand service and client software streaming movies and television programming, similar to Spotify and Grooveshark but for video. From its first release at 1 July 2009 up until 24 February 2010, Voddler's media player software was initially based on a fork of the XBMC open source code.[27][29][175][176][177][178] Voddler violated the license for XBMC's source code by neglecting to release all of their modifications that they used in their application as required per the GPL, and they have been publicly criticized for this.[179][180][181][182][183][184][185][186][187] Voddler's newer media player software is since 8 March 2010 now instead based on the Adobe Air closed-source application platform.
ONEvision by at-visions Informationstechnologie GmbH, (an international system integration and IT soutsourcing firm for hotels), ONEvision is a commercial fork of XBMC for use as hotel television system software in hotel environments and in the hospitality industry for in-room entertainment. It offers a platform for in-room service bookings and an IPTV interface, with custom theme branding. ONEvision is currently used throughout Europe and Asia at hotels such as Hyatt EMEA, Ramada Vienna, RIMC International, DWA Bratanki, Rogner International, EH&A, Heritage Hotel Hallstatt, St. Martins Therme, and Heiltherme Bad Waltersdorf. As of October 2010[update], at-visions as a company is also an official sponsor of the XBMC development project.[188][189][190][191][192]
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 retro 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.[193][194][195][196][197][198][113][114]
Element OS is a free embedded operating system designed for use on a Home Theater PC (HTPC) which is connected to a HDTV. Element OS is a Linux based distribution similar to that of the XBMC Live distro, however it comes preloaded with dozens of applications for listening to, viewing, and managing music, videos, photos, and internet media. XBMC is the pre-installed default media center, but Boxee and Hulu Desktop are also installable.[199]
Sabayon Linux is a full Linux distribution that among other applications comes with a preinstalled and preconfigured "ready-to-use" version of XBMC Media Center.[200]
yaVDR (which name originated from the abbreviation "yet another VDR") is an Ubuntu-based Linux (i386) distribution designed for Home Theater PC (HTPC) with TV tuner card for DVR (Digital Video Recorder) capabilities. yaVDR comes preinstalled and preconfigured "ready-to-use" version of XBMC Media Center from the "PVR" Subversion development branch as its primary front-end media player interface, with VDR (Video Disk Recorder) integrated as its PVR back-end server. It also features xine as an alternative front-end media player interface to XBMC.[201][202]
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 suppoted 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.[40][41][42][43]
XBMC is a non-profit and free software community driven open-source software project that is developed only by volunteers in their spare time without any monetary gain. The team of developers leading the development of XBMC, "Team-XBMC", encourage anyone and everyone to submit their own source code patches for new features and functions, improve existing ones, or fix bugs to the XBMC project.
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.[4]
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 based 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 depend on are also written in C programming-language, but are then most of the time used with a C++ wrapper or loaded via XBMC's own DLL loader.[13][44]
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.[4]
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 easily be observed on 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.
While it is true that XBMC has a very portable code base, with its trunk (or mainline source code tree) is today officially only available for IA-32/x86, x86-64, PowerPC, and ARM-based processor architecture platforms,[203][204] and XBMC GUI requires a Direct3D, OpenGL, OpenGL ES, EGL, or DirectFB[205] with hardware accelerated graphics GPU and device drivers that support DirectX 9, GLES 2.0, or OpenGL 1.3 or later with GLSL in order to render the GUI at an acceptable frame rate to the human eye (which is 24 frames per second or faster). XBMC is thus officially not yet available for the MIPS processor architecture,[206] nor does it as of yet support DRI (Direct Rendering Infrastructure) or DirectFB rendering without OpenGL/GLES hardware accelerated graphics support,[44][205][207] 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 Sigma Designs and Realtek chipsets.[208] An XBMC port to MIPS processor architecture is however currently being worked on by the XBMC development team.[206]
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 in a similar fashion to Apple Mac OS X Dashboard Widgets and Microsoft Gadgets in Windows Sidebar. Python widget scripts allow non-developers to themselves create new add-ons functionality to XBMC, (using the easy to learn Python high-level scripting language), without knowledge of the complex C/C++ programming language that the rest of the XBMC software is written in. Current plugin scripts add-ons include functions like Internet-TV and movie-trailer browsers, cinema guides, and over-the-top content video streaming services like YouTube, Hulu, Netflix, Veoh, and Internet-radio-station browsers (example Pandora Radio), and much more.[13]
Other than the APIs (Application programming interfaces) available to 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, HTTP Web API (HTTPAPI), Web server, UPnP AV media server (with UPnP MediaServer ControlPoint, UPnP MediaRenderer DCP, UPnP RenderingControl DCP, and UPnP Remote User Interface server), and a multi-protocol Event Server[56] 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.[2][15][16][33][48][49][50][51]
The skin files are written in XAML, using a standard XML base, making theme-skinning and personal customization very accessible.[2][15][16][33][48][49][50][51]
<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</font> <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>
This is a list of software limitations currently in the XBMC source code.
XBMC won two SourceForge 2006 Community Choice Awards.[211] In the 2007 Community Choice Awards, XBMC was nominated finalist in six categories.[212] Also in the 2008 Community Choice Awards XBMC won an award for Best Project for Gamers.[213]
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.[4]
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).[4]
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.[149][150][214][215]
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.[40][41][42][43]
Color | Meaning |
---|---|
Red | Old releases |
Green | Current release |
Blue | Future releases |
Version | Release date | Codename | Significant changes | XBMC Live based on |
---|---|---|---|---|
1.0.0 | 29 June 2004 |
|
N/A | |
1.1.0 | 18 October 2004 |
|
N/A | |
2.0.0 | 29 September 2006 |
|
N/A | |
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 | Release Target Date: 2011 | Eden |
|
Ubuntu 11.10 (Oneiric Ocelot) |
12.0 | Release Target Date: 2012 | Frodo |
|
? |
The "XBMC Foundation", the non-profit organization behind the XBMC project, is legally represented by the SFLC (Software Freedom Law Center), 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 trade fairs and computer expos to tech demo XBMC, meeting with potential new developers, gain publicity to attract additional users, and more.[228][229][230][231]
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.[40] XBMC binaries for all other platforms that XBMC supports (Linux, Mac OS X, Windows, and iOS) are legal to distribute by the XBMC project.[3][4][22][23][44]
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. However, without membership in the DVD Forum, the project also cannot make XBMC play DVD-Video's encrypted with CSS (Content Scramble System) except by using the libdvdcss library, which code was created by reverse-engineering. 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. For example, many Linux distributions do not contain libdvdcss (for example Debian, Fedora, SUSE Linux, and Ubuntu) due to fears of running afoul of DMCA-style laws, however they still often provide the tools to let the users install it themselves.[13][44]
|
|