Developer(s) | XBMC4Xbox Development Team |
---|---|
Initial release | 27 May 2010 |
Stable release | 3.5.3 / 27 February 2016 [1] |
Written in | C++ (with Python Scripts as plugins) |
Platform | First generation Xbox |
Type | Media center, Media player, Digital media receiver |
License | GNU GPLv2 |
Website | xbmc4xbox |
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]
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]
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:
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 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]
XBMC4Xbox previously had an XLink Kai front-end integrated to control that client, but that has been removed in more recent builds. [15]
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 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.
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]
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]
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]
Windows Media Audio (WMA) is a series of audio codecs and their corresponding audio coding formats developed by Microsoft. It is a proprietary technology that forms part of the Windows Media framework. WMA consists of four distinct codecs. The original WMA codec, known simply as WMA, was conceived as a competitor to the popular MP3 and RealAudio codecs. WMA Pro, a newer and more advanced codec, supports multichannel and high-resolution audio. A lossless codec, WMA Lossless, compresses audio data without loss of audio fidelity. WMA Voice, targeted at voice content, applies compression using a range of low bit rates. Microsoft has also developed a digital container format called Advanced Systems Format to store audio encoded by WMA.
Windows Media Player, is the first media player and media library application that Microsoft developed to play audio and video on personal computers. It has been a component of the Microsoft Windows operating system, including Windows 9x, Windows NT, Pocket PC, and Windows Mobile. Microsoft also released editions of Windows Media Player for classic Mac OS, Mac OS X, and Solaris, but has since discontinued them.
RealAudio, also spelled Real Audio, is a proprietary audio format developed by RealNetworks and first released in April 1995. It uses a variety of audio codecs, ranging from low-bitrate formats that can be used over dialup modems, to high-fidelity formats for music. It can be used as a streaming audio format, that is played at the same time as it is downloaded.
DivX is a brand of video codec products developed by DivX, LLC. There are three DivX codecs: the original MPEG-4 Part 2 DivX codec, the H.264/MPEG-4 AVC DivX Plus HD codec and the High Efficiency Video Coding DivX HEVC Ultra HD codec. The most recent version of the codec itself is version 6.9.2, which is several years old. New version numbers on the packages now reflect updates to the media player, converter, etc.
MPlayer is a free and open-source media player software application. It is available for Linux, OS X and Microsoft Windows. Versions for OS/2, Syllable, AmigaOS, MorphOS and AROS Research Operating System are also available. A port for DOS using DJGPP is also available. Versions for the Wii Homebrew Channel and Amazon Kindle have also been developed.
Matroska is a project to create a container format that can hold an unlimited number of video, audio, picture, or subtitle tracks in one file. The Matroska Multimedia Container is similar in concept to other containers like AVI, MP4, or Advanced Systems Format (ASF), but is an open standard.
Windows Media Video (WMV) is a series of video codecs and their corresponding video coding formats developed by Microsoft. It is part of the Windows Media framework. WMV consists of three distinct codecs: The original video compression technology known as WMV, was originally designed for Internet streaming applications, as a competitor to RealVideo. The other compression technologies, WMV Screen and WMV Image, cater for specialized content. After standardization by the Society of Motion Picture and Television Engineers (SMPTE), WMV version 9 was adapted for physical-delivery formats such as HD DVD and Blu-ray Disc and became known as VC-1. Microsoft also developed a digital container format called Advanced Systems Format to store video encoded by Windows Media Video.
RealVideo, or also spelled as Real Video, is a suite of proprietary video compression formats developed by RealNetworks — the specific format changes with the version. It was first released in 1997 and as of 2008 was at version 10. RealVideo is supported on many platforms, including Windows, Mac, Linux, Solaris, and several mobile phones.
VLC media player is a free and open-source, portable, cross-platform media player software and streaming media server developed by the VideoLAN project. VLC is available for desktop operating systems and mobile platforms, such as Android, iOS and iPadOS. VLC is also available on digital distribution platforms such as Apple's App Store, Google Play, and Microsoft Store.
DirectShow, codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's earlier Video for Windows technology. Based on the Microsoft Windows Component Object Model (COM) framework, DirectShow provides a common interface for media across various programming languages, and is an extensible, filter-based framework that can render or record media files on demand at the request of the user or developer. The DirectShow development tools and documentation were originally distributed as part of the DirectX SDK. Currently, they are distributed as part of the Windows SDK.
Kodi is a free and open-source media player and technology convergence software application developed by the Kodi Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the Internet, as well as all common digital media files from local and network storage media, or TV gateway viewer.
The Xbox Development Kit (XDK) is a software development kit created by Microsoft used to write software for the Xbox gaming system. The XDK includes libraries, a compiler, and various tools used to create software for the Xbox. The XDK has the option to integrate itself into Microsoft Visual Studio 2002 or 2003. This is needed if one wants to develop applications or games for the Xbox. The XDK also includes a tool to record in-game footage, which has been widely used to create high-quality screenshots and trailers.
The following comparison of video players compares general and technical information for notable software media player programs.
SMPTE 421, informally known as VC-1, is a video coding format. Most of it was initially developed as Microsoft's proprietary video format Windows Media Video 9 in 2003. With some enhancements including the development of a new Advanced Profile, it was officially approved as a SMPTE standard on April 3, 2006. It was primarily marketed as a lower-complexity competitor to the H.264/MPEG-4 AVC standard. After its development, several companies other than Microsoft asserted that they held patents that applied to the technology, including Panasonic, LG Electronics and Samsung Electronics.
Indeo Video is a family of audio and video formats and codecs first released in 1992, and designed for real-time video playback on desktop CPUs. While its original version was related to Intel's DVI video stream format, a hardware-only codec for the compression of television-quality video onto compact discs, Indeo was distinguished by being one of the first codecs allowing full-speed video playback without using hardware acceleration. Also unlike Cinepak and TrueMotion S, the compression used the same Y'CbCr 4:2:0 colorspace as the ITU's H.261 and ISO's MPEG-1. Indeo use was free of charge to allow for broadest usage.
Xbox Media Player, now obsolete, was the predecessor to XBMC and XBMC4Xbox, a feature-rich free and open source media player for the Xbox (console). With an audio/video-player-core based on MPlayer, it allowed owners of a modified Xbox to display pictures and movie files, as well as play music files from the Xbox DVD-ROM drive, built-in harddisk drive, LAN (SMB) or the Internet.
libavcodec is a free and open-source library of codecs for encoding and decoding video and audio data.
The following is a list of H.264/MPEG-4 AVC products and implementations.
The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previous de facto standard of using the proprietary Adobe Flash plugin, though early adoption was hampered by lack of agreement as to which video coding formats and audio coding formats should be supported in web browsers. As of 2020, HTML5 video is the only widely supported video playback technology in modern browsers, with the Flash plugin being phased out.