MPlayer

The main video-player in XBMC for Xbox is a port of MPlayer, which is a command-line based video-player for Linux. MPlayer uses FFmpeg (libavcodec) to decode the video stream itself, but has its own demuxers/splitters for handling the file containers (examples of which are AVI, MOV, OGM, MKV, FLV, etc). MPlayer is however slowly moving towards replacing its custom demuxers/splitters with the ones from FFmpeg's "libavformat" library so that the work of the two projects can be combined. MPlayer also plays all of the audio files that XBMC's PAPlayer audio-player can not handle on the Xbox, plus any audio streamed from the internet.

Note: XBMC for Linux, XBMC for Mac OS X, and XBMC for Windows versions of XBMC does not use MPlayer, they instead relies on XBMC's in-house DVDPlayer video-player for all video playback.

Currently Supported Codecs
Please see MPlayer 1.0pre6

Additional Audio Codecs
Please see MPlayer 1.0pre6

Additional Video Codecs
Please see MPlayer 1.0pre6

Known Bugs
The full official list/tracker of known bugs can be found at xbmc.org/trac
 * DVR-MS (Microsoft Windows Media Center container) playback, this was only partialy supported in the MPlayer 1.0pre6 demuxer/splitter. You have to wait until MPlayer 1.0pre8+ gets ported to XBMC, but even then playback might not be perfect (you may experience stutter, dropped frames, audio and video out of sync, or get no audio or video at all). Any bugs will DVR-MS playback should first of all be reported to MPlayer, (see the "Troubleshooting and reporting bugs in MPlayer" section below). A beta mplayer.dll that fixes crashing on resuming dvr-ms files and audio getting out of sync with video is available here: http://forum.xbmc.org/showpost.php?p=115524&postcount=153  It should be placed under E:\Dashboard\system\players\mplayer\mplayer.dll (this update also plays more .flv files than the current XBMC mplayer). Another mediator is to set the video cache to 256kb from the default of 4096kb to coincide with the default audio cache.
 * RealNetworks RealVideo (RealMedia RM, RAM or RV) video files plays with audio out-of-sync. You have to wait until MPlayer 1.0pre8+ gets ported to XBMC, but even then playback might not be perfect (you may experience stutter, dropped frames, audio and video out of sync, or get no audio or video at all). Any bugs will RealMedia playback should first of all be reported to MPlayer, (see the "Troubleshooting and reporting bugs in MPlayer" section below).

Unimplemented Features/Codecs
Respect that Team-XBMC developers do not do not add support of any codecs (or container formats) ourselves to XBMC. XBMC uses MPlayer as our main 'core' to play video/audio files and therefore XBMC only support those codecs which MPlayer can demux and decode, (well, most of the media codecs/formats that MPlayer supports anyway), and MPlayer in turn get most of its codec support from the FFmpeg codec-suit. Team-XBMC then tries to port over the latest stable point release of MPlayer (and FFmpeg) a couple of times each year to get support of the latest codecs that MPlayer (and FFmpeg) supports.

This is a list of (some of) the features/functions/codecs that works fine in latest [CVS of MPlayer for Linux/OS-X/Windows but are as of yet unsupported in XBMC: Please note that none of the features listed above are planned yet (so if you can program C/C++, please feel free to code and submit a patch.
 * SSA and ASS subtitles with advanced layout and characters.
 * RTSP/RTP streaming support via the via LIVE555 library (formaly known as the LIVE.COM library).
 * RealNetworks RealVideo 10 (RV10) audio/video, this was only partialy supported in the MPlayer 1.0pre6 demuxer/spliter. You have to wait until MPlayer 1.0pre8+ gets ported to XBMC.

Note! Any codec and/or format request(s) should be addressed to MPlayer (and FFmpeg), and not to Team-XBMC, please read this (link).

Troubleshooting and reporting bugs in MPlayer
If you have playblack problems with media file is a a file-based video-file (like AVI, MKV, OGM or MPG, etc.) when using XBMC's MPlayer 'core' please follow these instructions before you submit a bug-report to Team-XBMC and The XBMC Project:
 * First of all, if you have problem when playing a media file over the network or from the Xbox DVD-ROM drive (CD/DVD media), then you need to first test it from the Xbox's built-in harddisk-drive, so copy that exact same file to the Xbox's built-in harddisk-drive (via FTP or XBMC's File-Manager) and then try playing or viewing it from there, to see if the problem is the same when playing/viewing it from there as well or not, (this will narrow down the problem a lot when dealing with audio and video files that will not play over a network, which can often be a bandwidth or configuration error done by the user).
 * Try to play the same file in MPlayer on your computer, (that is "MPlayer" from www.mplayerhq.hu and not "Windows Media Player" from Microsoft that comes with Windows). You see, the main video-player in XBMC is a port of MPlayer, which originally is a command-line based video-player for Linux, OS-X and Windows), (XBMC uses this MPlayer 'core' to playback all video files, with the exception of DVD-Video movies which uses our own dedicated DVDPlayer). If your playback problem (bug) of your video-file can be seen in MPlayer then the bug is with MPlayer and not XBMC (or the XBMC port of MPlayer), thus you report this bug/issue/problem to the developers over at www.mplayerhq.hu (instead of to Team-XBMC or The XBMC Project). The MPlayer developers have their own bug-tracker (they also use a dev mailing-list instead of a forum, to which after you registered can send an e-mail to informing them about any bug-report you post on their bug-tracker), but before you post your bug-report to MPlayer's bug-tracker or their mailing-list you must make sure you followed MPlayer's bug-reporting guide-lines in the MPlayer documentation. Note! Please respect that it is not enough that you see the bug/issue/problem in XBMC, (in fact you should not even mention XBMC in a MPlayer bug-report!).

Developers notes on MPlayer in XBMC
The main video-player in XBMC is a MinGW/MSYS-port of MPlayer which is a command-line based video-player for Linux and OS-X (also Windows via MinGW/MSYS). It is compiled as one DLL (Dynamic Link Library) file and loaded as needed by XBMC.