XBMC
From Wikipedia, the free encyclopedia
XBMC Home Screen |
|
Developed by | Team XBMC |
---|---|
Preview release | Neutral build from SVN / Nightly (codename: Babylon) |
Written in | C++ |
Operating system | Xbox, Microsoft Windows, Linux, Mac OS X, and Apple TV OS |
Platform | x86 architecture |
Available in | International (multiple languages) |
Development status | Active |
Type | media center, Media player |
License | GNU GPL |
Website | xbmc.org |
XBMC Media Center (formerly named "XBox Media Center") is a cross-platform free and open source software media-player and entertainment hub with a 10-foot user interface design for the living-room TV. It was originally created for the first-generation Xbox game-console, but is now available for the Linux, Mac OS X (Leopard, Tiger, Apple TV), and Microsoft Windows operating systems. There is also a bootable Live CD version referred to as "XBMC Live"[1][2]
XBMC supports most common audio, video, and image formats, playlists, audio visalizations, slideshows, weather reporting, and third-party plugins. It is network-capable (internet and LAN shares). Unlike the commercial media center software like Windows Media Center from Microsoft, or the also free media center software like MediaPortal and MythTV, XBMC Media Center has as of yet no PVR TV-recording and EPG TV-Guide functionality of its own, however it does offers the possibility to integrate such functionality through third-party plugins.
Through its plugin system which is based on Python programming language, XBMC is expandable via add-ons that include features such as television program guides, YouTube, Hulu, Veoh, online movie trailer support, and SHOUTcast/Podcast streaming. XBMC also functions as a gaming platform by allowing users to play mini-games developed with Python, on any operating system. In addition, the Xbox version of XBMC contains the ability to launch console games, and homebrew applications such as emulators.
XBMC as a whole is distributed under the GNU General Public License (with a few libraries used by XBMC licensed under the LGPL). XBMC is not produced, endorsed, or supported by Microsoft, which means that XBMC for Xbox requires a modchip or softmod exploit, or reflashing the Xbox onboard BIOS EEPROM chip with a modified BIOS.
[edit] History
XBMC Media Center is the successor to the popular Xbox Media Player (XBMP) software. Xbox Media Player development stopped on December 13, 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 June 29, 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. Some new things in XBMC 1.0.0 included the addition of the Filezilla FTP Server, DHCP Support, a newer version of MPlayer was packaged and the embedded Python was given the ability to draw interface elements.
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 October 18, 2004. This released included support for more media, file, container formats, as well as video playback of Nullsoft streaming videos, karaoke support (CD-G).
After two years of heavy development, XBMC announced a stable point final release of XBMC 2.0.0 on September 29, 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 November 12, 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. Development on the SVN Trunk is continuing which is currently 'pre-2.1', and once it goes through the bug bash and feature lockdown process will become XBMC 2.1.0.
On May 29, 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.
[edit] Features
[edit] Audio/video 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) shares, XBMSP (Xbox Media Stream Protocol) shares, or stream iTunes-shares via DAAP. XBMC can also take advantage of the Xbox's Ethernet network port and a broadband Internet connection if available, using themoviedb.org or imdb.com to obtain thumbnails and reviews on movies, thetvdb.com for TV Show posters and episode plots, CDDB (via FreeDB) for Audio-CD track-listings), and album-thumbnails via AMG, it can stream Internet-video-streams, and play Internet-radio-stations (such as SHOUTcast). XBMC also includes the option to submit music usage statistics to Last.fm and a weather-forecast (via weather.com). 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.
[edit] Format support
XBMC can be used to play/view all common multimedia formats. It can decode these in software and optionally pass-through AC3/DTS audio from movies directly to S/PDIF digital output to an external audio-amplifier/receiver for decoding.
- Supported formats:
- Physical media: CDs, DVDs, DVD-Video, Video CDs (including VCD/SVCD/XVCD), Audio-CD (CDDA), USB Flash Drives, and Hard Disk Drives
- Network/Internet protocols: UPnP, SMB/SAMBA/CIFS, XBMSP, DAAP, HTTP, HTTPS, FTP, RTSP (RTSPU, RTSPT), MMS (MMSU, MMST), RTMP, Podcasting, TCP, UDP, SFTP, RTP
- Container formats: AVI, MPEG, WMV, ASF, FLV, MKV, MOV, MP4, M4A, AAC, NUT, Ogg, OGM, RealMedia RAM/RM/RV/RA/RMVB, 3gp, VIVO, PVA, NUV, NSV, NSA, FLI, FLC, and DVR-MS (beta support)
- Video formats: MPEG-1, MPEG-2, H.263, MPEG-4 SP and ASP, MPEG-4 AVC (H.264), HuffYUV, Indeo, MJPEG, RealVideo, RMVB, QuickTime, Sorenson, WMV, Cinepak,
- Audio formats: MIDI, AIFF, WAV/WAVE, MP2, MP3, AAC, AACplus, AC3, DTS, ALAC, AMR, FLAC, Monkey's Audio (APE), RealAudio, SHN, WavPack, MPC/Musepack/Mpeg+, Speex, Vorbis and WMA.
- Digital picture/image formats: RAW image formats, BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX and Targa/TGA
- Subtitle formats: AQTitle, ASS/SSA, CC, JACOsub, MicroDVD, MPsub, OGM, PJS, RT, SMI, SRT, SUB, VOBsub, VPlayer
- Metadata tags: APEv1, APEv2, ID3 (ID3v1 and ID3v2), ID666 and Vorbis comments for audio file formats, EXIF and IPTC (including GeoTagging) for image file formats
[edit] Video playback in detail
XBMC uses two different multimedia player 'cores' for video-playback. The first is a ported version of the open source cross-platform player, MPlayer, which is known for playing practically all common media-formats. XBMC handles all codecs and containers normally supported by MPlayer (all FFmpeg supported codecs and also several external ones with the help of proprietary DLL-files.
The second video-player 'core' for video-playback is an in-house developed DVD-player for DVD-Video movies, including the support of DVD-menus, (based on the free open source libraries code libdvdcss and libdvdnav). This video-player 'core' support all the FFmpeg codecs, and in addition the MPEG-2 video codec, and the audio codecs DTS and AC3 (based on the open source code libraries: libmpeg2, libdca/libdts, and liba52/libac3 respectively). One relatively unusual feature of this DVD-player core is the capability to on-the-fly parse and play DVD-Video movies that are stored in ISO and IMG DVD-images, DVD-Video movies that are stored as DVD-Video (IFO/VOB/BUP) files on a harddrive or network-share, and also ISO and IMG DVD-images directly from RAR and ZIP archives.
[edit] 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 (eg. movies and recorded TV Shows) themselves. This information can be obtained in various ways, like through scrapers (ie. 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 you to browse your video content by things like; Genre, Title, Year, Actors and Directors.
[edit] Audio playback in detail
For audio playback, XBMC includes its own in-house developed audio-player: PAPlayer (Psycho-Acoustic Audio Player). Some of this audio-player core's most notable features are on-the-fly resampling to the Xbox's native audio frequency (48 kHz), gapless playback, crossfading, Replay Gain, cue sheet and Ogg Chapter support. It handles a very large variety of audio file-formats: MP2, MP3, Vorbis, Musepack, AAC, AACplus (AAC+), APE, FLAC, WavPack, Shorten, AIFF, WAV, DTS, AC3, CDDA, WMA, IT, S3M, MOD (Amiga Module), XM, NSF (NES Sound Format), SPC (SNES), GYM (Genesis), SID (Commodore 64), Adlib, YM (Atari ST), ADPCM (GameCube). It also supports many different tagging standards: APEv1, APEv2, ID3v1, ID3v2, ID666 and Vorbis comments. 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.
[edit] Music Library
The Music Library, one of the XBMC metadata databases, is another key feature of XBMC. It allows the organization of your music collection to allow searching, and creating smart playlists by information stored in your 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.
[edit] 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 you view/read, browse and zoom the pictures of comics pages these contain without uncompressing them first.
[edit] Python scripts (widgets/gadgets) plugins
XBMC features a Python Scripts Engine and WindowXML application framework (a XML-based widget toolkit for 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 normal users to add new functionality to XBMC themselves, (using the easy to learn Python programming language), without knowledge of the complex C/C++ programming language. Current plugin scripts include functions like Internet-TV and movie-trailer browsers, weather forecast and cinemaguides, TV-guides (EPG), e-mail clients, instant messaging, train-timetables, scripts to front-end control PVR software and hardware (like: MediaPortal, MythTV, TiVo, ReplayTV, Dreambox/DBox2), Internet-radio-station browsers (example SHOUTcast, Xm radio, Sirius Satellite Radio), 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.
[edit] Dashboard function (game/application launcher)
XBMC has a "My Programs" section which functions as a replacement dashboard to launch Xbox games (retail and homebrew) and applications/emulator directly off the Xbox built-in harddrive, all from a nice GUI with thumbnail and list options. This fully replaces the original Xbox Dashboard from Microsoft, and with the exception of flashing new BIOS to an Xbox modchip it also features all extra functions that other homebrew dashboards have.
[edit] Language support
XBMC also includes support for many different languages. XBMC's structure is such that if your language is not available, or not up-to-date, then you can easily make your translation by editing an XML-file, which can be submitted to the project's database for use by others. Currently the existing supported languages are Brazilian Portuguese, Catalan, Simplified Chinese, Traditional Chinese, Croatian, Czech, Danish, Dutch, English, Esperanto, Finnish, French, German, Greek, Hebrew, Hungarian, Icelandic, Italian, Japanese, Korean, Maltese, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovene, Spanish, Swedish and Turkish.
[edit] Skins and skinning-engine
A mainstay of Xbox homebrew applications is skin-ability in the tradition of case modifications. XBMC is noted as having a very flexible GUI toolkit and robust framework for its GUI, using a standard XML base, making theme-skinning and personal customization very accessible. Users can create their own skin (or simply modify an existing skin) and share it with others via public websites dedicated for Xbox and XBMC skins trading. "Project Mayhem" is the official skin; which is now in its third version, commonly know as "PMIII" or "PM3". Many third-party skins exist and while some are original designs, most are clones or an exact replica of other multimedia software, 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, and others.
[edit] Xbox specific features and functions
[edit] XBMC Trainer Support (game cheats mods)
XBMC for Xbox also has the ability to use and apply Xbox Trainer Files. Trainers are small files that allow for in game value modification (such as cheat code) through altering retail functions in game values by way of using TSR (Terminate and Stay Resident) keys. There are many things that can be modified including ammunition, extra-lifes, or even how high a character can jump. Trainer support in XBMC for Xbox was achieved through collaboration with Team Xored. This collaboration began in December 2005 and came to fruition in January 2006 by successfully integrating the Team Xored Trainer Engine into XBMC. XBMC for Xbox can run trainers with the following file extensions: *.ETM and *.XBTF.
[edit] XLink Kai (Xbox Live online-gaming alternative)
XBMC for Xbox has an integrated front-end for an Xbox Live alternative (called "XLink Kai"), an online gaming platform, enabling you to both control the Kai engine and play system-link/LAN-enabled Xbox games online, without connecting to the Xbox Live service, straight from your console.
[edit] Official Team-XBMC ports of XBMC
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. XBMC for Xbox, Mac, and Windows does not currently support GPU hardware video decoding, thus placing the entire load of the video decoding process on the system's CPU, however the Linux version does support VDPAU (GPU hardware video decoding) as of 9.04 Alpha 1.
[edit] XBMC platforms
- XBMC Live
- XBMC for Linux
- XBMC for Mac
- XBMC for Windows
- Compatible with Windows XP and Windows Vista.
- XBMC for Xbox
[edit] XBMC Live
XBMC Live is a free Linux distribution providing a media center software suite for personal computers. XBMC Live uses XBMC Media Center for media playback and is implemented as a bootable Live CD[1][2]. As a Live CD, the system does not need to be permanently installed to a hard disk drive, as most modern operating systems would. Instead, the computer can be booted with the XBMC Live boot 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, for users who wish to repurpose older computers as media centers, and for those seeking a free alternative to Windows XP Media Center Edition, or for those who simply want to try out the XBMC Media Center software for the first time without having to install anything. 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 Live CD to either a USB flash drive or to an internal hard disk drive and comes with a complete (Linux based) embedded operating system[1][2].
[edit] XBMC for Linux
XBMC for Linux is currently primarily developed for Ubuntu Linux and XBMC's developers own XBMC Live (Live CD Linux distribution). 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. This is currently the only version to support GPU Video decoding.
[edit] XBMC for Mac
XBMC for Mac runs natively on Mac OS X (Leopard, Tiger), as well as on the Apple TV.
[edit] XBMC for Windows
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 not optimized for that architecture so there is no performance gain when running on 64-bit Windows.
[edit] XBMC for Xbox
XBMC for Xbox. At present, the latest 'stable' version of XBMC for Xbox is 8.10 point-release version (codename: "Atlantis") which was released on November 13, 2008. Since XBMC for Xbox is an open source software program, its development source code is stored on a publicly accessible Subversion server. This code is constantly updated on a daily basis by developers so the Subversion repository often contains more features than the most recent 'stable' release. Accordingly, executable builds from the Subversion repository are often released by third-parties. 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.
XBMC for Xbox is not an authorized/signed Microsoft product, therefore a modification of the Xbox is required in order to run XBMC on a 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.
[edit] Programming and developing
XBMC is a non-profit open source hobby project that is developed only by volunteers in their spare-time without any monetary gain. The team of developers working on XBMC encourage anyone to submit their own source code patches for new features and functions, improve existing ones, or fix bugs.
XBMC is a cross-platform software application programmed in C++ (and some Assembly), XBMC uses SDL (Simple DirectMedia Layer) multimedia framework and OpenGL graphics rendering under XBMC for Linux, Mac OS X, and Microsoft Windows based operating system, however XBMC for Xbox instead uses Microsoft DirectX multimedia framework and Direct3D rendering as the Xbox does not support OpenGL. Some of the XBMC libraries are also written in C programming-language, but are used with a C++ wrapper and loaded via XBMC's own DLL loader.
[edit] Hardware requirements
XBMC has greater basic hardware requirements than a traditional 2D GUI toolkit, but this basically means that it needs 3D capable GPU graphics hardware controller for all rendering; on the other hand, powerful 3D GPU chips are common today in most modern computers. Other than that, XBMC was designed to be resource efficient and runs extremely well on what (by Intel Atom standards) are relatively underpowered OpenGL 1.4 GLSL capable systems that are x86 or x86-64 CPU based. In order to allow for smooth playback of 1080p high definition content without dropping frames, an Intel Core 2 Duo 2.2 GHz processor or better is required.
[edit] Xbox development environment
The Xbox BIOS is based on Win32, but does not have all of the resources or capabilities of a Windows NT operating system, (for example: DirectShow, registry, nor DLL are natively supported on the Xbox). Because of the constraints on the hardware and environment of the Xbox all software development for XBMC are focused on reserving the limited resources that exist, the main hindrance of which is the amount of available RAM at any one time.
[edit] Xbox embedded operating system
- The Xbox does not have an operating system per-se, instead it only has a basic BIOS
- Only a single process-thread (executable program) can run at any one time on the Xbox
- Xbox hard drive file-system (FATX) has many limitations, among them a filename maximum of 42-characters
- The Xbox has four USB ports but the Xbox SDK (a.k.a. XDK) does not contain a full USB-stack
- if one wanted to add support for USB hardware-devices one would have to make it for oneself
[edit] Compiling XBMC for the Xbox
- Xbox SDK (a.k.a. XDK) Software Development Kit (with libraries) is required to compile XBMC
- Also required to compile (and program in) XBMC is Microsoft Visual Studio .NET version 7.1
- XBMC's code also contain four multimedia-player cores which have to be compiled separately
[edit] Third-party Forks of XBMC
XBMC Media Center source code have over the years become a popular project to fork and use as a 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 Boxee, MediaPortal, and Plex are separate projects which have based their software on XBMC's source code. Most of these third-party forks still help submit bug fixes and new features back upstream to the original XBMC project.
[edit] Boxee
Boxee is a free and open source software cross-platform media center and entertainment hub with social networking features that is a fork of XBMC software[3][4][5]. Boxee is still under development and is currently only available as Alpha releases for Mac OS X[6] and Ubuntu[7], with the first Alpha made available on the 16th of June 2008[6].
[edit] MediaPortal
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, one of the 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 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.[8]
[edit] Plex
On May 21, 2008, Elan Feingold, the Team-XBMC member who first started the Mac OS X port of XBMC, left the original XBMC project. He forked the source code and started a new free and open source software project called Plex (previously informally known as "OSXBMC") but said that he will continue to collaborate with most Team-XBMC members behind the scenes and try to keep Plex skinning engine compatible with XBMC skins.[9]
[edit] Limitations
[edit] Cross-platform (software) limitations
This is a list of current software limitations in the XBMC code.
- XBMC can not play any audio/video files protected/encrypted with DRM (Digital Rights Management), such as music purchased from the iTunes Music Store, MSN Music or Audible.com. Workaround if legal in your country: Before playing the file in XBMC, first remove any DRM protection/encryption from the song or video with a third-party program before you try to play it, e.g: hymn, FreeMe, FairUse4WM, DRM2WMV or DRMDBG).
- The ISO 9660 and UDF reader classes in XBMC do not support reading multisession authored CD/DVD-media. Thus, XBMC can only read the first session of a multisession burnt CD or DVD media disc.
[edit] Xbox-specific limitations
This is a list of Xbox hardware and Xbox operating-system specific limitations that do not affect XBMC for Linux. Mac OS X, nor Windows.
- UDF (Universal Disk Format) file-system limitation: XBMC for Xbox only supports UDF version 1.02 (designed for DVD-Video media), which has a maximum file-size of 1 GB (meaning if you burn a DVD-media in a newer UDF version with a video that is larger than 1GB, XBMC will not be able to play that file), same goes for UDF/ISO hybrid formats (a.k.a. UDF Bridge format). Workaround: Burn all your CD/DVD-media in ISO 9660 format, which is the most common standard for recording CD/DVDs. Unfortunately ISO 9660 has a 2 GB file-size limitation, which cannot be bypassed.
- The Xbox built-in harddrive is formatted in FATX which has a 4 GB file-size limitation, and only supports file/folder-names up to 42 characters, a maximum of 255 in total file-structure character-depth and a maximum number of 4096 files/folders in a single subfolder, plus in the root of each partition, the maximum number of files/folders is 256. FAT does not support all ASCII characters in file/folder names (like for example < > = ? : ; " * + , / \|¤ &). XBMC will automatically rename any files/folders you transfer to the Xbox by these limitations. (None of these are XBMC issues that can be fixed as the limitation is in the Xbox itself). Workaround: Store your files/folders on your computer or a Network-Attached Storage (NAS) device/box which support SMB/CIFS, FTP or UPnP and share them over a local-area-network instead.
- The USB flash drive (USB key-drives/memory-keys) reader/writer class used by XBMC for Xbox currently has a few limitations as well. It is limited to USB flash drives and harddisks compatible with USB Mass Storage Device Class following the USB 1.1 standard, with a maximum size of 4 GB. It can read and write to FATX formatted flash drives, but can only read FAT12, FAT16 (including VFAT), and FAT32. NTFS formatted drives are not supported yet.
- With its 733 MHz Intel Pentium III-like CPU and 64MB shared memory, the Xbox has neither a fast enough CPU nor sufficient amounts of RAM to play 720p/1080i resolution HDTV video. However, XBMC can up-convert all standard definition movies and output them at 720p or 1080i.
- The Xbox is now able to play MPEG-4 AVC (H.264) encoded videos with CABAC and deblocking if the video-resolution is under 720x400 pixels. For instructions, click here. If videos are encoded without CABAC and deblocking, then the Xbox hardware can handle up to 720x576 pixels video-resolution. If encoding with MPEG-4 ASP, then the video's native-resolution can be anything up to 960x540 pixels (also known as HRHD resolution).
[edit] Reception
XBMC won two SourceForge 2006 Community Choice Awards; Best Multimedia Project and Best Game Project. In the 2007 Community Choice Awards, XBMC is a nominated finalist in six categories. Also in the 2008 Community Choice Awards XBMC won an award for Best Project for Gamers.
[edit] Legality
While XBMC's source code for all platforms is made publicly available by the developers under an open source (GNU GPL) license, the developers themselves are legally unable to distribute executable versions of XBMC for Xbox. This is because XBMC for Xbox requires Microsoft's commercial software development kit in order to compile. Thus, the only publicly available executable versions of XBMC for Xbox are from third parties, as a result, precompiled versions of XBMC for Xbox may be illegal to distribute in many countries around the world. XBMC binaries for all other platforms that XBMC supports (Linux, Mac OS X, and Windows) are however legal to distribute.
[edit] Copyright
The XBMC software is licensed under the GNU General Public License (GPL) by the developers, meaning they allow anybody to redistribute XBMC under extremely liberal conditions. However, in order to compile the Xbox build of XBMC into executable form, it is currently necessary to use the Microsoft XDK (Xbox Development Kit) which is only available to licensed developers and the resulting code may only be distributed by them (this does not apply to the Linux, Windows or Mac OS X ports of XBMC). Accordingly, code compiled with an unauthorized copy of the Xbox Development Kit may not be distributed legally. A third-party project called OpenXDK is concerned with producing a replacement for the Microsoft XDK. While this could potentially allow legal binaries of XBMC to be compiled, it would require significant changes to the XBMC source code.
For audio and video codecs which are not natively supported, XBMC provides a DLL loader forked from the "avifile" open source project which can load third-party made DLLs to decode unsupported formats. This is potentially legal if the user owns a licensed copy of the DLL. However, some third-party XBMC builds incorporate all available third-party DLLs that XBMC can support, and the redistribution of these without a license is copyright infringement.
[edit] Patents
For most popular video and audio codecs, XBMC includes native support through free and open source software libraries, such as LAME, faad, faac, libmpeg2, and libavcodec (from the FFmpeg project). Since these source code libraries are released under free and open source licenses they are legally redistributable. However, some of these compression method algorithms, such as the popular MP3 format, are in many countries protected by software patents. Without a licence, this could possibly make it illegal in certain countries to distribute compiled versions of XBMC which include support for these formats.
[edit] Other
XBMC also includes 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 reverse-engineered code. XBMC therefore uses the libdvdcss library, which was created by reverse-engineering. The legal status of libdvdcss is questionable in several nations. The distribution of executable versions of XBMC containing this code is likely to fall afoul of the 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.
[edit] See also
- Media center
- Home theater PC
- Boxee, media player with social networking aspects for Mac OS X and Linux, based on XBMC source code.
- MediaPortal, a media center written for Microsoft Windows initially based on forked XBMC code by one of the founders of XBMC.
- Plex, media center for Mac OS X (Leopard/Intel-based), based on forked XBMC for Mac source code.
- List of other software video players
- Comparison of (audio/video) media and DVD-Video players
- Comparison of PVR software packages
- List of multimedia (audio/video) codecs
[edit] References
- ^ a b c Luigi Capriotti (2008-09-18). "XBMC Live Atlantis Beta1!". xbmc.org. http://xbmc.org/lcapriotti/2008/09/18/xbmc-live-atlantis-beta1/.
- ^ a b c Luigi Capriotti (2008-11-15). "XBMC Live 8.10 (Atlantis) released". xbmc.org. http://xbmc.org/lcapriotti/2008/11/15/xbmc-live-810-atlantis-released/.
- ^ Adam Pash (2008-06-23). "Boxee Is XBMC with Newer Look and Social Flair". lifehacker. http://lifehacker.com/396382/boxee-is-xbmc-with-newer-look-and-social-flair.
- ^ Avner Ronen (2008-06-25). "boxee blog - why we made boxee social". Boxee. http://blog.boxee.tv/2008/06/25/why-we-made-boxee-social/.
- ^ Apple TV Hacks (2008-07-03). "Boxee mini review". appletvhacks.net. http://www.appletvhacks.net/2008/07/03/boxee-mini-review/55.
- ^ a b Avner Ronen (2008-06-18). "boxee for Mac first alpha release is available for download". Boxee. http://blog.boxee.tv/2008/06/16/boxee-for-mac-is-available-for-download/.
- ^ Tom Sella. "boxee blog - Linux version is available". Boxee. http://blog.boxee.tv/2008/07/22/linux-version-is-available.
- ^ Team-MediaPortal (2008-09-01). "MediaPortal History as told by Team-MediaPortal". Team-MediaPortal. http://www.team-mediaportal.com/about_mediaportal.html.
- ^ "Exodus". Plex. 2007-05-21. http://www.osxbmc.com/2008-05-21/exodus/. Retrieved on 2008-07-22.
[edit] External links
[edit] Official sites
- XBMC official website
- XBMC Community Forums
- XBMC Online Manual (Wiki)
- XBMC official IRC chat room (on freenode) (use an IRC client like mIRC to join the #xbmc channel)
[edit] Unofficial sites
- xbmc.nu - Swedish XBMC fan site and community
- xbmc.fr - French XBMC fan site and community
- xbmc.de - German XBMC fan site and community
- SoftMod Xbox for Free (Hot-swap Technique)
[edit] Scripts, plugins, and skins
[edit] Scripts
- xbmcscripts.com (Python scripts which add additional features and functionality to XBMC)
[edit] Plugins
- XBMC-Addons on Google Code (Addon plugins for XBMC)
[edit] Skins
- XBMC official skin development and download site
- XBMC Black Market - an unofficial XBMC skin download site
- allxboxskins.com - another unofficial XBMC skin download site (currently down?)
- AEON - "AEON" is a unique skin for XBMC (not available on any other skin download site*[Recently ported to MediaPortal])
- MediaStream - "MediaStream" is a unique skin for XBMC (not available on any other skin download site*[Recently ported to MediaPortal])
- SavvyGeek - Hosts compiled downloads of some but not all XBMC skins
[edit] Reviews
- XBMC against other FLOSS media center software comparison chart
- Review in Hardcore Gamer Magazine
- Review by tomshardware.com
- Review by tvharmony.com