Kodi: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
Line 99: Line 99:


==Official Team-XBMC ports of XBMC==
==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 [[porting|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 [[Video Acceleration API|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.
Due to the dated hardware of the Xbox and a desire to expand the project's end-user and developer-base many official [[porting|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 [[Video Acceleration API|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 XBMC version 9.04 and later.


===XBMC platforms===
===XBMC platforms===

Revision as of 10:45, 30 November 2009

Template:Infobox Software

XBMC Media Center (formerly named Xbox Media Center) is a cross-platform free and open source media player and home entertainment system application software 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 and Live USB version referred to as "XBMC Live".[1][2]

XBMC supports most common audio, video, and image formats, playlists, audio visualizations, slideshows, weather 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 DVR/PVR TV-recording functionality or an EPG TV-Guide interface of its own, it does however offer the possibility to integrate such functionality through third-party plugins.

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, 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 source code as a whole is distributed under GPL (GNU General Public License). 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.

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 release included support for more media types, file types, container formats, as well as video playback of Nullsoft streaming videos and karaoke support (CD-G).

After two years of heavy development, XBMC announced a stable point final release of XBMC 2.0.0 on 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.

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.

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.10 etc.

Features

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.

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:

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' supports 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.

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.

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 (Nintendo 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.

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.

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.

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.

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.

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.

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 known as "PMIII" or "PM3". Many third-party skins exist and while some are originals with unique designs, most are 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, and others.

Xbox specific features and functions

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-lives, 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.

XLink Kai (Xbox Live online-gaming alternative)

XBMC for Xbox formerly had a XLink Kai front-end integrated to control that client, but that has been removed in more recent builds.

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 XBMC version 9.04 and later.

XBMC platforms

XBMC Live

XBMC Live is a free Linux distribution providing a complete packaged media center software suite for personal computers. XBMC Live uses XBMC Media Center for all 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 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.

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 (Linux based) embedded operating system[1][2]. When installed onto a USB flash drive or 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 only a Live CD booting from a CD-ROM disc as they are read-only and any changes settings are only temporary saved until the system is rebooted.

XBMC for Linux

XBMC for Linux is primarily developed for Ubuntu Linux and XBMC's developers' own "XBMC Live" (Live CD Linux distribution prepackaged with XBMC as an preconfigued 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. XBMC for Linux is currently the only version to support GPU hardware accelerated video decoding, this is achieved via VDPAU. 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 RPM packages for Debian.

XBMC for Mac

XBMC for Mac runs natively on Mac OS X (Leopard, Tiger), as well as on the Apple TV.

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.

XBMC for Xbox

File:Mc360-screenshot-1.jpg
MC360 skin for XBMC displaying the media blade

XBMC for Xbox. At present, the latest 'stable' version of XBMC for Xbox is 9.04 point-release version (codename: "Babylon") which was released on May 06, 2009. 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.

Programming and developing

XBMC is a non-profit open source 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.

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/x86-64 or PowerPC CPU based. In order to allow for smooth playback of 1080p high definition content without dropping frames, an Intel Core 2 Duo 2.0 GHz processor or better is required when decoding purely using the CPU, though hardware accelerated video decoding using VDPAU is supported in XBMC 9.04 (and later) under Linux/Unix on Nvidia graphics hardware.

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: neither 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.

Xbox embedded operating system

  • The Xbox does not have an operating system per-se, instead it only has a basic BIOS
    • Everything else must go into the XBMC executable and its (XDK and own-made) libraries
  • 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

Compiling XBMC for the Xbox

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.

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 now supports Windows, Linux, and OSX, with the first Alpha made available on June 16, 2008.[6]

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

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 this Mac OS X port of XBMC was informally known as "OSXBMC"), however when leaving the original XBMC project Elan said that he would still try to continue to collaborate with most Team-XBMC members behind the scenes and try to keep Plex skinning engine compatible with XBMC skins.[8]

Voddler

Voddler is a commercial online Movies and TV Show video on demand streaming service and accompanying software application with media player client, allowing registered users to search and stream movies and TV Shows, similar to Spotify and Grooveshark but for videos. The program/service in its ad-driven version is only available in parts of western Europe during the ongoing beta program although the subscription model should be available in almost all countries. Voddler's media player software is called "Voddler Player" and it is based on XBMC Media Center open source code, which GUI interface it uses as its application framework[9][10][11] [12][13].

Limitations

Cross-platform (software) limitations

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

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, or 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 <-- this is incorrect, the Xbox can play MPEG-4 ASP at resolutions of 1024x544 at least (with some dropped frames, which is normal) -->.(also known as HRHD resolution).

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.

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.

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.

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.

Web Scraping

XBMC has the built-in optional function to automatically download meta data information and artwork online through its scrapers (ie. web scraping sites like IMDb, TheMovieDB, TheTVDB, freedb, Discogs, Allmusic etc.), and there could possible be some legal issues associated with web scraping on some of the web sites that XBMC has the ability to scrape. Web scraping may be against the terms of use of some websites, however the enforceability of these terms is unclear.[14]

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

See also

Template:Portal

References

Template:Reflist

External links

Official sites

Unofficial sites

Scripts, plugins, and skins

Scripts

  • xbmcscripts.com (Python scripts which add additional features and functionality to XBMC)

Plugins

Skins

Reviews

Template:Linux-distro

de:Xbox Media Center es:XBMC fr:XBMC Media Center it:Xbox Media Center nl:XBMC no:Xbox Media Center pl:XBMC fi:Xbox Media Center sv:XBMC