XBMC4Xbox explained

XBMC4Xbox
Developer:XBMC4Xbox Development Team
Latest Release Version:3.5.3
Latest Release Date:[1]
Programming Language:C++ (with Python Scripts as plugins)
Genre:Media center, Media player, Digital media receiver
License:GNU GPLv2

XBMC4Xbox is a free and open source media player software made solely for the first-generation Xbox video-game console. The software was forked from the XBMC project (now known as Kodi and formerly known as Xbox Media Player) after XBMC removed support for the Xbox console.[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Other than the audio / video playback and media center functionality, XBMC4Xbox also has the ability to catalog and launch original Xbox games, and homebrew applications such as console emulators from the Xbox's built-in harddrive.

Since the XBMC4Xbox is homebrew software that is not endorsed or supported by Microsoft in any way, it means XBMC4Xbox requires a modchip or softmod exploit installed to run on the Xbox game-console. Binary builds of XBMC can also not be legally distributed by the XBMC4Xbox project members, so all releases of binary-builds are made by independent third-parties who compile and distribute unofficial versions of the application.[13] [14] [15] [16]

Overview

XBMC4XBox's 10-foot user interface is designed for the living-room TV, and the large icons and text in the graphical user interface allows the user to easily manage most common digital music, video, image, podcasts, and playlists formats from a computer, optical disk, local network, and the internet using an Xbox's game-controller or the Xbox DVD-Kit remote control. It also has a skinnable and user-configurable interface and plugin support.[17] [18] XBMC4Xbox does also just like XBMC feature; audio visualizations, slideshows, weather forecasts reporting, and a Python-based API for third-party plugins. Add-ons such as skins and plugins for XBMC are not out-of-the-box compatible with XBMC4Xbox due to differences in their API's which means that all XBMC addons have to be ported in order to specifically work with XBMC4Xbox.[12] [16] [18] [19] [20] [21] [22]

The software is not an authorized/signed Microsoft product, therefore a modification of the Xbox is required in order to run XBMC4Xbox on an Xbox game-console. On a modded Xbox, XBMC4Xbox can be run as an application (like any Xbox game), or as a dashboard that appears directly when the Xbox is turned on.[13] [14] [15] [16] Since XBMC4Xbox is an open source software program, its development source code is 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 XBMC4Xbox project.[14] [15]

XBMC4Xbox source code is distributed as open source under GPL (GNU General Public License),[16] and is community developed by a group of volunteering people from different parts of the world working on XBMC4Xbox for free in their spare time. The source code for XBMC4Xbox is mostly updated on a daily basis by developers in a public subversion repository.[23]

Features

This is a description of the unique features and functions of the XBMC4Xbox fork for the Xbox that are not available or different in the original XBMC software from which it was forked:

Xbox dashboard function (game and application launcher)

XBMC4Xbox 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 GUI with thumbnail and list options. This replaces the original Xbox Dashboard from Microsoft, and with the exception of flashing new BIOS to an Xbox modchip it also features many extra functions that other homebrew dashboards have.[15]

XBMC4Xbox Trainer Support (Xbox game cheats mods)

XBMC4Xbox 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 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 XBMC4Xbox 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 XBMC4Xbox. XBMC4Xbox can run trainers with the following file extensions: *.ETM and *.XBTF[15]

XLink Kai (Xbox Live online-gaming alternative)

XBMC4Xbox previously had an XLink Kai front-end integrated to control that client, but that has been removed in more recent builds.[15]

Audio and video playback handling

XBMC4Xbox can be used to play/view all common multimedia formats. However, it cannot playback most native 720p and 1080p video files due to Xbox hardware limitations. XBMC4Xbox can upscale the resolution of many standard definition videos.

XBMC4Xbox multimedia playback cores

XBMC4Xbox uses two different multimedia video player 'cores' for video-playback. The first core, dubbed "DVDPlayer", is XBMC's in-house developed video-playback core with support for DVD-Video movies and is based on libmpeg2 and libmad for MPEG decoding yet FFmpeg for media-container demuxing, splitting, as well as decoding other audio formats. Respective audio decoding is handled by liba52 for ac3 audio decoding and libdts / libdca for DTS audio. Also included is support for DVD-menus through libdvdnav and dvdread.[19] One relatively unusual feature of this DVD-player core is the capability to on-the-fly pause and play DVD-Video movies that are stored in ISO and IMG DVD-images or DVD-Video (IFO/VOB/BUP) images (even directly from uncompressed RAR and ZIP archives), from either local harddrive storage or network-share storage.

The second video-player 'core' for video-playback is a ported version of the open-source cross-platform player, MPlayer, which today is only used as a backup player in XBMC4Xbox. MPlayer which is known for playing practically all common media-formats and XBMC4Xbox handles all codecs and containers normally supported by MPlayer, (which is all FFmpeg supported codecs and also several external ones with the help of proprietary DLL-files.[14] [19]

The third 'core', PAPlayer (abbreviated from Psycho-acoustic Audio Player), only supports audio playback. PAPlayer was also developed by the XBMC team, before the projects split, in 2005. The PAPlayer supports more codecs than MPlayer, and is therefore the default audio playback 'core'. Some file formats that don't work with MPlayer play with PAPlayer and there are less bugs (e.g. the visualisation bug in MPlayer, where visualisations 'break' after a file has been played). After the previous XBMC4Xbox site went down, the wiki was lost, so there is no record for supported filetypes for PAPlayer in XBMC4Xbox. However, XBMC.org has a page on PAPlayer supported formats.

Programming and development

XBMC4Xbox is a software application programmed in C++, XBMC4Xbox uses Microsoft DirectX multimedia framework and Direct3D rendering, (as the Xbox does not support OpenGL).[19]

The Xbox SDK (Xbox Development Kit, a.k.a. XDK) software development kit (with libraries) is required to compile XBMC4Xbox.[15] Also required to compile (and program in) XBMC4Xbox is the older Microsoft Visual Studio .NET version 7.1[14]

According to Microsoft, it is a common misconception that the Xbox uses a modified Windows 2000 kernel, instead they claim that the Xbox operating system was built from scratch but implements a subset of Windows APIs.[24] The idea that it does, indeed, run a modified copy of the Windows kernel still persists in the community, however what is known for sure is that the Xbox's kernel works like a BIOS and is Win32 based, but does not have all of the resources or capabilities of a full Windows NT based operating system, (for example: neither DirectShow, registry, nor DLL are natively supported on the Xbox), and because of the constraints on the hardware and environment of the Xbox, all software development of XBMC4Xbox for the Xbox is focused on reserving the limited resources that exist, the main hindrance of which is the amount of available RAM at any one time.[14]

XBMC4Xbox software and related Xbox hardware limitations

History

See also: XBMC. As the successor to Xbox Media Player (XBMP), XboxMediaCenter (XBMC), was ported to other platforms and architectures, becoming XBMC or XBMC Media Center thus losing the Xbox connection. On May 27, 2010, to differentiate the now mainline multiplatform XBMC from the original Xbox, 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.[1] [5] [6] [8]

Apart from the name the next noticeable thing is the changed version numbering. The last official release of XBMC for Xbox was 9.11 Camelot, a release which at the time was more closely connected to the multiplatform XBMC that had been in development for some time. The XBMC4Xbox project has since reverted to version numbering that does not include a reference to a date for release. Instead it is now uses a simpler major.minor version system, which is what was used before Xbox Media Center became just XBMC. New releases are now made available when they are ready rather than having set release dates.

In previous years before XBMC4Xbox split from XBMC, there was less developer interest in the Xbox version of XBMC, as the new multiplatform version of XBMC became the primary concern for the XBMC team. Only one developer (Arnova) still looked after the Xbox version. Lack of interest from the XBMC developers got to a point where a new home was needed for the Xbox codebase, and in 2010 it was moved to SourceForge.

A new community site had already been set up at xbmc4xbox.org and was chosen to replace the forums on xbmc.org where XboxX discussion was no longer relevant, as xbmc.org only deals with the platforms that they actively develop.[26]

Legality and copyright

XBMCXbox software is just like XBMC licensed under the GNU General Public License (GPL) by its developers, meaning they allow anybody to redistribute XBMCXbox source code under very liberal conditions. However, in order to compile the Xbox build of XBMCXbox into executable form, it is currently necessary to use Microsoft's proprietary XDK (Xbox Development Kit) which is only available to licensed developers and the resulting code may only be legally distributed by Microsoft. Accordingly, code compiled with an unauthorized copy of the Xbox Development Kit may not be legally distributed by anyone other than Microsoft.

So while XBMC4Xbox's source code 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 XBMC4Xbox. This is because XBMC4Xbox requires Microsoft's proprietary software development kit in order to compile. Thus, the only publicly available executable versions of XBMC4Xbox are from third parties, as a result, pre-compiled versions of XBMC4Xbox may be illegal to distribute in many countries around the world.[15]

Also for audio and video codecs which are not natively supported via FFmpeg, XBMC4Xbox via MPlayer provides a DLL loader which can load third-party made audio and video codec DLLs to decode unsupported formats. This is potentially legal if the user owns a licensed copy of the DLL. However, some third-party XBMC4Xbox builds incorporate all available third-party DLLs that XBMC4Xbox can support, and the redistribution of these without a license is copyright infringement.[27]

See also

External links

Notes and References

  1. Web site: XBMC4Xbox 3.5.3 is out. 27 February 2016.
  2. Web site: XBMC4XBOX » What a Week of XBMC for Xbox History… . June 21, 2010 . dead . https://web.archive.org/web/20100610171643/http://www.xbmc4xbox.org/what-a-week-of-xbmc-for-xbox-history . June 10, 2010 . What A Week Of XBMC For Xbox History (XBMC4Xbox.org
  3. Web site: Xbox no longer part of XBMC - Pulse . June 21, 2010 . dead . https://web.archive.org/web/20100531070444/http://www.cnet.com.au/xbox-no-longer-part-of-xbmc-339303489.htm . May 31, 2010 . mdy-all . Xbox no longer part of XBMC (CNET Pulse)
  4. Web site: Xbox-Scene News: Team XBMC says Farewell to Original Xbox . June 21, 2010 . dead . https://web.archive.org/web/20100606143505/http://www.xbox-scene.com/xbox1data/sep/EkZVplAEykJXmYUFKb.php . June 6, 2010 . Team XBMC says Farewell to Original Xbox (xbox-scene.com)
  5. Web site: Farewell XBOX . 2010-05-27 . theuni . xbmc.org.
  6. Web site: XBMC Discontinues Xbox Support . 2010-05-28 . Timothy . Slashdot.
  7. Web site: XBMC bids farewell to its progenitor: the original Xbox . 2010-05-31 . Sean Hollister . Engadget.
  8. Web site: XBMC Drops Support for the Original Xbox . 2010-05-28 . Adam Pash . Lifehacker.
  9. https://web.archive.org/web/20131208115107/http://www.h-online.com/open/news/item/XBMC-drops-support-for-XBOX-1010421.html XBMC drops support for XBOX (The H Open Source)
  10. http://www.instantfundas.com/2010/06/xbmc-will-no-longer-support-xbox.html XBMC Media Center will no longer support Xbox (instant fundas)
  11. https://archive.today/20110706203930/http://www.stolteclan.ca/2010/05/27/xbmc-for-the-xbox-is-dead-kind-of/
  12. Web site: XBMC is the best media center application. Period. . 2009-08-08 . Kaushik . instant fundas.
  13. Web site: XboxMediaCenter Review . 2004-09-16 . Timmeh . TVHarmony.com, Inc. . 2010-05-31 . https://web.archive.org/web/20160303165140/http://www.tvharmony.com/blog/archives/2004/09/xboxmediacenter.html . 2016-03-03 . dead .
  14. Web site: Modding The Xbox Into The Ultimate Multimedia Center . 2004-11-05 . Patrick Schmid . Tom's Hardware.
  15. Web site: Hardcore GamerĀ® Download . May 31, 2010 . dead . https://web.archive.org/web/20081118184719/http://www.o-sd.com/hardcoregamermag/publicPDF/HGM_Aug.pdf . November 18, 2008 . Review of XBMC in Hardcore Gamer Magazine
  16. Web site: 10 most prominent FLOSS projects compared . 2008-09-18 . Telematics Freedom Foundation . 2010-05-31 . https://web.archive.org/web/20120910004110/http://telematicsfreedom.org/en/flossmediacenter . 2012-09-10 . dead .
  17. Web site: Customize XBMC with These Five Awesome Skins . 2009-04-05 . Jason Fitzpatrick . Lifehacker.
  18. Web site: XBMC 9.11 makes your open source home theater look shinier . 2009-12-29 . Ryan Paul . Ars Technica.
  19. Web site: XBMC 9.04 delivers impressive media center experience . 2009-05-10 . Ryan Paul . Ars Technica.
  20. https://code.google.com/p/xbmc-addons/ XBMC-Addons on Google Code (Addon plugins for XBMC)
  21. http://www.xbmczone.com/ XBMC Zone (third-party Addon extensions for XBMC4Xbox)
  22. http://passion-xbmc.org/ Passion XBMC (third-party Addon extensions for XBMC and XBMC4Xbox)
  23. http://xbmcsvn.com xbmcsvn.com - Nightly Unofficial Builds of XBMC4Xbox
  24. Web site: Xbox Team: The Xbox Operating System. 2008-05-29. Shaheen Gandhi.
  25. Web site: How to Properly Encode H.264 Video Using Megui for an Xbox Running Xbmc . wikiHow . 2009-01-14 . 2010-02-13.
  26. http://www.xbmc4xbox.org/xbmc4xbox-3-0-1-stable-released XBMC4XBOX 3.0.1 Stable Released!
  27. Web site: XBMC Architecture Overview by Telematics Freedom Foundation . 2009-10-28 . Telematics Freedom Foundation . dead . https://web.archive.org/web/20150122131638/http://www.telematicsfreedom.org/en/2009/10/28/xbmc-architecture-summary . January 22, 2015 .