C Other HTML C++ Shell Makefile Other
Latest commit c45041e Jul 22, 2016 William Fixed info
Permalink
Failed to load latest commit information.
DOCS Merge branch 'official' Jul 14, 2016
TOOLS Prefer '// A' to '//A'. Jul 1, 2016
debian Remove outdated references to mp3lib and tremor. Oct 21, 2012
drivers Make inline keyword handling consistent. Feb 19, 2012
etc Merge branch 'official' Jul 14, 2016
gui Cosmetic: Adjust indent. Mar 7, 2016
help Merge branch 'official' Jul 14, 2016
input Merge branch 'official' Jul 14, 2016
libaf Merge branch 'official' Jul 14, 2016
libao2 Merge branch 'official' Jul 14, 2016
libass Merge branch 'official' Jul 14, 2016
libdvdnav Support for new libdvdcss, update libdvdread4 and libdvdnav Mar 25, 2013
libdvdread4 Support for new libdvdcss, update libdvdread4 and libdvdnav Mar 25, 2013
libiniparser Patch to wwmod Sep 29, 2011
libmenu Fix spelling error. Feb 20, 2016
libmpcodecs Fixed build error Jul 15, 2016
libmpdemux Fixed build error Jul 15, 2016
libmpeg2 Restore hunk previously removed in r31354. Aug 6, 2010
libvo Fixed build error Jul 15, 2016
loader Merge branch 'official' Jul 14, 2016
osdep Merge branch 'official' Jul 14, 2016
rpm Add differently sized, new icons for the GUI. Jan 14, 2012
skin Fixed build error Jul 15, 2016
stream Merge branch 'official' Jul 14, 2016
sub Fixed build error Jul 15, 2016
tests Force "simple" IDCT to avoid different results on different PCs. Jan 8, 2012
vidix unichrome_vid: avoid potentially undefined signed shift. Feb 26, 2016
.gitignore Fixed build error Jul 15, 2016
AUTHORS Change my email to one that actually still works. Feb 7, 2016
Changelog Matrox uncompressed: support also M102 4cc (HD) May 11, 2016
Copyright Internal copies of libdvdnav, libdvdread and libdvdcss were removed l… Oct 11, 2015
LICENSE the great MPlayer tab removal: part II May 3, 2010
Makefile Merge branch 'official' Jul 14, 2016
README restore functionality to be able to pass custom configure flags or ov… Aug 7, 2010
access_mpcontext.h Ensure up-to-dateness of global_sub information upon request. Aug 17, 2014
asxparser.c asxparser.c: Fix some memleaks. Feb 11, 2016
asxparser.h the great MPlayer tab removal: part II May 3, 2010
autocfg-debug.sh Fixed pthread check error Mar 13, 2013
autocfg-shared.sh Fixed build error Jul 15, 2016
autocfg-static.sh Fixed pthread check error Mar 13, 2013
automerge.sh Do not merge console branch Jan 13, 2015
automk-debug.sh Add debug script Feb 3, 2012
automk-shared.sh Support new lib Jul 8, 2014
automk-static.sh Remove useless code Apr 12, 2012
automk.sh Fixed info Jul 22, 2016
av_helpers.c av_helpers: avoid deprecated API. Feb 16, 2014
av_helpers.h Extract audio encoding code into a separate helper function. Aug 25, 2013
av_opts.c av_opts: Replace deprecated av_set_string3() by av_opt_set() Jan 21, 2013
av_opts.h Add missing multiple inclusion guards. Jan 25, 2009
binary.ver Fix issues with glibc on 32 bit. Jun 15, 2013
bstr.c Add missing strings.h #includes for strcasecmp(). Mar 17, 2013
bstr.h subtitles: convert SRT/MicroDVD markup into ASS markup Jul 18, 2010
cfg-common.h Merge branch 'official' Jul 14, 2016
cfg-mencoder.h Patch to wwmod Sep 29, 2011
cfg-mplayer-def.h Add standard license header. Feb 20, 2010
cfg-mplayer.h Merge branch 'official' Jul 14, 2016
codec-cfg.c codec-cfg: Optimize built-in codecs format. Mar 6, 2016
codec-cfg.h codec-cfg: Optimize built-in codecs format. Mar 6, 2016
command.c Merge branch 'official' Jul 14, 2016
command.h Add license header to all top-level files missing them. Jan 30, 2010
configure Merge branch 'official' Jul 14, 2016
cpudetect.c Add an internal copy of libavutil/x86/asm.h as mpx86asm.h Oct 17, 2015
cpudetect.h Add SSE3, SSE4, SSE4.2 and AVX detection. Sep 14, 2012
cpuinfo.c Correct flag for tce Apr 16, 2016
edl.c Add license header to all top-level files missing them. Jan 30, 2010
edl.h Add -edl-start-pts option to Adjust positions in EDL records according Sep 3, 2010
fmt-conversion.c Add support for YUV440P12, YUV440P10, and GBRP10 colorspaces Feb 21, 2016
fmt-conversion.h Replace PixelFormat and PIX_FMT_FOO by their AV_-prefixed counterparts. Jan 20, 2013
logo.bmp Fixed build error Jul 15, 2016
m_config.c m_config.c: add missing "const" to data table. Feb 13, 2016
m_config.h Mark some function parameters that are not modified as const. Sep 27, 2010
m_option.c Add support for YUV440P12, YUV440P10, and GBRP10 colorspaces Feb 21, 2016
m_option.h m_option, vf_scale: Add some missing const. Feb 16, 2014
m_property.c Change m_property_string_ro to take a const string. Feb 13, 2016
m_property.h Change m_property_string_ro to take a const string. Feb 13, 2016
m_struct.c Add missing strings.h #includes for strcasecmp(). Mar 17, 2013
m_struct.h Add stdint.h include for intptr_t. Sep 17, 2014
mangle.h Use configure code to define PIC instead of duplicating the check in … Nov 10, 2009
mediainfo.c Fixed build error Jul 15, 2016
mencoder.c Merge branch 'official' Jul 14, 2016
mencoder.h Move all MEncoder-related extern variable declarations to mencoder.h. Sep 11, 2010
message.c Patch to wwmod Sep 29, 2011
message.h Patch to wwmod Sep 29, 2011
metadata.h cosmetics: Remove pointless empty lines at EOF. Feb 20, 2010
mixer.c Merge branch 'official' Jul 8, 2014
mixer.h Add license header to all top-level files missing them. Jan 30, 2010
mp_core.h Merge branch 'official' Nov 1, 2012
mp_fifo.c Fixed double click etc. Nov 26, 2013
mp_fifo.h Fix a few memleaks. Sep 22, 2013
mp_global.h Change code to allow STREAM_CTRL_GET_CURRENT_TIME with cache enabled. Jun 12, 2011
mp_msg.c Merge branch 'official' Jul 14, 2016
mp_msg.h mp_msg: free iconv contexts at exit. Mar 2, 2016
mp_osd.h Add license header to all top-level files missing them. Jan 30, 2010
mp_strings.c Avoid va_copy, it is not generally available Jun 20, 2011
mp_strings.h Cosmetics: add empty line between system and local headers and remove… Mar 6, 2011
mpbswap.h build: drop BeOS support Aug 11, 2011
mpcommon.c Merge branch 'official' Jul 14, 2016
mpcommon.h mencoder: call at least a bit of uninit/memory free code. Mar 2, 2016
mplayer.c Fixed build error Jul 15, 2016
mplayer.h Merge branch 'official' Apr 3, 2013
mplayer_lang.h Patch to wwmod Sep 29, 2011
mpx86asm.h Add an internal copy of libavutil/x86/asm.h as mpx86asm.h Oct 17, 2015
parser-cfg.c Properly free resources even when encountering many Nov 6, 2012
parser-cfg.h Sanitize include option behaviour. Oct 25, 2011
parser-mecmd.c Add license header to all top-level files missing them. Jan 30, 2010
parser-mecmd.h Add license header to all top-level files missing them. Jan 30, 2010
parser-mpcmd.c Add missing strings.h #includes for strcasecmp(). Mar 17, 2013
parser-mpcmd.h Add license header to all top-level files missing them. Jan 30, 2010
path.c Merge branch 'official' Jun 4, 2012
path.h Add mp_dir_join function. Feb 1, 2011
playlist.c Patch to wwmod Sep 29, 2011
playlist.h Patch to wwmod Sep 29, 2011
playtree.c playtree.c: Allow free of NULL pointer. Feb 11, 2016
playtree.h Fix a bunch of Doxygen syntax errors that caused warnings. Nov 3, 2011
playtreeparser.c playtreeparser: Remove pointless assignment. Jan 25, 2014
playtreeparser.h Drop pointless _st suffix from 'struct stream'. May 27, 2010
pnm_loader.c doxygen: drop filename from @file directive Aug 11, 2011
pnm_loader.h Move the read_pnm function into a separate file. Oct 18, 2010
resource.h Add donate button Mar 8, 2012
subopt-helper.c Add missing strings.h #includes for strcasecmp(). Mar 17, 2013
subopt-helper.h doxygen: drop filename from @file directive Aug 11, 2011
udp_sync.c udp_sync: handle bind() failure. Feb 20, 2016
udp_sync.h Add #include for required header mp_core.h; fixes 'make checkheaders'. Sep 11, 2010
unrar.c Patch to wwmod Sep 29, 2011
unrar.h Patch to wwmod Sep 29, 2011
version.sh Merge branch 'official' Jul 14, 2016
win7shellapi.h Patch to wwmod Sep 29, 2011
winstuff.c Require high I/O priority Jul 9, 2014
winstuff.h Set IO priority Jul 9, 2014
wwremote Add auto merge script Sep 29, 2011
xvid_vbr.c xvid_vbr: remove unused variable and calculation. Feb 20, 2016
xvid_vbr.h whitespace cosmetics: Remove all trailing whitespace. May 13, 2009

README

Welcome to MPlayer, The Movie Player. MPlayer can play most standard video
formats out of the box and almost all others with the help of external codecs.
MPlayer currently works best from the command line, but visual feedback for
many functions is available from its onscreen status display (OSD), which is
also used for displaying subtitles. MPlayer also has a GUI with skin support and
several unofficial alternative graphical frontends are available.

MEncoder is a command line video encoder for advanced users that can be built
from the MPlayer source tree. Unofficial graphical frontends exist but are
not included.

This document is for getting you started in a few minutes. It cannot answer all
of your questions. If you have problems, please read the documentation in
DOCS/HTML/en/index.html, which should help you solve most of your problems.
Also read the man page to learn how to use MPlayer.


Requirements:
- POSIX system: You need a POSIX-compatible shell and POSIX-compatible system
  tools like grep, sed, awk, etc. in your path.
- You need a working development environment that can compile programs.
  On popular Linux distributions, this means having the glibc development
  package(s) installed.
- To compile MPlayer with X11 support, you need to have the X Window System
  development packages (like for XFree86 or X.Org) installed.
- For the GUI you need the GTK development packages.


Before you start...
Make sure that your version of X has Xvideo support, without it even very
fast machines may not be able to properly play high resolution videos in
fullscreen mode. Consult DOCS/HTML/en/video.html for details. There you may
also find out about special card-specific video output drivers that can yield
optimal performance.


______________________
STEP0: Getting MPlayer
~~~~~~~~~~~~~~~~~~~~~~

Official releases and Subversion snapshots, as well as binary codec packages
and a number of different skins for the GUI are available from the download
section of our homepage at

  http://www.mplayerhq.hu/dload.html

MPlayer has builtin support for the most common audio and video formats. For a
few formats no native decoder exists and external binary codecs are required
to handle them. Examples are newer RealVideo variants and a variety of rare
formats. However, binary codecs are NOT required in this day and age, they are
strictly optional.

Please note that binary codecs only work on the processor architecture they
were compiled for. Choose the correct package for your processor. No other
package is necessary.

The GUI needs at least one skin and codec packages add support for some more
video and audio formats. MPlayer does not come with any of these by default,
you have to download and install them separately.

You can also get MPlayer via Subversion. Issue the following commands to get
the latest sources:

  svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer

A directory named 'mplayer' will be created. It will include all necessary
FFmpeg libraries, you don't need to get them separately as was the case in
the past. You can later update your sources by saying

  svn update

from within that directory.


_______________________________
STEP1: Installing Binary Codecs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Unpack the codecs archives and put the contents in a directory where MPlayer
will find them. The default directory is /usr/local/lib/codecs/ (it used to be
/usr/local/lib/win32 in the past, this also works) but you can change that to
something else by passing the '--codecsdir' option to './configure'.


__________________________
STEP2: Configuring MPlayer
~~~~~~~~~~~~~~~~~~~~~~~~~~

MPlayer can be adapted to all kinds of needs and hardware environments. Run

  ./configure

to configure MPlayer with the default options. GUI support has to be enabled
separately, run

  ./configure --enable-gui

if you want to use the GUI.

If something does not work as expected, try

  ./configure --help

to see the available options and select what you need.

The configure script prints a summary of enabled and disabled options. If you
have something installed that configure fails to detect, check the file
config.log for errors and reasons for the failure. Repeat this step until
you are satisfied with the enabled feature set.


________________________
STEP3: Compiling MPlayer
~~~~~~~~~~~~~~~~~~~~~~~~

Now you can start the compilation by typing

  make

You can install MPlayer with

  make install

provided that you have write permission in the installation directory.

If all went well, you can run MPlayer by typing 'mplayer'. A help screen with a
summary of the most common options and keyboard shortcuts should be displayed.

If you get 'unable to load shared library' or similar errors, run
'ldd ./mplayer' to check which libraries fail and go back to STEP 3 to fix it.
Sometimes running 'ldconfig' is enough to fix the problem.

NOTE: If you run Debian you can configure, compile and build a proper Debian
.deb package with only one command:

  debian/daily-build.sh -b

You can also pass some variables to the Makefile. For example, if you
want to compile with gcc 3.4 even if it's not the default compiler, or
pass extra configure options you would use:

  CC=gcc-3.4 DEB_EXTRA_CONFIGURE_FLAGS="--disable-libdvdcss-internal" debian/daily-build.sh -b


To clean up the source tree run the following command:

  fakeroot debian/rules clean
  rm debian/changelog

______________________________________
STEP4: Choose an onscreen display font
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

You can use any TrueType font installed on your system. Just pass '-font
/path/to/font.ttf' on the command line or add 'font=/path/to/font.ttf' to
your configuration file. The manual page has more details. Alternatively
you can create a symbolic link from either ~/.mplayer/subfont.ttf or
/usr/local/share/mplayer/subfont.ttf to your TrueType font.


____________________________
STEP5: Installing a GUI skin
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Unpack the archive and put the contents in /usr/local/share/mplayer/skins/ or
~/.mplayer/skins/. MPlayer will use the skin in the subdirectory named default
of /usr/local/share/mplayer/skins/ or ~/.mplayer/skins/ unless told otherwise
via the '-skin' switch. You should therefore rename your skin subdirectory or
make a suitable symbolic link.


__________________
STEP6: Let's play!
~~~~~~~~~~~~~~~~~~

That's it for the moment. To start playing movies, open a command line and try

  mplayer <moviefile>

or for the GUI

  gmplayer <moviefile>

gmplayer is a symbolic link to mplayer created by 'make install'.
Without <moviefile>, gmplayer will start with the GUI filepicker.

To play a VCD track or a DVD title, try:

  mplayer vcd://2 -cdrom-device /dev/hdc
  mplayer dvd://1 -alang en -slang hu -dvd-device /dev/hdd

See 'mplayer -help' and 'man mplayer' for further options.

'mplayer -vo help' will show you the available video output drivers. Experiment
with the '-vo' switch to see which one gives you the best performance.
If you get jerky playback or no sound, experiment with the '-ao' switch (see
'-ao help') to choose between different audio drivers. Note that jerky playback
is caused by buggy audio drivers or a slow processor and video card. With a
good audio and video driver combination, one can play DVDs and 720x576 MPEG-4
files smoothly on a Celeron 366. Slower systems may need the '-framedrop'
option.

Questions you may have are probably answered in the rest of the documentation.
The places to start reading are the man page, DOCS/HTML/en/index.html and
DOCS/HTML/en/faq.html. If you find a bug, please report it, but first read
DOCS/HTML/en/bugreports.html.