Good bug reports are a very valuable contribution to the development of any
- software project. But just like writing good software, good problem reports
- involve some work. Please realize that most developers are extremely busy and
- receive obscene amounts of email. So while your feedback is crucial in
- improving MPlayer and very much appreciated, please understand that you
- have to provide all of the information we request and follow the
- instructions in this document closely.
If you feel have the necessary skills you are invited to have a go at fixing
- the bug yourself. Or maybe you already did that? Please read
- this short document to find out how to get
- your code included in MPlayer. The people on the
- mplayer-dev-eng
- mailing list will assist you if you have questions.
First of all please try the latest CVS version of MPlayer as your bug
- might already be fixed there. Development moves extremely fast, most problems
- in official releases are reported within days or even hours, so please use
- only CVS to report bugs. CVS instructions can be found at the bottom of
- this page or in the
- README. If this did not help please refer to the
- list of known bugs and the
- rest of the documentation. If your problem is not known or not solvable by our
- instructions, then please report the bug.
-
-
Please do not send bug reports privately to individual developers. This is
- community work and thus there might be several people interested in it.
- Sometimes other users already experienced your troubles and know how to
- circumvent a problem even if it is a bug in MPlayer code.
-
-
Please describe your problem in as much detail as possible. Do a little
- detective work to narrow down the circumstances under which the problem
- occurs. Does the bug only show up in certain situations? Is it specific to
- certain files or file types? Does it occur with only one codec or is it codec
- independent? Can you reproduce it with all output drivers? The more
- information you provide the better are our chances at fixing your problem.
- Please do not forget to also include the valuable information requested below,
- we will be unable to properly diagnose your problem otherwise.
-
-
An excellent and well written guide to asking questions in public forums is
- How To Ask Questions The Smart Way
- by Eric S. Raymond. There is another
- called
- How to Report Bugs Effectively
- by Simon Tatham. If
- you follow these guidelines you should be able to get help. But please
- understand that we all follow the mailing lists voluntarily in our free time.
- We are very busy and cannot guarantee that you will get a solution for your
- problem or even an answer.
The language of this list is English. Please follow the standard
- Netiquette Guidelines and
- do not send HTML mail to any of our mailing lists. You will only get
- ignored or banned. If you do not know what HTML mail is or why it is evil,
- read this fine document. It
- explains all the details and has instructions for turning HTML off. Also note
- that we will not individually CC (carbon-copy) people so it is a good idea to
- subscribe to actually receive your answer.
You may need to include log, configuration or sample files in your bug
- report. If some of them are quite big then it is better to upload them to our
- FTP server in a compressed
- format (gzip and bzip2 preferred) and include only the path and file name in
- your bug report. Our mailing lists have a message size limit of 80k, if you
- have something bigger you have to compress or upload it.
If you get errors while running ./configure, or autodetection
- of something fails, read configure.log. You may find the answer
- there, for example multiple versions of the same library mixed on your system,
- or you forgot to install the development package (those with the -dev suffix). If you think there is a bug, include configure.log in your bug
- report.
Please include the output of MPlayer at verbosity level 1, but
- remember to not truncate the output when you paste it into your mail.
- The developers need all of the messages to properly diagnose a problem. You
- can direct the output into a file like this:
Also upload a small text file having the same base name as your file
- with a .txt extension. Describe the problem you are having with the
- particular file there and include your email address as well as the output
- of MPlayer at verbosity level 1. Usually the first 1-5 MB of a file are
- enough to reproduce the problem, but to be sure we ask you to:
-
-
dd if=yourfile of=smallfile bs=1024k count=5
-
-
It will take the first five megabytes of 'your-file' and
- write it to 'small-file'. Then try again on this small file
- and if the bug still shows up your sample is sufficient for us. Please
- do not ever send such files via mail! Upload it, and send
- only the path/filename of the file on the FTP-server. If the file is
- accessible on the net, then sending the exact URL is
- sufficient.
You have to run MPlayer inside gdb and send us the complete
- output or if you have a core dump of the crash you can extract useful
- information from the Core file. Here's how:
If you created a proper bug report following the steps above and you are
- confident it is a bug in MPlayer, not a compiler problem or broken
- file, you have already read the documentation and you could not find a
- solution, your sound drivers are OK, then you might want to subscribe to the
- mplayer-advusers list and send your bug report there to get a better and
- faster answer.
- Please be advised that if you post newbie questions or questions answered
- in the manual there, you will be ignored or flamed instead of getting an
- appropriate answer.
- So do not flame us and subscribe to -advusers only if you really know
- what you are doing and feel like being an advanced MPlayer user or
- developer. If you meet these criteria it should not be difficult to find
- out how to subscribe...
-
-
-
diff -r 007a1bdce1f4 -r 1b3444713694 DOCS/cd-dvd.html
--- a/DOCS/cd-dvd.html Sun Feb 09 21:35:27 2003 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-
-
-
-
- CD, DVD, VCD - MPlayer - The Movie Player for Linux
-
-
-
-
-
-
-
-
Modern CD-ROM drives can attain very high head speeds, yet some CD-ROM drives
- are capable of running at reduced speeds. There are several reasons that might
- make you consider changing the speed of a CD-ROM drive:
-
-
-
There have been reports of read errors at high speeds, especially
- with badly pressed CD-ROMs. Reducing the speed can prevent data loss under
- these circumstances.
-
Many CD-ROM drives are annoyingly loud, a lower speed may reduce the
- noise.
-
-
-
You can reduce the speed of IDE CD-ROM drives with hdparm or a
- program called setcd. It works like this:
This sets prefetched file reading to 2MB, which helps with scratched CD-ROMs.
- If you set it to too high, the drive will continuously spin up and down, and
- will dramatically decrease the performance.
- It is recommended that you also tune your CD-ROM drive with
- hdparm:
-
-
hdparm -d1 -a8 -u1 (cdrom device)
-
-
This enables DMA access, read-ahead, and IRQ unmasking (read the
- hdparm man page for a detailed explanation).
-
-
Please refer to "/proc/ide/[cdrom device]/settings" for
- fine-tuning your CD-ROM.
-
-
SCSI drives do not have a uniform way of setting these parameters (Do you
- know one? Tell us!) There is a tool that works for
- Plextor SCSI drives.
For the complete list of available options, please read the man page.
- The Syntax for a standard Digital Versatile Disc (DVD) is as follows:
-
-
mplayer -dvd <track> [-dvd-device <device>]
-
-
Example: mplayer -dvd 1 -dvd-device /dev/hdc
-
-
The default DVD device is /dev/dvd. If your setup differs,
- make a symlink or specify the correct device on the command line with the
- -dvd-device option.
-
-
New-style DVD support (mpdvdkit2)
-
-
MPlayer uses libdvdread and libdvdcss for
- DVD decryption and playback. These two libraries are contained in the
- libmpdvdkit2/ subdirectory of the MPlayer source tree, you
- do not have to install them separately. We opted for this solution because
- we had to fix a libdvdread bug and apply a patch which adds
- cracked CSS keys caching support to libdvdcss. This results
- in a large speed increase because the keys do not have to be cracked every time
- before playing.
-
-
MPlayer can also use system-wide libdvdread and
- libdvdcss libraries, but this solution is not recommended,
- as it can result in bugs, library incompatibilities and slower speed.
-
-
DVD Navigation support (dvdnav)
-
-
Support for DVD navigation via dvdnav was being worked on, but
- it was never finished properly and it is currently unmaintained. Who knows, it
- might even compile.
-
-
Old-style DVD support - OPTIONAL
-
-
Useful if you want to play encoded VOBs from hard disk. Compile and
- install libcss 0.0.1 (not newer) for this (If MPlayer fails to
- detect it, use the -csslib /path/to/libcss.so option). To use it,
- you need to be root, use a suid root MPlayer binary or let MPlayer call the
- suid-root fibmap_mplayer wrapper program.
-
-
DVD structure
-
-
DVD disks have 2048 bytes per sector with ECC/CRC. They usually have an UDF
- filesystem on a single track, containing various files (small .IFO and .BUK
- files and big (1GB) .VOB files). They are real files and can be copied/played
- from the mounted filesystem of an unencrypted DVD.
-
-
The .IFO files contain the movie navigation information (chapter/title/angle
- map, language table, etc) and are needed to read and interpret the .VOB
- content (movie). The .BUK files are backups of them. They use sectors
- everywhere, so you need to use raw addressing of sectors of the disc to
- implement DVD navigation or decrypt the content.
-
-
The whole old-style DVD support with libcss therefore needs a mounted DVD
- filesystem and raw sector-based access to the device. Unfortunately you must
- (under Linux) be root to get the sector address of a file. You have the
- following choices:
-
-
-
Be root or use a suid-root mplayer binary.
-
Let MPlayer call the suid-root fibmap_mplayer wrapper program to access
- the DVD (used in the old-style DVD playback over libcss).
-
Don't use the kernel's filesystem driver at all and reimplement it in
- userspace. libdvdread 0.9.x and libmpdvdkit do this (new-style DVD
- support). The kernel UDF filesystem driver is not needed as they already
- have their own builtin UDF filesystem driver. Also the DVD does not have to
- be mounted as only the raw sector-based access is used.
-
-
-
Sometimes /dev/dvd cannot be read by users, so the libdvdread
- authors implemented an emulation layer which transfers sector addresses to
- filenames+offsets, to emulate raw access on top of a mounted filesystem
- or even on a hard disk.
-
-
libdvdread even accepts the mountpoint instead of the device name for raw
- access and checks /proc/mounts to get the device name. It was
- developed for Solaris, where device names are dynamically allocated.
-
-
The default DVD device is /dev/dvd. If your setup differs,
- make a symlink, or specify the correct device on the command line with the
- -dvd-device option.
-
-
DVD authentication
-
-
The authentication and decryption method of the new-style DVD support is done
- using a patched libdvdcss (see above). The method can be specified through the
- environment variable DVDCSS_METHOD, which can be set to
- key, disk or title.
-
-
If nothing is specified it tries the following methods
- (default: key, title request):
-
-
-
bus key: This key is negotiated during authentication (a long mix
- of ioctls and various key exchanges, crypto stuff) and is used to encrypt
- the title and disk keys before sending them over the unprotected bus
- (to prevent eavesdropping). The bus key is needed to get and predecrypt the
- crypted disk key.
-
cached key: MPlayer looks for already cracked
- title keys which are stored in the ~/.mplayer/DVDKeys directory
- (fast ;).
-
key: If no cached key is available, MPlayer tries to
- decrypt the disk key with a set of included player keys.
-
disk: If the key method fails (e.g. no included player keys),
- MPlayer will crack the disk key using a brute force algorithm.
- This process is CPU intensive and requires 64 MB of memory (16M 32Bit
- entries hash table) to store temporary data. This method should always
- work (slow).
-
title request: With the disk key MPlayer requests the crypted title
- keys, which are inside hidden sectors using ioctl().
- The region protection of RPC-2 drives is performed in this step and may
- fail on such drives. If it succeeds, the title keys will be decrypted with
- the bus and disk key.
-
title: This method is used if the title request failed and does
- not rely on any key exchange with the DVD drive. It uses a crypto attack to
- guess the title key directly (by finding a repeating pattern in the
- decrypted VOB content and guessing that the plain text corresponding to the
- first encrypted bytes is a continuation of that pattern).
- The method is also known as "known plaintext attack" or "DeCSSPlus".
- In rare cases this may fail because there is not enough encrypted data on
- the disk to perform a statistical attack or because the key changes in the
- middle of a title. This method is the only way to decrypt a DVD stored on a
- hard disk or a DVD with the wrong region on an RPC2 drive (slow).
-
-
-
RPC-1 DVD drives only protect region settings through software.
- RPC-2 drives have a hardware protection that allows 5 changes only. It might
- be needed/recommended to upgrade the firmware to RPC-1 if you have a RPC-2 DVD
- drive. Firmware upgrades can be found on this
- firmware page. If there is
- no firmware upgrade available for your device, use the
- regionset
- tool to set the region code of your DVD drive (under Linux).
- Warning: You can only set the region 5 times.
For the complete list of available options, please read the man page.
- The Syntax for a standard Video CD (VCD) is as follows:
-
-
mplayer -vcd <track> [-cdrom-device <device>]
-
-
Example: mplayer -vcd 2 -cdrom-device /dev/hdc
-
-
The default VCD device is /dev/cdrom. If your setup differs,
- make a symlink or specify the correct device on the command line with the
- -cdrom-device option.
-
-
Note: At least Plextor and some Toshiba SCSI CD-ROM drives have
- horrible performance reading VCDs. This is because the the CDROMREADRAW ioctl
- is not fully implemented for these drives. If you have some knowledge of SCSI
- programming, please help us implement generic
- SCSI support for VCDs.
-
-
In the meantime you can extract data from VCDs with
- readvcd
- and play the resulting file with MPlayer.
-
-
VCD structure
-
-
VCD disks consist of one or more tracks:
-
-
-
The first track is a small 2048 bytes/sector data track with an iso9660
- filesystem, usually containing Windows VCD player programs and maybe other
- information (images, text, etc).
-
The second and other tracks are raw 2324 bytes/sector MPEG (movie) tracks,
- containing one MPEG PS data packet per sector instead of a filesystem.
- Similar to audio CD tracks, these tracks cannot be mounted (Did you
- ever mount an audio CD to play it?). As most movies are inside this track,
- you should try -vcd 2 first.
-
There exist VCD disks without the first track (single track and no
- filesystem at all). They are still playable, but cannot be mounted.
-
-
-
About .DAT files:
-
-
The ~600 MB file visible on the first track of the mounted VCD is not a real
- file! It is a so called ISO gateway, created to allow Windows to handle such
- tracks (Windows does not allow raw device access to applications at all).
- Under Linux you cannot copy or play such files (they contain garbage). Under
- Windows it is possible as its iso9660 driver emulates the raw reading of
- tracks in this file. To play a .DAT file you need the kernel driver which can
- be found in the Linux version of PowerDVD. It has a modified iso9660
- filesystem (vcdfs/isofs-2.4.X.o) driver, which is able to emulate
- the raw tracks through this shadow .DAT file. If you mount the disc using
- their driver, you can copy and even play .DAT files with mplayer. But it
- will not work with the standard iso9660 driver of the Linux kernel!
- Use the -vcd option instead. Alternatives for VCD copying are
- the new cdfs kernel
- driver (not part of the official kernel) that shows CD sessions
- as image files and cdrdao, a
- bit-by-bit CD grabbing/copying application.
-
-
-
diff -r 007a1bdce1f4 -r 1b3444713694 DOCS/codecs-in.html
--- a/DOCS/codecs-in.html Sun Feb 09 21:35:27 2003 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,185 +0,0 @@
-
-
-
- Codec Status Table - MPlayer - The Movie Player for Linux
-
-
-
-
-
See the
- codec status table
- for the complete, daily generated list. Quite a few codecs are available for
- download from our homepage. Grab them from our
- codecs page.
-
-
The most important ones above all:
-
-
MPEG1 (VCD) and MPEG2 (DVD) video
-
native decoders for DivX ;-), OpenDivX, DivX4,
- DivX5, M$ MPEG4 v1, v2 and other MPEG4 variants
-
native decoder for Windows Media Video 7/8 (WMV1/WMV2), and
- Win32 DLL decoder for Windows Media Video 9 (WMV3), both
- used in .wmv files
-
native Sorenson 1 (SVQ1) decoder
-
Win32/QT Sorenson 3 (SVQ3) decoder
-
3ivx v1, v2 decoder
-
Cinepak and Intel Indeo codecs (3.1, 3.2, 4.1, 5.0)
-
MJPEG, AVID, VCR2, ASV2 and other hardware formats
-
VIVO 1.0, 2.0, I263 and other h263(+) variants
-
FLI/FLC
-
RealVideo 1.0 codec from libavcodec, and RealVideo 2.0,
- 3.0 and 4.0 codecs using RealPlayer libraries
-
native decoder for HuffYUV
-
various old simple RLE-like formats
-
-
-
If you have a Win32 codec not listed here which is not supported yet, please
- read the codec importing HOWTO and help us add support
- for it.
This section contains information about the DivX4 and DivX5 codecs of
- Project Mayo. Their first available
- alpha version was OpenDivX 4.0 alpha 47 and 48. Support for this was included
- in MPlayer in the past, and built by default. We also used its
- postprocessing code to optionally enhance visual quality of MPEG1/2 movies.
- Now we use our own, for all file types.
-
-
The new generation of this codec is called DivX4 and can even decode
- movies made with the infamous DivX codec! In addition it is much faster than
- the native Win32 DivX DLLs but slower than libavcodec. Hence its usage as a
- decoder is DISCOURAGED. However, it is useful for encoding. One
- disadvantage of this codec is that it is not available under an Open Source
- license.
-
-
DivX4Linux works in two modes:
-
-
-
-vc odivx
-
Uses the codec in OpenDivX fashion. In this case it
- produces YV12 images in its own buffer, and MPlayer does colorspace
- conversion via libvo. (Fast, recommended!)
-
-
-vc divx4
-
Uses the colorspace conversion of the codec.
- In this mode you can use YUY2/UYVY, too. (SLOW)
-
-
-
The -vc odivx method is usually faster, due to the fact that it
- transfers image data in YV12 (planar YUV 4:2:0) format, thus requiring much
- less bandwidth on the bus. For packed YUV modes (YUY2, UYVY) use the
- -vc divx4 method. For RGB modes the speed is the same, differing
- at best according to your current color depth.
-
-
Note: If your -vo driver supports direct rendering, then
- -vc divx4 may be faster or even the fastest solution.
-
-
The Divx4/5 binary codec library can be downloaded from
- avifile or
- divx.com.
- Unpack it, run ./install.sh as root and do not forget adding
- /usr/local/lib to your /etc/ld.so.conf and running
- ldconfig.
-
-
Get the CVS version of the OLD OpenDivx core library like this:
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
-
This core library is split into a decore and encore library that have to
- be compiled separately. For the decore Library, simply type
-
- cd divxcore/decore/build/linux
- make
- cp libdivxdecore.so /usr/local/lib
- ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
- cp ../../src/decore.h /usr/local/include
-
-
-
Alas, for the encore library there is no Linux Makefile available, and the
- MMX optimized code only works on Windows. You can still compile it, though,
- by using this
- Makefile.
-
- cd ../../../encore/build
- mkdir linux
- cd linux
- cp path/Makefile .
- make
- cp libdivxencore.so /usr/local/lib
- ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
- cp ../../src/encore.h /usr/local/include
-
-
-
-
-
MPlayer autodetects DivX4/DivX5 if it is properly installed, just
- compile as usual. If it does not detect it, you did not install or configure
- it correctly.
FFmpeg contains an
- open source codec package, which is capable of decoding streams
- encoded with
- H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV
- video, or WMA (Windows Media Audio) audio codecs. Not only some of
- them can be encoded with, but it also offers higher speed than the Win32
- codecs or the DivX.com DivX4/5 library!
-
-
It contains a lot of nice codecs, especially important are the MPEG4
- variants:
- DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Also a very
- interesting one is the WMA decoder.
-
-
If you use an MPlayer release you have libavcodec right in the
- package, just build as usual. If you use MPlayer from CVS you have to
- extract libavcodec from the FFmpeg CVS tree as FFmpeg releases don't
- work with MPlayer. In order to achieve this do:
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
-
Move the libavcodec directory from the FFmpeg sources to the
- root of the MPlayer CVS tree. It should look like this:
-
main/libavcodec
- Symlinking is not enough, you have to copy or move it!
-
Compile. Configure should detect problems before compilation.
-
-
-
Note: MPlayer from CVS does contain a libavcodec
- subdirectory, but it does not contain the source for libavcodec!
- You must follow the steps above to obtain the source for this library.
-
-
With FFmpeg and my Matrox G400, I can view even the highest resolution DivX
- movies without dropped frames on my K6/2 500.
- Be advised that the XAnim binary codecs are packaged with a piece of text
- claiming to be a legally binding software license which, besides other
- restrictions, forbids the user to use the codecs in conjunction with any
- program other than XAnim. However, the XAnim author has yet to bring legal
- action against anyone for codec-related issues.
-
-
-
INSTALLATION AND USAGE
-
MPlayer is capable of employing the XAnim codecs for decoding. Follow
- the instructions to enable them:
-
-
-
Download the codecs you wish to use from the
- XAnim site. The 3ivx codec
- is not there, but at the 3ivx site.
-
OR download the codecs pack from our
- codecs page.
-
-
Use the --with-xanimlibdir option to tell configure where
- to find the XAnim codecs. By default, it looks for them at
- /usr/local/lib/xanim/mods, /usr/lib/xanim/mods and /usr/lib/xanim.
- Alternatively you can set the environment variable XANIM_MOD_DIR to
- the directory of the XAnim codecs.
-
Rename/symlink the files, cutting out the architecture stuff, so they will
- have filenames like these: vid_cvid.xa, vid_h263.xa, vid_iv50.xa.
-
-
-
XAnim is video codec family xanim, so you may want to use the -vfm xanim
- option to tell MPlayer to use them if possible.
MPlayer can play Vivo (1.0 and 2.0) videos. The most suitable codec
- for 1.0 files is FFmpeg's H263 decoder, you can use it with the -vc
- ffh263 option. For 2.0 files, use the Win32 DLL through the
- -vc vivo option. If you do not supply command line options
- MPlayer selects the best codec automatically.
MPEG1 and MPEG2 are decoded by the multiplatform native libmpeg2
- library, whose source code is included in MPlayer. We handle buggy
- MPEG 1/2 video files by catching Signal 11 (Segmentation fault),
- and quickly reinitializing the codec, continuing exactly from where the
- failure occurred. This recovery technique has no measurable speed penalty.
This is a very old and very bad codec from Microsoft. In the past it was
- decoded with the msvidc32.dll Win32 codec, now we have our own
- open source implementation (by Mike
- Melanson).
MPlayer uses its own open source, multiplatform Cinepak decoder (by
- Dr. Tim Ferguson), by default.
- It supports YUV outputs, so that hardware scaling is possible if the video
- output driver permits it.
It is recommended to download and install RealPlayer8 or RealONE, because
- MPlayer can use their libraries to decode files with RealVideo 2.0 -
- 4.0 video. The MPlayer configure script should detect the
- RealPlayer libraries in the standard locations of a full installation. If it
- does not, tell configure where to look with the
- --with-reallibdir option.
-
-
Note: RealPlayer libraries currently only work with Linux, FreeBSD,
- NetBSD and Cygwin on the x86 and Alpha platforms.
XViD is a forked development of
- the OpenDivX codec. It happened when ProjectMayo changed OpenDivX to closed
- source DivX4 (now DivX5), and the non-ProjectMayo people working on OpenDivX
- got angry, then started XViD. So both projects have the same origin.
-
-
ADVANTAGES
-
-
-
open source
-
its API is compatible with DivX4 so adding support for it is easy
-
2-pass encoding support
-
nice encoding quality, higher speed than DivX4 (you can optimize it for
- your box while compiling)
-
-
-
DISADVANTAGES
-
-
-
currently it does not properly decode all DivX/DivX4 files (no
- problem as libavcodec can play them)
-
you have to choose between DivX4 or XViD support at compiletime
-
under development
-
-
-
INSTALLING XVID CVS
-
-
XViD is currently available only from CVS. Here are the
- download and installation instructions:
Sorenson is a video codec family developed by Sorenson Media and
- licensed to Apple who distribute it with their QuickTime Player. We are
- currently able to decode all versions of Sorenson video files with the
- following decoders:
-
-
-
Sorenson 1 (fourcc SVQ1) - decoding supported by native
- codecs
- Actually there are two (nearly equal) decoders for SVQ1: one is built in
- MPlayer, the other is in libavcodec. You can invoke each of them with the
- -vc svq1 and -vc ffsvq1 options respectively.
- Some files may work with one of them, and not with the other, so test
- both decoders. The decoder was written (reverse engineered) by the
- xine authors.
This is the default decoder used for files with AC3 audio.
-
-
The AC3 decoder can create audio output mixes for 2, 4, or 6 speakers. When
- configured for 6 speakers, this decoder provides separate output of all the
- AC3 channels to the sound driver, allowing for full "surround sound"
- experience without the external AC3 decoder required to use the hwac3
- codec.
-
-
Use the -channels option to select the number of output
- channels. Use -channels 2 for a stereo downmix. For a 4
- channel downmix (Left Front, Right Front, Left Surround and Right Surround
- outputs), use -channels 4. In this case, any center channel will
- be mixed equally to the front channels. -channels 6 will output
- all the AC3 channels as they are encoded - in the order Left, Right, Left
- Surround, Right Surround, Center and LFE.
-
-
The default number of output channels is 2.
-
-
To use more than 2 output channels, you will need to use OSS, and have a
- sound card that supports the appropriate number of output channels via the
- SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1 (used
- by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is also
- supposed to work).
You need an AC3 capable sound card, with digital out (SP/DIF). The card's
- driver must properly support the AFMT_AC3 format (C-Media does). Connect
- your AC3 decoder to the SP/DIF output, and use the -ac hwac3
- option. It is experimental but known to work with C-Media cards,
- Soundblaster Live! using ALSA (but not OSS) drivers and DXR3/Hollywood+ MPEG
- decoder cards.
The audio codec used in VIVO files depends on whether it is a VIVO/1.0 or
- VIVO/2.0 file. VIVO/1.0 files have g.723 audio, and VIVO/2.0 files
- have Vivo Siren audio. Both are supported.
QDesign audio streams (fourcc: QDMC, QDM2) are found in MOV/QT
- files. Both versions of this codec can be decoded with QuickTime libraries.
- For installation instructions please see the Sorenson
- video codec section.
Qualcomm audio stream (fourcc: Qclp) is found in MOV/QT files.
- It can be decoded with QuickTime libraries. For installation instructions
- please see the Sorenson video codec section.
VFW (Video for Windows) is the old Video API for Windows. Its codecs have
- the .DLL or (rarely) .DRV extension.
- If MPlayer fails at playing your AVI with this kind of message:
-
-
UNKNOWN video codec: HFYU (0x55594648)
-
-
It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
- HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that you know this, you
- have to find out which DLL Windows loads in order to play this file. In our
- case, the system.ini contains this information in a line that
- reads:
-
-
VIDC.HFYU=huffyuv.dll
-
-
So you need the huffyuv.dll file. Note that the audio codecs are
- specified by the MSACM prefix:
-
-
msacm.l3acm=L3codeca.acm
-
-
-
This is the MP3 codec. Now that you have all the necessary information
- (fourcc, codec file, sample AVI), submit your codec support request by mail,
- and upload these files to the FTP site:
Note: On Windows NT/2000/XP search for this info in the registry, e.g. search for
- "VIDC.HFYU". To find out how to do this, look at the old DirectShow method below.
In the entry DisplayName look at the text in winged brackets
- after the backslash and write it down (five dash-delimited blocks, the
- GUID).
-
The codec binary is the file specified in the Filename
- entry.
-
-
-
Note: If there is no Filename entry and DisplayName
- contains something like device:dmo, then it is a DMO-Codec.
-
-
Old Method: Take a deep breath and start searching the registry...
-
-
-
Start regedit.
-
Press Ctrl-f, disable the first two checkboxes, and enable
- the third. Type in the fourcc of the codec (e.g. TM20).
-
You should see a field which contains the path and the filename
- (e.g. C:\WINDOWS\SYSTEM\TM20DEC.AX).
-
Now that you have the file, we need the GUID. Try searching again, but
- now search for the codec's name, not the fourcc. Its name can be acquired
- when Media Player is playing the file, by checking File -> Properties
- -> Advanced.
- If not, you are out of luck. Try guessing (e.g. search for TrueMotion).
-
If the GUID is found you should see a FriendlyName and a CLSID
- field. Write down the 16 byte CLSID, this is the GUID we need.
-
-
-
Note: If searching fails, try enabling all the checkboxes. You may have
- false hits, but you may get lucky...
-
-
Now that you have all the necessary information (fourcc, GUID, codec file,
- sample AVI), submit your codec support request by mail, and upload these files
- to the FTP site:
If you are a first-time installer: be sure to read everything from here to
- the end of the Installation section, and follow the links you will find. If
- you have any other questions, return to the Table of Contents and
- search for the topic, read the FAQ, or try grepping
- through the files.
-
-
The main rule of this documentation: if it's not documented, it
- does not exist. If I don't say you encode audio from TV tuner, you
- can't. A healthy quantity of combining ability is welcomed, though.
- Good luck. You'll need it :) And for another good advice, let me quote
- Chris Phillips from the
- mplayer-users
- mailing list:
-
-
- I said a while ago that there is such a difference between a newbie and
- a dumbass. No matter what you actually know about a system (linux, cars,
- girls :D) you should ALWAYS be able to take a step back and be objective,
- otherwise, you're just dumb IMHO. A girl i live with assumed the vacuum
- cleaner was broken because it didn't suck things up. never thought to change
- the bag, becasue she'd never done it before... now that's just stupid, not a
- case of simply not knowing what to do... Simply not being that familiar with
- your surroundings is no excuse for a) laziness and b) ignorance. So many
- people seem to see the word "error" and then stop... few seem to actually
- read the words on the OTHER side of the colon.
-
MPlayer is a movie player for LINUX (runs on many other Unices, and
- non-x86 CPUs, see the ports section). It plays most
- MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg,
- FILM, RoQ, PVA files, supported by many native, XAnim, RealPlayer, and
- Win32 DLL codecs. You can watch VideoCD, SVCD, DVD,
- 3ivx, RealMedia, and DivX movies too (and you don't need
- the avifile
- library at all!). Another big feature of MPlayer is the wide range of
- supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev,
- AAlib, DirectFB, but you can also use GGI and SDL (and this way all their
- drivers) and some lowlevel card-specific drivers (for Matrox, 3Dfx and Radeon,
- Mach64, Permedia3) too! Most
- of them supports software or hardware scaling, so you can enjoy movies in
- fullscreen. MPlayer supports displaying through some hardware MPEG
- decoder boards, such as the DVB and
- DXR3/Hollywood+. And what about the nice big antialiased
- shaded subtitles (10 supported types) with European/ISO 8859-1,2
- (Hungarian, English, Czech, etc), Cyrillic, Korean fonts, and the onscreen
- display (OSD)?
-
-
The player is rock solid playing damaged MPEG files (useful for some VCDs),
- and it plays bad AVI files which are unplayable with the famous
- windows media player. Even AVI files without index chunk are playable, and
- you can temporarily rebuild their indexes with the -idx option, or
- permanently with MEncoder, thus enabling seeking!
- As you see, stability and quality are the most important things,
- but the speed is also amazing.
-
-
MEncoder (MPlayer's Movie Encoder) is a simple movie encoder,
- designed to encode MPlayer-playable movies
- (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) to other
- MPlayer-playable formats (see below). It can encode with various codecs, like
- DivX4 (1 or 2 passes), libavcodec,
- PCM/MP3/VBR MP3 audio. Also has powerful plugin system
- for video manipulation.
-
-
MEncoder features
-
-
-
encoding from the wide range of fileformats and decoders of MPlayer
-
encoding to all the codecs of ffmpeg's
- libavcodec
-
video encoding from V4L compatible TV tuners
-
encoding/multiplexing to interleaved AVI files with proper index
-
creating files from external audio stream
-
1, 2 or 3 pass encoding
-
VBR MP3 audio - IMPORTANT NOTE: VBR MP3 audio doesn't
- always play nicely on Windows players!
-
PCM audio
-
stream copying
-
input A/V synchronizing (PTS-based, can be disabled with -mc 0 option)
-
FPS correction with -ofps option (useful when encoding
- 29.97fps VOB to 24fps AVI)
-
using our very powerful plugin system (crop, expand, flip, postprocess,
- rotate, scale, rgb/yuv conversion)
-
can encode DVD/VOBsub AND text subtitles into the output file
-
can rip DVD subtitles to Vobsub format
-
-
-
Planned features
-
-
-
even wider variety of available en/decoding formats/codecs
- (creating VOB files with DivX4/Indeo5/VIVO streams :)
-
-
-
MPlayer and MEncoder can be distributed under the terms of the GNU General
- Public License Version 2.
This began a year ago...
- I (A'rpi) have tried lots of players under linux (mtv,xmps,dvdview,livid/oms,videolan,
- xine,xanim,avifile,xmmp) but they all have some problem. Mostly with special
- files or with audio/video sync. Most of them is unable to play both MPEG1,
- MPEG2 and AVI (DivX) files. Many players have image quality or speed problems
- too. So I've decided to write/modify one...
-
-
-
mpg12play v0.1-v0.3: Sep 22-25, 2000
- The first try, hacked together in a half hour!
- I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3,
- but there were image quality and speed problems with it.
-
mpg12play v0.5-v0.87: Sep 28-Oct 20, 2000
- Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff,
- but it was slow and was written in C++ (I hate C++!!!)
-
mpg12play v0.9-v0.95pre5: Oct 21-Nov 2, 2000
- Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman & Michel Lespinasse.
- It's great, optimized very fast C code with perfect image quality and
- 100% MPEG standard conformance.
-
MPlayer v0.01: Nov 11, 2000
- The first MPlayer.
-
MPlayer v0.3-v0.9: Nov 18-Dec 4, 2000
- It was a pack of two programs: mpg12play v0.95pre6 and my new simple AVI
- player 'avip' based on avifile's Win32 DLL loader.
-
MPlayer v0.10: Jan 1, 2001
- The MPEG and AVI player in a single binary!
-
MPlayer v0.11pre series:
- Some new developers joined and from 0.11 the mplayer project is a team-work!
- Added .ASF file support, and OpenDivX (see www.projectmayo.com) en/decoding.
-
MPlayer v0.17a "The IdegCounter" Apr 27, 2001
- The release version of the 0.11pre after 4 months of heavy development!
- Try it, and be amazed! Thousands of new features added... and of course
- old code was improved too, bugs removed etc.
-
MPlayer 0.18 "The BugCounter" Jul 9, 2001
- 2 months since 0.17 and here's a new release.. Completed ASF support,
- more subtitle formats, introduced libao (similar to libvo but to audio),
- even more stable than ever, and so on. It's a MUST!
-
MPlayer 0.50 "The Faszom(C)ounter" Oct 8, 2001
- Hmm. Release again. Tons of new features, beta GUI version, bugs fixed,
- new vo and ao drivers, ported to many systems, including opensource DivX
- codecs and much more. Try it!
-
MPlayer 0.60 "The RTFMCounter" Jan 3, 2002
- MOV/VIVO/RM/FLI/NUV fileformats support, native CRAM, Cinepak, ADPCM codecs,
- and support for XAnim's binary codecs; DVD subtitles support, first
- release of MEncoder, TV grabbing, cache, liba52, countless fixes.
-
MPlayer 0.90pre10 "The BirthdayCounter" Nov 11, 2002
- Although this is not a release, I am going to mention it because it
- came out 2 years after MPlayer v0.01. Happy birthday, MPlayer!
-
MPlayer 0.90rc1 "The CodecCounter" Dec 7, 2002
- Again not a release, but after adding Sorenson 3 (QuickTime) and Windows
- Media 9 support, MPlayer is the world's first movie player with support
- for all known video formats!
In this chapter I'll try to guide you through the compiling and
- configuring process of MPlayer. It's not easy, but it won't necessarily
- be hard. If you experience a different behavior than what I explain, please
- search through this documentation and you'll find your answers. If you
- see links, please follow them and read carefully what they contain. It
- will take some time, but it DOES worth it.
-
-
You need a fairly recent system. On Linux, 2.4.x kernels are recommended.
-
-
Software requirements:
-
-
-
binutils - suggested version is 2.11.x . This program is
- responsible for generating MMX/3DNow!/etc instructions, thus very important.
-
gcc - suggested versions are: 2.95.3 (maybe 2.95.4) and 3.2+.
- NEVER use 2.96 or 3.0.x! They generate faulty code for MPlayer.
- If you decide to change gcc from 2.96, then don't decide in favor of 3.0.x
- just because it's newer! Early releases of 3.0.x were even more buggy than
- 2.96. So downgrade to 2.95.x (downgrade libstdc++ too, other programs may
- need it) or don't up/downgrade at all (but in this case, be prepared for
- runtime problems). If you vote for 3.x.x, try to use the latest version,
- early releases had various bugs, so be sure you use at least 3.1, it's
- tested and working. For detailed information about gcc 2.96's bugs (that are
- still NOT fixed, they have been WORKED AROUND in MPlayer!), see the
- gcc 2.96 section and the
- FAQ.
-
XFree86 - suggested version is always the newest (4.2.1).
- Normally, everyone wants this, as starting with XFree86 4.0.2, it contains
- the XVideo extension (somewhere referred to
- as Xv) which is needed to enable the hardware YUV acceleration (fast
- image display) on cards that support it.
- Make sure its development package is installed, too, otherwise
- it won't work.
- For some video cards you don't need XFree86. See list below.
-
make - suggested version is always the newest (at least 3.79.x). This
- usually isn't important.
-
SDL - it's not mandatory, but can help in some cases (bad audio,
- video cards that lag strangely with the xv driver). Always use the newest
- (beginning from 1.2.x).
-
libjpeg - optional JPEG decoder, used by -mf and some QT MOV files.
- Useful for both MPlayer and MEncoder if you plan to work with jpeg files.
-
libpng - recommended and default (M)PNG decoder. Required for GUI.
- Useful for both MPlayer and MEncoder.
-
lame - recommended, needed for encoding MP3 audio with MEncoder,
- suggested version is always the newest (at least 3.90).
-
libogg - optional, needed for playing OGG file format.
-
libvorbis - optional, needed for playing OGG Vorbis audio.
libfreetype - optional, for TTF fonts support. At least 2.0.9 is
- required.
-
libxmms - optional, for XMMS input plugin support. At least 1.2.7 is
- required.
-
-
-
Codecs:
-
-
-
libavcodec: This codec package is capable of decoding
- H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 encoded video streams and
- WMA (Windows Media Audio) v1/v2 audio streams, on
- multiple platforms. It is also known to be the fastest for this task.
- See the libavcodec section for details.
- Features:
-
-
gain decoding of videos mentioned above, on non-x86 machines
-
encoding with most of the mentioned codecs
-
this codec is the fastest codec available for DivX/3/4/5 and
- other MPEG4 types. Recommended!
-
-
-
Win32 codecs: If you plan to use MPlayer on x86 architecture, you
- will possibly need them. Download the Win32 codecs from our
- codecs page
- and install them to /usr/lib/win32BEFORE compiling
- MPlayer, otherwise no Win32 support will be compiled!
- Note: the avifile project has a similar codecs package, but it differs
- from ours. If you want to use all supported codecs, then install our package
- (do not worry, avifile works with it without problems). Features:
-
-
you need this if you want to play or encode for example movies recorded
- with various hardware compressors, like tuner cards, digital cameras
- (example: DV, ATI VCR, MJPEG)
-
needed if you want to play WMV8, WMV9/WMA9 movies.
-
Not needed for old
- ASF's with MP41 or MP42 video (though VoxWare audio is frequent for these
- files - it's done by the Win32 codec), or WMV7. Also not needed
- for WMA (Windows Media Audio), libavcodec has opensource decoder
- for that.
-
-
-
QuickTime codecs: on x86 platforms these codecs can be used
- to decode Sorenson v1/v3, RPZA, and other QuickTime video, and
- QDesign audio streams. Installation instructions can be found in the
- Sorenson video codec section.
-
DivX4/DivX5: information about this codec is available in the
- DivX4/DivX5 section. You possibly don't want
- this codec as libavcodec (see above) is much faster and has better
- quality than this, for both decoding and encoding.
- Features:
-
it's about 2 times faster than DivX4 when encoding - about the same
- quality
-
-
-
The XAnim codecs are the best (full
- screen, hardware YUV zoom) for decoding 3ivx and Indeo 3/4/5 movies,
- and some old formats. And they are multiplatform, so this is the only way to
- play Indeo on non-x86 platforms (well, apart from using XAnim:). But for
- example Cinepak movies are best played with MPlayer's own Cinepak
- decoder!
-
For Ogg Vorbis audio decoding you need to install
- libvorbis properly. Use deb/rpm packages if available, or
- compile from
- source
- (this is a nightly updated tarball of Vorbis CVS).
-
MPlayer can use the libraries of RealPlayer 8 or RealONE to play
- files with RealVideo 2.0 - 4.0 video, and Sipro/Cook audio. See
- RealMedia file format section for
- installation instructions and more information.
-
-
-
Video Cards
-
-
There are generally two kind of video cards. One kind (the newer cards) has
- hardware scaling and YUV acceleration support, the other cards don't.
-
-
YUV cards
-
-
They can display and scale (zoom) the picture to any size that fits in
- their memory, with small CPU usage (even when zooming), thus
- fullscreen playing is nice and very fast.
-
-
-
Matrox G200/G400/G450/G550 cards: although a
- Vidix driver is provided, it is recommended
- to use the mga_vid kernel module instead, for it works much better.
- Please see the mga_vid section about its
- installation and usage. It is important to do these steps before
- compiling MPlayer, otherwise no mga_vid support will be built. Also
- check out the Matrox TV-out section.
- If you don't use Linux, your only possibility is the VIDIX
- driver: read the VIDIX section.
-
3Dfx Voodoo3/Banshee cards: please see the
- tdfxfb section in order to gain big
- speedup. It is important to do these steps before compiling
- MPlayer, otherwise no 3Dfx support will be built. Also see the 3dfx TV-out section. If you use X, use
- at least 4.2.0, as the 3dfx Xv driver was broken in 4.1.0 and earlier
- releases.
-
ATI cards: Vidix driver is
- provided for the following cards:
- Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98).
- Also see the ATI cards
- section of the TV-out documentation, to know if you card's TV-out is
- supported under Linux/MPlayer.
-
S3 cards: the Savage and Virge/DX chips have hardware acceleration.
- Use as new XFree86 version as possible, older drivers are buggy. Savage chips
- have problems with YV12 display, see S3 Xv
- section for details. Older, Trio cards have no, or slow hardware
- support.
-
nVidia cards: may or may not be good choice for video playing.
- If you do not have a GeForce2 (or newer) card, it's not likely to work
- without bugs.
- The built-in nVidia driver in XFree86 does not support hardware YUV
- acceleration on all nVidia cards. You have to download nVidia's
- closed-source drivers from nVidia.com. See the
- nVidia Xv driver section for
- details. Please also check the nVidia
- TV-out section if you wish to use a TV.
-
3DLabs GLINT R3 and Permedia3: a VIDIX driver is provided
- (pm3_vid). Please see the VIDIX section for
- details.
-
Other cards: None of the above?
-
-
Try if the XFree86 driver (and your card) supports hardware
- acceleration. See the Xv section for
- details.
-
If it doesn't, then your card's video features aren't supported under
- your operating system :(
- If hardware scaling works under Windows, it doesn't mean it will work
- under Linux or other operating systems: it depends on the drivers. Most
- manufacturers neither make Linux drivers nor release specifications
- for their chips, so you are unlucky using their cards.
- See 'Non-YUV cards'.
-
-
-
-
-
Non-YUV cards
-
-
Fullscreen playing can be achieved by either enabling software scaling
- (use the -zoom or -vop scale
- option, but I warn you: this is slow), or switching to a small resolution
- video mode, for example 352x288. If you don't have YUV acceleration, the
- latter method is recommended. Video mode switching can be enabled by
- using the -vm option and it works with the following drivers:
-
-
-
using XFree86: see the
- DGA driver and
- X11 driver sections for details. DGA is
- recommended! Also try DGA via SDL, sometimes it's better.
-
not using XFree86: try the drivers in the following order:
- vesa,
- fbdev,
- svgalib,
- aalib.
-
-
-
Some cards:
-
-
-
Cirrus Logic cards:
-
-
GD 7548: present on-board and tested in Compaq Armada 41xx notebook
- series.
-
-
XFree86 3: works in 8/16bpp modes. However, the driver is
- dramatically slow and buggy in 800x600@16bpp.
- Recommended: 640x480@16bpp
-
XFree86 4: the Xserver freezes soon after start unless
- acceleration is disabled, but then the whole thing gets
- slower than XFree86 3. No XVideo.
-
FBdev: framebuffer can be turned on with the clgenfb
- driver in the kernel, though for me it worked only in 8bpp, thus
- unusable. The clgenfb source had to be extended with the 7548 ID
- before compilation.
-
VESA: the card is only VBE 1.2 capable, so VESA output can't be
- used. Can't be workarounded with UniVBE.
-
SVGAlib: detects an older Cirrus chip. Usable but slow with
- -bpp 8.
-
-
-
-
-
-
-
-
Sound cards:
-
-
-
Soundblaster Live!: with this card you can use 4 or 6 (5.1)
- channels AC3 decoding instead of 2. Read the
- Software AC3 decoding section.
- For hardware AC3 passthrough you must use ALSA 0.9 with OSS emulation!
-
C-Media with SP/DIF out: hardware AC3 passthrough is possible
- with these cards, see
- Hardware AC3 decoding section.
-
Features of other cards aren't supported by MPlayer.
- It's very recommended to read the sound card
- section!
-
-
-
Features:
-
-
-
Decide if you need GUI. If you do, see the GUI section
- before compiling.
-
If you want to install MEncoder (our great all-purpose encoder),
- see the MEncoder section.
-
If you have a V4L compatible TV tuner card, and wish to watch/grab
- and encode movies with MPlayer, read the TV input
- section.
-
There is a neat OSD Menu support ready to be used. Check the
- OSD Menu section.
-
-
-
Then build MPlayer:
-
-
- ./configure
- make
- make install
-
-
-
At this point, MPlayer is ready to use. The directory
- $PREFIX/etc/mplayer contains the codecs.conf
- file, which is used to tell the program all the codecs and their
- capabilities. This file should always be kept up to date together with the
- main binary.
- Check if you have codecs.conf in your home directory
- (~/.mplayer/codecs.conf) left from old MPlayer versions, and remove it.
-
-
Debian users can build a .deb package for themselves,
- it's very simple. Just exec fakeroot debian/rules binary in
- MPlayer's root directory. See
- Debian packaging for detailed
- instructions.
-
-
Always browse the output of ./configure, and the
- configure.log file, they contain information about what will be
- built, and what will not. You may also want to view config.h and
- config.mak files.
- If you have some libraries installed, but not detected by
- ./configure, then check if you also have the proper header files
- (usually the -dev packages) and their version matches. The
- configure.log file usually tells you what is missing.
-
-
Though not mandatory, the fonts should be installed in order to gain OSD,
- and subtitle functionality. The recommended method is installing a TTF
- font file and telling MPlayer to use it. See the
- Subtitles and OSD section for details.
The GUI needs GTK 1.2.x (it isn't fully GTK, but the panels are). The skins
- are stored in PNG format, so gtk, libpng (and their devel stuff, usually
- called gtk-dev and libpng-dev) has to be installed.
- You can build it by specifying --enable-gui during
- ./configure. Then, to turn on GUI mode, you either
-
-
specify gui=yes in your config file
-
ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer ,
- and call gmplayer instead.
-
-
-
Currently you can't use the -gui option on the command line,
- due to technical reasons.
-
-
As MPlayer doesn't have a skin included, you have to download them if
- you want to use the GUI. See the
- download page.
- They should be extracted to the usual system-wide directory
- ($PREFIX/share/mplayer/Skin), or to
- $HOME/.mplayer/Skin. MPlayer by default looks in these
- directories for a directory named default, but you can use the
- -skin newskin option, or the skin=newskin config
- file directive to use the skin in */Skin/newskin directory.
- MPlayer can display subtitles along with movie files. Currently the following
- formats are supported:
-
-
VobSub
-
OGM
-
CC (closed caption)
-
Microdvd
-
SubRip
-
SubViewer
-
Sami
-
VPlayer
-
RT
-
SSA
-
MPsub
-
AQTitle
-
JACOsub
-
-
-
MPlayer can dump the previously listed subtitle formats (except
- the three first) into the following destination formats, with the given
- options:
-
-
-
MPsub: -dumpmpsub
-
SubRip: -dumpsrtsub
-
Microdvd: -dumpmicrodvdsub
-
JACOsub: -dumpjacosub
-
Sami: -dumpsami
-
-
-
The command line options differ slightly for the different formats:
-
-
VobSub subtitles
-
-
VobSub subtitles consist of a big (some megabytes) .SUB file, and optional
- .IDX and/or .IFO files.
- Usage: If you have files like sample.sub,
- sample.ifo (optional), sample.idx - you have to pass
- MPlayer the -vobsub sample [-vobsubid <id>] options (full
- path optional). The -vobsubid option is like -sid
- for DVDs, you can choose between subtitle tracks (languages) with it. In case
- that -vobsubid is omitted, MPlayer will try to use the languages
- given by the -slang option and fall back to the
- langidx item in the .IDX file to set the subtitle language. If
- that fails, there will be no subtitles.
-
-
Other subtitles
-
-
The other formats consist of a single text file containing timing,
- placement and text information.
- Usage: If you have a file like sample.txt, you have to pass the
- option -sub sample.txt (full path optional).
-
-
Adjusting subtitle timing and placement:
-
-
-
-subdelay <sec>
-
Delays subtitles by <sec> seconds. Can be negative.
-
-
-subfps <rate>
-
Specify frame/sec rate of subtitle file (float number)
-
-
-subpos <0 - 100>
-
Specify the position of subtitles.
-
-
-
If you experience a growing delay between the movie and the subtitles when
- using a MicroDVD subtitle file, most likely the frame rate of the movie and
- the subtitle file are different. Please note that the MicroDVD subtitle
- format uses absolute frame numbers for its timing, and therefore the
- -subfps option cannot be used with this format. As
- MPlayer has no way to guess the frame rate of the subtitle file, you
- have to manually convert the frame rate. There is a little perl script in the
- contrib directory of the MPlayer FTP site to do this conversion
- for you.
-
-
MPlayer will try to guess the subtitle files you want to use when playing a
- movie. If, like in most cases, subtitle and movie files have the same name and
- are in the same place, you do not need to set the subtitle options. Just play
- the movie, MPlayer will handle the subtitles automatically.
MPlayer introduces a new subtitle format called MPsub. It was
- designed by Gabucino. Basically its main feature is being
- dynamically time-based (although it has frame-based mode too). Example
- (from
- DOCS/tech/mpsub.sub):
-
-
# first number : wait this much after previous subtitle disappeared
- # second number : display the current subtitle for this many seconds
-
- 15 3
- A long long, time ago...
-
- 0 3
- in a galaxy far away...
-
- 0 3
- Naboo was under an attack.
-
-
So you see, the main goal was to make subtitle
- editing/timing/joining/cutting easy. And, if you - say - get an SSA
- subtitle but it's badly timed/delayed to your version of the movie, you
- simply do a mplayer dummy.avi -sub source.ssa -dumpmpsub.
- A dump.mpsub file will be created in the current directory,
- which will contain the source subtitle's text, but in MPsub format.
- Then you can freely add/subtract seconds to/from the subtitle.
-
-
Subtitles are displayed with a technique called 'OSD', On Screen
- Display. OSD is used to display current time, volume bar, seek bar
- etc.
You need an MPlayer font package to be able to use OSD/SUB feature.
- There are many ways to get it:
-
-
-
download ready-to-use font packages from MPlayer site.
- Note: Currently available fonts are limited for iso 8859-1/2 support,
- but there are some other (including Korean, Russian, 8859-8 etc) fonts
- at contrib/font section of FTP, made by users.
-
- Font should have appropriate font.desc file which maps unicode font
- positions to the actual code page of the subtitles text. Other solution is
- to have subtitles encoded in utf8 encoding and use -utf8
- option or just name the subtitles file <video_name>.utf and have it
- in the same dir as the video file. Recoding from different codepages to
- utf8 could be done by using konwert (Debian) or iconv (Red Hat)
- programs.
- Some URLs:
-
use the font generator tool at TOOLS/subfont-c
- It's a complete tool to convert from TTF/Type1/etc font to mplayer font pkg.
- (read TOOLS/subfont-c/README for details)
-
use the font generator GIMP plugin at TOOLS/subfont-GIMP
- (note: you must have HSI RAW plugin too, see URL below)
-
using a TrueType (TTF) font, by the means of the freetype
- library. Version 2.0.9 or greater is mandatory! Then you
- have two methods:
-
-
use the -font /path/to/arial.ttf option to specify
- a TrueType font file on every occassion
-
create a symlink: ln -s /path/to/arial.ttf ~/.mplayer/subfont.ttf
-
-
-
-
-
If you chose non-TTF fonts, UNZIP the file you downloaded to ~/.mplayer or
- $PREFIX/share/mplayer. Then rename or symlink one of the extracted directories to
- font (like: ln -s ~/.mplayer/arial-24
- ~/.mplayer/font). Now you have to see a timer at the upper left corner
- of the movie (switch it off with the "o" key).
-
-
-
OSD has 4 states: (switch with 'o')
-
-
(subtitles are always enabled, for disabling them please read the man
- page)
-
-
-
volume bar + seek bar (default)
-
volume bar + seek bar + timer + file position percentage on seeking
-
volume bar + seek bar + timer + total duration of media
-
subtitles only
-
-
-
You can change default behaviour by setting osdlevel= variable
- in config file, or the -osdlevel command line option.
To use the old method, you don't have to do anything. It uses
- usleep() to tune A/V sync, with +/- 10ms accuracy. However
- sometimes the sync has to be tuned even finer.
-
The new timer code uses PC's RTC (Real Time Clock) for this task,
- because it has precise 1ms timers. It is automagically enabled when
- available, but requires root privileges, a setuid root
- MPlayer binary or a properly set up kernel.
-
- If you are running kernel 2.4.19pre8 or later you can adjust the maximum
- RTC frequency for normal users through the /proc filesystem.
- Use this command to enable RTC for normal users:
-
- echo 1024 > /proc/sys/dev/rtc/max-user-freq
-
- If you do not have such a new kernel, you can also change one line in
- drivers/char/rtc.c and recompile your kernel. Find the
- section that reads
-
- * We don't really want Joe User enabling more
- * than 64Hz of interrupts on a multi-user machine.
- */
- if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))
-
- and change the 64 to 1024. You should really know what you are doing, though.
-
- You can see the new timer's efficiency in the status line.
-
- The power management functions of some notebook BIOSes with speedstep CPUs
- interact badly with RTC. Audio and video may get out of sync. Plugging the
- external power connector in before you power up your notebook seems to help.
- You can always turn off RTC support with the -nortc option.
- In some hardware combinations (confirmed during usage of non-DMA DVD
- drive on an ALi1541 board) usage of the RTC timer causes skippy playback.
- It's recommended to use the third method in these cases.
-
The third timer code is turned on with the -softsleep
- option. It has the efficiency of the RTC, but it doesn't use RTC. On the other
- hand, it requires more CPU.
-
-
-Note:NEVER install a setuid root MPlayer binary on a multiuser system!
-It's a clear way for everyone to become root.
-
-
-
-
This section is about how to enable watching/grabbing from V4L compatible
-TV tuner. See the man page for a description of TV options and keyboard
-controls.
First, you have to recompile. ./configure will autodetect
- kernel headers of v4l stuff and the existence of /dev/video*
- entries. If they exist, TV support will be built (see the output of
- ./configure).
-
Make sure your tuner works with another TV software in Linux, for example
- xawtv.
-
-The full listing of the options is available on the manual page. Here
-are just a few tips:
-
-
-
Use the channels option. An example:
- -tv on:channels=26-MTV1,23-TV2
- Explanation: using this option, only the 26 and 23 channels will be usable,
- and there will be a nice OSD text upon channel switching, displaying the
- channel's name. Spaces in the channel name must be replaced by the "_"
- character.
-
Choose some sane image dimensions. The dimensions of the resulting image
- should be divisible by 16.
-
If you capture the video with the vertical resolution higher than half of
- the full resolution (i.e. 288 for PAL or 240 for NTSC), make sure you
- turned deinterlacing on. Otherwise you'll get a movie which is distorted
- during fast-motion scenes and the bitrate controller will be probably even
- unable to retain the specified bitrate as the interlacing artifacts produce
- high amount of detail and thus consume lot of bandwidth. You can enable
- deinterlacing with -vop pp=DEINT_TYPE. Usually
- pp=lb does a good job, but it can be matter of personal
- preference. See other deinterlacing algorithms in the manual and give it a
- try.
-
Crop out the dead space. When you capture the video, the areas at the
- edges are usually black or contain some noise. These again consume lots of
- unnecessary bandwidth. More precisely it's not the black areas themselves
- but the sharp transitions between the black and the brighter video image
- which do but that's not important for now. Before you start capturing,
- adjust the arguments of the crop option so that all the crap
- at the margins is cropped out. Again, don't forget to keep the resulting
- dimensions sane.
-
Watch out for CPU load. It shouldn't cross the 90% boundary for most of
- the time. If you have a large capture buffer, MEncoder can survive an
- overload for few seconds but nothing more. It's better to turn off the 3D
- OpenGL screensavers and similar stuff.
-
Don't mess with the system clock. MEncoder uses the system clock for
- doing A/V sync. If you adjust the system clock (especially backwards in
- time), MEncoder gets confused and you will lose frames. This is an
- important issue if you are hooked to a network and run some time
- synchronization software like NTP. You have to turn NTP off during the
- capture process if you want to capture reliably.
-
Don't change the outfmt unless you know what you are doing
- or your card/driver really doesn't support the default (YV12 colorspace).
- In the older versions of MPlayer/MEncoder it was necessary to specify the
- output format. This issue should be fixed in the current releases and
- outfmt isn't required anymore, and the default suits the most
- purposes. For example, if you are capturing into DivX using libavcodec and
- specify outfmt=RGB24 in order to increase the quality of the
- captured images, the captured image will be actually later converted back
- into YV12 so the only thing you achieve is a massive waste of CPU power.
-
-
To specify the I420 colorspace (outfmt=i420), you have to
- add an option -vc rawi420 due to a fourcc conflict with an
- Intel Indeo video codec.
-
There are several ways of capturing audio. You can grab the sound either
- using your soundcard via an external cable connection between video card
- and line-in, or using the built-in ADC in the bt878 chip. In the latter
- case, you have to load the btaudio driver. Read the
- linux/Documentation/sound/btaudio file (in the kernel tree,
- not MPlayer's) for some instructions on using this driver.
-
If MEncoder cannot open the audio device, make sure that it is really
- available. There can be some trouble with the sound servers like arts
- (KDE) or esd (GNOME). If you have a full duplex soundcard (almost any
- decent card supports it today), and you are using KDE, try to check the
- "full duplex" option in the sound server preference menu.
Dummy output, to AAlib :)
- mplayer -tv on:driver=dummy:width=640:height=480 -vo aa
-
- Input from standard V4L
- mplayer -tv
-on:driver=v4l:width=640:height=480 -vo xv
-
-
- A more sophisticated example. This makes MEncoder capture the full
- PAL image, crop the margins, and deinterlace the picture using
- a linear blend algorithm. Audio is compressed with a constant
- bitrate of 64kbps, using LAME codec. This setup is suitable for
- capturing movies. mencoder -tv
- on:driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts
- vcodec=mpeg4:vbitrate=900 \ -oac
- mp3lame -lameopts cbr:br=64 \ -vop
- pp=lb,crop=720:544:24:16 -o output.avi
-
-
- This will additionally rescale the image to 384x288 and compresses
- the video with the bitrate of 350kbps in high quality mode. The
- vqmax option looses the quantizer and allows the video compressor to
- actualy reach so low bitrate even at the expense of the
- quality. This can be used for capturing long TV series, where the
- video quality isn't so important.
-
- mencoder -tv on:driver=v4l:width=768:height=576 \
- -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
- -oac mp3lame -lameopts cbr:br=48 \
- -vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o output.avi
-
-
- It's also possible to specify smaller image dimensions in the
- -tv option and omit the software scaling but this
- approach uses the maximum available information and is a little more
- resistant to noise. The bt8x8 chips can do the pixel averaging only
- in the horizontal direction due to a hardware limitation.
The edit decision list (EDL) system allows you to automatically skip or mute
- sections of videos during playback, based on a movie specific EDL
- configuration file.
-
-
This is useful for those who may want to watch a film in "family-friendly"
- mode. You can cut out any violence, profanity, Jar-Jar Binks .. from a movie
- according to your own personal preferences. Aside from this, there are other
- uses, like automatically skipping over commercials in video files you
- watch.
-
-
The EDL file format is pretty bare-bones. Once the EDL system has reached a
- certain level of maturity, an XML-based file format will probably be
- implemented (keeping backwards compatibility with previous EDL formats).
-
-
The maximum number of EDL entries for the current incarnation of EDL is 1000.
- If you happen to need more, change the #define MAX_EDL_ENTRIES
- in the edl.h file.
Where the seconds are floating-point numbers and the action is either
- 0 for skip or 1 for mute. Example:
-
-
-5.3 7.1 0
-15 16.7 1
-420 422 0
-
-
-
This will skip from second 5.3 to second 7.1 of the video, then mute at
- 15 seconds, unmute at 16.7 seconds and skip from second 420 to second
- 422 of the video. These actions will be performed when the playback timer
- reaches the times given in the file.
-
-
To create an EDL file to work from, use the
- -edlout <filename> flag. During playback, when you want to
- mark the previous two seconds to skip over, hit i. A
- corresponding entry will be written to the file for that time. You can then go
- back and fine-tune the generated EDL file.
MPlayer utilizes a complex playtree. It consists of global options
- written as first (for example mplayer -vfm 5), and options
- written after filenames, that apply only to the given filename/URL/whatever
- (for example mplayer -vfm 5 movie1.avi movie2.avi -vfm 4).
- You can group filenames/URLs together using { and }. It's useful with
- option -loop: mplayer { 1.avi -loop 2 2.avi } -loop 3
- will play files in this order: 1 1 2 1 1 2 1 1 2
-
-
-
-
file
mplayer [options] [path/]filename
-
files
mplayer [default options] [path/]filename1 [options for filename1] filename2 [options for filename2] ...
MPlayer has a fully configurable, command driven, control layer which
- lets you control MPlayer with keyboard, mouse, joystick or remote
- control (using LIRC). See the man page for the complete list of keyboard
- controls.
MPlayer allows you bind any key/button to any MPlayer command
- using a simple config file. The syntax consist of a key name followed by a
- command. The default config file location is
- $HOME/.mplayer/input.conf but it can be overridden using the
- -input conf option (relative path are relative to
- $HOME/.mplayer).
-
-
You can have a full list of known commands by running "mplayer -input cmdlist"
-
-
-
seek (int) val [(int) type=0]
-
Seek to some place in the movie.
- Type 0 is a relative seek of +/- val seconds.
- Type 1 seek to val % in the movie.
-
audio_delay (float) val
-
Adjust the audio delay of val seconds
-
quit
-
Quit MPlayer
-
pause
-
Pause/unpause the playback
-
grap_frames
-
Somebody know ?
-
pt_step (int) val [(int) force=0]
-
Go to next/previous entry in playtree. Val sign tell the direction.
- If no other entry is available in the given direction it won't do anything
- unless force is non 0.
-
pt_up_step (int) val [(int) force=0]
-
Like pt_step but it jump to next/previous in the parent list. It's useful
- to break inner loop in the playtree.
-
alt_src_step (int) val
-
When more than one source is available it select the next/previous one
- (only supported by asx playlist).
-
sub_delay (float) val [(int) abs=0]
-
Adjust the subtitles delay of +/- val seconds or set it to val seconds
- when abs is non zero.
-
osd [(int) level=-1]
-
Toggle osd mode or set it to level when level > 0.
-
volume (int) dir
-
Increase/decrease volume
-
contrast (int) val [(int) abs=0]
-
brightness (int) val [(int) abs=0]
-
hue (int) val [(int) abs=0]
-
saturation (int) val [(int) abs=0]
-
Set/Adjust video parameters. Val range from -100 to 100.
Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver,
- an (almost) arbitrary remote control and control your Linux box with it!
- More about it at www.lirc.org.
-
-
If you have installed the lirc-package, configure will autodetect it. If
- everything went fine, MPlayer will print a message like "Setting up
- lirc support..." on startup. If an error occurs it will tell you. If it
- doesn't tell you anything about LIRC there's no support compiled in. That's
- it :-)
-
-
The application name for MPlayer is - oh wonder - mplayer.
- You can use any mplayer commands and even pass more than one command by
- separating them with \n. Don't forget to enable the repeat flag in .lircrc
- when it make sense (seek, volume, etc). Here's an excerpt from my
- .lircrc:
The slave mode allow you to build simple frontend to MPlayer. When
- enabled (with the -slave option) MPlayer will read
- commands separated by new line (\n) from stdin.
MPlayer can play files from network, using the HTTP, MMS or RTSP/RTP
- protocol.
-
-
Playing goes by simply using adding the URL to the command line.
- MPlayer also honors the http_proxy environment variable, and uses
- proxy if available. Proxy usage can also be forced:
To build a Debian package, run the following command in the MPlayer source
- directory:
-
-
- fakeroot debian/rules binary
-
-
-
As root you can then install the .deb package as usual:
-
-
- dpkg -i ../mplayer_<version>.deb
-
-
-
Christian Marillat has been making unofficial Debian MPlayer, MEncoder and
- font packages for a while, you can (apt-)get them from his
- homepage. These packages are highly
- unofficial, however, as Christian made and redistributed these packages when
- MPlayer was still not fully GPLed and
- binary redistribution was
- not allowed. Christian ignored requests to stop redistributing his packages,
- which caused bad blood with MPlayer developers. Binary redistribution is not
- a problem anymore, but we do not support these packages!
Dominik Mierzejewski created and maintains official Red Hat RPM packages of
- MPlayer. They are available from his
- homepage.
- Please read the instructions there and report problems to him, not us.
-
-
There are other RPM versions (SuSE now includes MPlayer in their official
- distribution, Mandrake packages are available from the
- P.L.F) of MPlayer, but none of them is
- officially supported.
MPlayer works on Linux PDAs with ARM CPU e.g. Sharp Zaurus, Compaq Ipaq.
- The easiest way to obtain MPlayer is to get it from one of the
- Openzaurus package feeds.
- If you want to compile it yourself, you should look at the
- mplayer
- and the
- libavcodec
- directory in the OpenZaurus distribution buildroot. These always have the
- latest Makefile and patches used for building a CVS MPlayer with libavcodec.
- If you need a GUI frontend, you can use xmms-embedded.
MPlayer runs on FreeBSD, OpenBSD, NetBSD, BSD/OS and Darwin. There are
- ports/pkgsrc/fink/etc versions of MPlayer available that are probably easier
- to use than our raw sources.
-
-
To build MPlayer you will need GNU make (gmake - native BSD make will not
- work) and a recent version of binutils.
-
-
If MPlayer complains about not finding /dev/cdrom or
- /dev/dvd, create an appropiate symbolic link:
- ln -s /dev/(your_cdrom_device) /dev/cdrom.
-
-
To use Win32 DLLs with MPlayer you will need to re-compile the kernel with
- "option USER_LDT" (unless you run FreeBSD -CURRENT, where this
- is the default).
Due to limitations in different versions of gas (relocation vs MMX), you will
- need to compile in two steps: First make sure that the non-native as is first
- in your $PATH and do a gmake -k, then make sure that
- the native version is used and do gmake.
On UltraSPARCs, MPlayer takes advantage of their VIS
- extensions (equivalent to MMX), currently only in libmpeg2,
- libvo and libavcodec, but not in mp3lib. You can watch a VOB
- file on a 400MHz CPU. You'll need
- mLib installed.
-
-
To build the package you will need GNU make (gmake, /opt/sfw/gmake), native
- Solaris make will not work. Typical error you get when building with Solaris'
- make instead of GNU make:
-
-
- % /usr/ccs/bin/make
- make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
-
-
-
On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter
- if GNU C/C++ compiler is configured with or without the GNU assembler.
-
-
On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler,
- configured to use the GNU assembler! The mplayer code on the x86 platform
- makes heavy use of MMX, SSE and 3DNOW! instructions that cannot be compiled
- using Sun's assembler /usr/ccs/bin/as.
-
-
The configure script tries to find out, which assembler program is used by
- your "gcc" command (in case the autodetection fails, use the
- --as=/whereever/you/have/installed/gnu-as option to tell the
- configure script where it can find GNU "as" on your system).
-
-
Error message from configure on a Solaris x86 system using GCC
- without GNU assembler:
Due to bugs in Solaris 8, you may not be able to play DVD discs larger
- than 4 GB:
-
-
-
The sd(7D) driver on Solaris 8 x86 has a bug when accessing a disk
- block >4GB on a device using a logical blocksize != DEV_BSIZE (i.e. CD-ROM
- and DVD media). Due to a 32Bit int overflow, a disk address modulo 4GB is
- accessed.
- (http://groups.yahoo.com/group/solarisonintel/message/22516)
-
- This problem does not exist in the SPARC version of Solaris 8.
-
-
-
A similar bug is present in the hsfs(7FS) filesystem code (aka
- ISO9660), hsfs may not not support partitions/disks larger than 4GB, all data
- is accessed modulo 4GB.
- (http://groups.yahoo.com/group/solarisonintel/message/22592).
-
- The hsfs problem can be fixed by installing patch 109764-04 (sparc) /
- 109765-04 (x86).
-
-
-
-
-
On Solaris with an UltraSPARC CPU, you can get some extra speed by
- using the CPU's VIS instructions for certain time consuming operations.
- VIS acceleration can be used in MPlayer by calling functions in Sun's
- mediaLib.
-
-
VIS accelerated operations from mediaLib are used for mpeg2 video
- decoding and for color space conversion in the video output drivers.
You can either try to install the GNU install program, and (if you did not
- put it in your global path) then point to the location with:
-
-
- ./configure --install-path=PATH
-
-
-
Or you can use the default install delivered with IRIX 6.5 in which case you
- will have to edit the Makefile a littlebit by hand. Change the following two
- lines:
The Cygwin port is still in its infancy. Currently there is no support for
- Win32 DLLs or OpenGL. SDL is known to distort sound and image or crash
- on some systems. Patches are always welcome.
- Best results are achieved with the native DirectX video output driver
- (-vo directx) and the native Windows waveout audio driver
- (-ao win32). You should also check out the
- mplayer-cygwin
- mailing list for help and latest information.
-
-
You have to copy or symlink etc/cygwin_inttypes.h from the
- MPlayer source directory to /usr/include/inttypes.h in order to
- make MPlayer compile.
-
-
To get native DirectX video, download
- DirectX 7 header files,
- extract them to /usr/include/ or /usr/local/include/
- and recompile. If the image is distorted, try turning off hardware
- acceleration with -vo directx:noaccel.
-
-
Instructions and files for making SDL run under Cygwin can be found on the
- libsdl site.
-
-
You can play VCDs by playing the .DAT or .MPG files
- that Windows exposes on VCDs. It works like this (adjust for the drive letter
- of your CD-ROM):
-
-
mplayer d:/mpegav/avseq01.dat
-
-
mplayer /cydrive/d/MPEG2/AVSEQ01.MPG
-
-
DVDs also work, just set the DVD device correctly to whatever your CD-ROM
- device is:
-
-
mplayer -dvd <title> -dvd-device '\\.\d:'
-
-
QuickTime DLLs have also been reported to work. Compile with
- --enable-qtx-codecs and put the codecs into the
- default Windows DLL location, C:\WINNT\system32 or
- C:\Windows\system depending on your Windows version.
There are some public mailing lists on MPlayer. Unless explicitly
- stated otherwise the language of these lists is English. Please do
- not send messages in other languages or HTML mail! Message size limit is 80k.
- If you have something bigger put it up for download somewhere. Click the
- links to subscribe. On the mailing lists, the same rules about writing
- and quoting apply as on usenet. Please follow them, it makes the life of
- those who read your mails a lot easier. If you do not know them please
- read HOWTO edit messages or
- (if you are in a hurry)
-
- Quoting HOWTO.
MPlayer developers list:
- http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
- This list is about MPlayer development! Talking about interface/API
- changes, new libraries, code optimization, configure changes is ontopic
- here. Send patches but not bug reports, user questions, feature
- requests or flames here to keep the list traffic low.
MPlayer CVS-log:
- http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog
- All changes in MPlayer code are automatically sent to this list. Only
- questions about these changes belong here (if you do not understand why a
- change is required or you have a better fix or you have noticed a possible
- bug/problem in the commit).
-
SIGILL (signal 4) on P3 using 2.2.x kernels:
- Problem: kernel 2.2.x doesn't have proper (working) SSE support
- Solution: upgrade kernel to 2.4.x
- Workaround: ./configure --disable-sse
-
-
General SIGILL (signal 4):
- Problem: you compiled and run mplayer in different machines
- (for example compiled on P3 and running on Celeron)
- Solution: compile MPlayer on the same machine where you will use it!
- Workaround: ./configure --disable-sse etc. options
-
-
"Internal buffer inconsistency" during MEncoder run:
- Problem: known problem when lame < 3.90 was compiled with gcc 2.96 or 3.x.
- Solution: use lame >=3.90.
- Workaround: compile lame with gcc 2.95.x and remove any already installed
- lame packages, they may have been compiled with gcc 2.96.
-
-
Messed up MP2/MP3 sound on PPC:
- Problem: known GCC miscompilation bug on PPC platforms, no fix yet.
- Workaround: use FFmpeg's (slow) MP1/MP2/MP3 decoder (-ac ffmpeg)
-
-
sig11 in libmpeg2, when scaling+encoding:
- Problem: known GCC 2.95.2 MMX bug, upgrade to 2.95.3.
-
-
-
Various A-V sync and other audio problems:
-
-General audio delay or jerky sound (exists with all or many files):
-
-
most common: buggy audio driver! - try to use different drivers, try
- ALSA 0.9 OSS emulation with -ao oss, also try -ao sdl, sometimes it helps.
- If your file plays fine with -nosound, then you can be sure it's sound card
- (driver) problem.
samplerate problems - maybe your card doesn't support the samplerate
- used in your files - try the resampling plugin (-aop)
-
slow machine (CPU or VGA)
- try with -vo null, if it plays well, then you have slow VGA card/driver
- Workaround: buy a faster card or read this documentation about how to speed up
- Also try -framedrop
-
-
-Audio delay/de-sync specific to one or a few files:
-
-
bad file
- Workaround:
-
-
-ni or -nobps option (for non-interleaved or bad files)
- and/or
-
-mc 0 (required for files with badly interleaved VBR audio)
- and/or
-
-delay option or +/- keys at runtime to adjust delay
-
- If none of these help, please upload the file, we'll check (and fix).
-
-
your sound card doesn't support 48kHz playback
- Workaround: buy a better sound card... or try to decrease fps by 10% (use
- -fps 27 for a 30fps movie) or use the resampler plugin
-
slow machine
- (if A-V is not around 0, and the last number in the status line increasing)
- Workaround: -framedrop
-
-
-No sound at all:
-
-
your file uses an unsupported audio codec
- Workaround: read the documentation and help us adding support for it
-
-
-No picture at all (just plain grey/green window):
-
-
your file uses an unsupported video codec
- Workaround: read the documentation and help us adding support for it
-
auto-selected codec can't decode the file, try to select another using -vc
- or -vfm options
-
you try to play DivX 3.x file with OpenDivX decoder or XviD (-vc odivx)
- - install Divx4Linux and recompile player
-
-
-
Video-out problems:
-
-
First note: options -fs -vm and -zoom are just recommendations, not (yet)
- supported by all drivers. So it isn't a bug if it doesn't work.
- Only a few driver supports scaling/zooming, don't expect this from x11 or dga.
-
-
OSD/sub flickering:
- - x11 driver: sorry, it can't be fixed now
- - xv driver: use -double option
-
-
Green image using mga_vid (-vo mga / -vo xmga):
- - mga_vid misdetected your card's RAM amount, reload it using mga_ram_size option
Good bug reports are a very valuable contribution to the development of any
+ software project. But just like writing good software, good problem reports
+ involve some work. Please realize that most developers are extremely busy and
+ receive obscene amounts of email. So while your feedback is crucial in
+ improving MPlayer and very much appreciated, please understand that you
+ have to provide all of the information we request and follow the
+ instructions in this document closely.
If you feel have the necessary skills you are invited to have a go at fixing
+ the bug yourself. Or maybe you already did that? Please read
+ this short document to find out how to get
+ your code included in MPlayer. The people on the
+ mplayer-dev-eng
+ mailing list will assist you if you have questions.
First of all please try the latest CVS version of MPlayer as your bug
+ might already be fixed there. Development moves extremely fast, most problems
+ in official releases are reported within days or even hours, so please use
+ only CVS to report bugs. CVS instructions can be found at the bottom of
+ this page or in the
+ README. If this did not help please refer to the
+ list of known bugs and the
+ rest of the documentation. If your problem is not known or not solvable by our
+ instructions, then please report the bug.
+
+
Please do not send bug reports privately to individual developers. This is
+ community work and thus there might be several people interested in it.
+ Sometimes other users already experienced your troubles and know how to
+ circumvent a problem even if it is a bug in MPlayer code.
+
+
Please describe your problem in as much detail as possible. Do a little
+ detective work to narrow down the circumstances under which the problem
+ occurs. Does the bug only show up in certain situations? Is it specific to
+ certain files or file types? Does it occur with only one codec or is it codec
+ independent? Can you reproduce it with all output drivers? The more
+ information you provide the better are our chances at fixing your problem.
+ Please do not forget to also include the valuable information requested below,
+ we will be unable to properly diagnose your problem otherwise.
+
+
An excellent and well written guide to asking questions in public forums is
+ How To Ask Questions The Smart Way
+ by Eric S. Raymond. There is another
+ called
+ How to Report Bugs Effectively
+ by Simon Tatham. If
+ you follow these guidelines you should be able to get help. But please
+ understand that we all follow the mailing lists voluntarily in our free time.
+ We are very busy and cannot guarantee that you will get a solution for your
+ problem or even an answer.
The language of this list is English. Please follow the standard
+ Netiquette Guidelines and
+ do not send HTML mail to any of our mailing lists. You will only get
+ ignored or banned. If you do not know what HTML mail is or why it is evil,
+ read this fine document. It
+ explains all the details and has instructions for turning HTML off. Also note
+ that we will not individually CC (carbon-copy) people so it is a good idea to
+ subscribe to actually receive your answer.
You may need to include log, configuration or sample files in your bug
+ report. If some of them are quite big then it is better to upload them to our
+ FTP server in a compressed
+ format (gzip and bzip2 preferred) and include only the path and file name in
+ your bug report. Our mailing lists have a message size limit of 80k, if you
+ have something bigger you have to compress or upload it.
If you get errors while running ./configure, or autodetection
+ of something fails, read configure.log. You may find the answer
+ there, for example multiple versions of the same library mixed on your system,
+ or you forgot to install the development package (those with the -dev suffix). If you think there is a bug, include configure.log in your bug
+ report.
Please include the output of MPlayer at verbosity level 1, but
+ remember to not truncate the output when you paste it into your mail.
+ The developers need all of the messages to properly diagnose a problem. You
+ can direct the output into a file like this:
Also upload a small text file having the same base name as your file
+ with a .txt extension. Describe the problem you are having with the
+ particular file there and include your email address as well as the output
+ of MPlayer at verbosity level 1. Usually the first 1-5 MB of a file are
+ enough to reproduce the problem, but to be sure we ask you to:
+
+
dd if=yourfile of=smallfile bs=1024k count=5
+
+
It will take the first five megabytes of 'your-file' and
+ write it to 'small-file'. Then try again on this small file
+ and if the bug still shows up your sample is sufficient for us. Please
+ do not ever send such files via mail! Upload it, and send
+ only the path/filename of the file on the FTP-server. If the file is
+ accessible on the net, then sending the exact URL is
+ sufficient.
You have to run MPlayer inside gdb and send us the complete
+ output or if you have a core dump of the crash you can extract useful
+ information from the Core file. Here's how:
If you created a proper bug report following the steps above and you are
+ confident it is a bug in MPlayer, not a compiler problem or broken
+ file, you have already read the documentation and you could not find a
+ solution, your sound drivers are OK, then you might want to subscribe to the
+ mplayer-advusers list and send your bug report there to get a better and
+ faster answer.
+ Please be advised that if you post newbie questions or questions answered
+ in the manual there, you will be ignored or flamed instead of getting an
+ appropriate answer.
+ So do not flame us and subscribe to -advusers only if you really know
+ what you are doing and feel like being an advanced MPlayer user or
+ developer. If you meet these criteria it should not be difficult to find
+ out how to subscribe...
+
+
+
diff -r 007a1bdce1f4 -r 1b3444713694 DOCS/en/cd-dvd.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DOCS/en/cd-dvd.html Mon Feb 10 00:00:00 2003 +0000
@@ -0,0 +1,266 @@
+
+
+
+
+ CD, DVD, VCD - MPlayer - The Movie Player for Linux
+
+
+
+
+
+
+
+
Modern CD-ROM drives can attain very high head speeds, yet some CD-ROM drives
+ are capable of running at reduced speeds. There are several reasons that might
+ make you consider changing the speed of a CD-ROM drive:
+
+
+
There have been reports of read errors at high speeds, especially
+ with badly pressed CD-ROMs. Reducing the speed can prevent data loss under
+ these circumstances.
+
Many CD-ROM drives are annoyingly loud, a lower speed may reduce the
+ noise.
+
+
+
You can reduce the speed of IDE CD-ROM drives with hdparm or a
+ program called setcd. It works like this:
This sets prefetched file reading to 2MB, which helps with scratched CD-ROMs.
+ If you set it to too high, the drive will continuously spin up and down, and
+ will dramatically decrease the performance.
+ It is recommended that you also tune your CD-ROM drive with
+ hdparm:
+
+
hdparm -d1 -a8 -u1 (cdrom device)
+
+
This enables DMA access, read-ahead, and IRQ unmasking (read the
+ hdparm man page for a detailed explanation).
+
+
Please refer to "/proc/ide/[cdrom device]/settings" for
+ fine-tuning your CD-ROM.
+
+
SCSI drives do not have a uniform way of setting these parameters (Do you
+ know one? Tell us!) There is a tool that works for
+ Plextor SCSI drives.
For the complete list of available options, please read the man page.
+ The Syntax for a standard Digital Versatile Disc (DVD) is as follows:
+
+
mplayer -dvd <track> [-dvd-device <device>]
+
+
Example: mplayer -dvd 1 -dvd-device /dev/hdc
+
+
The default DVD device is /dev/dvd. If your setup differs,
+ make a symlink or specify the correct device on the command line with the
+ -dvd-device option.
+
+
New-style DVD support (mpdvdkit2)
+
+
MPlayer uses libdvdread and libdvdcss for
+ DVD decryption and playback. These two libraries are contained in the
+ libmpdvdkit2/ subdirectory of the MPlayer source tree, you
+ do not have to install them separately. We opted for this solution because
+ we had to fix a libdvdread bug and apply a patch which adds
+ cracked CSS keys caching support to libdvdcss. This results
+ in a large speed increase because the keys do not have to be cracked every time
+ before playing.
+
+
MPlayer can also use system-wide libdvdread and
+ libdvdcss libraries, but this solution is not recommended,
+ as it can result in bugs, library incompatibilities and slower speed.
+
+
DVD Navigation support (dvdnav)
+
+
Support for DVD navigation via dvdnav was being worked on, but
+ it was never finished properly and it is currently unmaintained. Who knows, it
+ might even compile.
+
+
Old-style DVD support - OPTIONAL
+
+
Useful if you want to play encoded VOBs from hard disk. Compile and
+ install libcss 0.0.1 (not newer) for this (If MPlayer fails to
+ detect it, use the -csslib /path/to/libcss.so option). To use it,
+ you need to be root, use a suid root MPlayer binary or let MPlayer call the
+ suid-root fibmap_mplayer wrapper program.
+
+
DVD structure
+
+
DVD disks have 2048 bytes per sector with ECC/CRC. They usually have an UDF
+ filesystem on a single track, containing various files (small .IFO and .BUK
+ files and big (1GB) .VOB files). They are real files and can be copied/played
+ from the mounted filesystem of an unencrypted DVD.
+
+
The .IFO files contain the movie navigation information (chapter/title/angle
+ map, language table, etc) and are needed to read and interpret the .VOB
+ content (movie). The .BUK files are backups of them. They use sectors
+ everywhere, so you need to use raw addressing of sectors of the disc to
+ implement DVD navigation or decrypt the content.
+
+
The whole old-style DVD support with libcss therefore needs a mounted DVD
+ filesystem and raw sector-based access to the device. Unfortunately you must
+ (under Linux) be root to get the sector address of a file. You have the
+ following choices:
+
+
+
Be root or use a suid-root mplayer binary.
+
Let MPlayer call the suid-root fibmap_mplayer wrapper program to access
+ the DVD (used in the old-style DVD playback over libcss).
+
Don't use the kernel's filesystem driver at all and reimplement it in
+ userspace. libdvdread 0.9.x and libmpdvdkit do this (new-style DVD
+ support). The kernel UDF filesystem driver is not needed as they already
+ have their own builtin UDF filesystem driver. Also the DVD does not have to
+ be mounted as only the raw sector-based access is used.
+
+
+
Sometimes /dev/dvd cannot be read by users, so the libdvdread
+ authors implemented an emulation layer which transfers sector addresses to
+ filenames+offsets, to emulate raw access on top of a mounted filesystem
+ or even on a hard disk.
+
+
libdvdread even accepts the mountpoint instead of the device name for raw
+ access and checks /proc/mounts to get the device name. It was
+ developed for Solaris, where device names are dynamically allocated.
+
+
The default DVD device is /dev/dvd. If your setup differs,
+ make a symlink, or specify the correct device on the command line with the
+ -dvd-device option.
+
+
DVD authentication
+
+
The authentication and decryption method of the new-style DVD support is done
+ using a patched libdvdcss (see above). The method can be specified through the
+ environment variable DVDCSS_METHOD, which can be set to
+ key, disk or title.
+
+
If nothing is specified it tries the following methods
+ (default: key, title request):
+
+
+
bus key: This key is negotiated during authentication (a long mix
+ of ioctls and various key exchanges, crypto stuff) and is used to encrypt
+ the title and disk keys before sending them over the unprotected bus
+ (to prevent eavesdropping). The bus key is needed to get and predecrypt the
+ crypted disk key.
+
cached key: MPlayer looks for already cracked
+ title keys which are stored in the ~/.mplayer/DVDKeys directory
+ (fast ;).
+
key: If no cached key is available, MPlayer tries to
+ decrypt the disk key with a set of included player keys.
+
disk: If the key method fails (e.g. no included player keys),
+ MPlayer will crack the disk key using a brute force algorithm.
+ This process is CPU intensive and requires 64 MB of memory (16M 32Bit
+ entries hash table) to store temporary data. This method should always
+ work (slow).
+
title request: With the disk key MPlayer requests the crypted title
+ keys, which are inside hidden sectors using ioctl().
+ The region protection of RPC-2 drives is performed in this step and may
+ fail on such drives. If it succeeds, the title keys will be decrypted with
+ the bus and disk key.
+
title: This method is used if the title request failed and does
+ not rely on any key exchange with the DVD drive. It uses a crypto attack to
+ guess the title key directly (by finding a repeating pattern in the
+ decrypted VOB content and guessing that the plain text corresponding to the
+ first encrypted bytes is a continuation of that pattern).
+ The method is also known as "known plaintext attack" or "DeCSSPlus".
+ In rare cases this may fail because there is not enough encrypted data on
+ the disk to perform a statistical attack or because the key changes in the
+ middle of a title. This method is the only way to decrypt a DVD stored on a
+ hard disk or a DVD with the wrong region on an RPC2 drive (slow).
+
+
+
RPC-1 DVD drives only protect region settings through software.
+ RPC-2 drives have a hardware protection that allows 5 changes only. It might
+ be needed/recommended to upgrade the firmware to RPC-1 if you have a RPC-2 DVD
+ drive. Firmware upgrades can be found on this
+ firmware page. If there is
+ no firmware upgrade available for your device, use the
+ regionset
+ tool to set the region code of your DVD drive (under Linux).
+ Warning: You can only set the region 5 times.
For the complete list of available options, please read the man page.
+ The Syntax for a standard Video CD (VCD) is as follows:
+
+
mplayer -vcd <track> [-cdrom-device <device>]
+
+
Example: mplayer -vcd 2 -cdrom-device /dev/hdc
+
+
The default VCD device is /dev/cdrom. If your setup differs,
+ make a symlink or specify the correct device on the command line with the
+ -cdrom-device option.
+
+
Note: At least Plextor and some Toshiba SCSI CD-ROM drives have
+ horrible performance reading VCDs. This is because the the CDROMREADRAW ioctl
+ is not fully implemented for these drives. If you have some knowledge of SCSI
+ programming, please help us implement generic
+ SCSI support for VCDs.
+
+
In the meantime you can extract data from VCDs with
+ readvcd
+ and play the resulting file with MPlayer.
+
+
VCD structure
+
+
VCD disks consist of one or more tracks:
+
+
+
The first track is a small 2048 bytes/sector data track with an iso9660
+ filesystem, usually containing Windows VCD player programs and maybe other
+ information (images, text, etc).
+
The second and other tracks are raw 2324 bytes/sector MPEG (movie) tracks,
+ containing one MPEG PS data packet per sector instead of a filesystem.
+ Similar to audio CD tracks, these tracks cannot be mounted (Did you
+ ever mount an audio CD to play it?). As most movies are inside this track,
+ you should try -vcd 2 first.
+
There exist VCD disks without the first track (single track and no
+ filesystem at all). They are still playable, but cannot be mounted.
+
+
+
About .DAT files:
+
+
The ~600 MB file visible on the first track of the mounted VCD is not a real
+ file! It is a so called ISO gateway, created to allow Windows to handle such
+ tracks (Windows does not allow raw device access to applications at all).
+ Under Linux you cannot copy or play such files (they contain garbage). Under
+ Windows it is possible as its iso9660 driver emulates the raw reading of
+ tracks in this file. To play a .DAT file you need the kernel driver which can
+ be found in the Linux version of PowerDVD. It has a modified iso9660
+ filesystem (vcdfs/isofs-2.4.X.o) driver, which is able to emulate
+ the raw tracks through this shadow .DAT file. If you mount the disc using
+ their driver, you can copy and even play .DAT files with mplayer. But it
+ will not work with the standard iso9660 driver of the Linux kernel!
+ Use the -vcd option instead. Alternatives for VCD copying are
+ the new cdfs kernel
+ driver (not part of the official kernel) that shows CD sessions
+ as image files and cdrdao, a
+ bit-by-bit CD grabbing/copying application.
+
+
+
diff -r 007a1bdce1f4 -r 1b3444713694 DOCS/en/codecs-in.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DOCS/en/codecs-in.html Mon Feb 10 00:00:00 2003 +0000
@@ -0,0 +1,185 @@
+
+
+
+ Codec Status Table - MPlayer - The Movie Player for Linux
+
+
+
+
+
See the
+ codec status table
+ for the complete, daily generated list. Quite a few codecs are available for
+ download from our homepage. Grab them from our
+ codecs page.
+
+
The most important ones above all:
+
+
MPEG1 (VCD) and MPEG2 (DVD) video
+
native decoders for DivX ;-), OpenDivX, DivX4,
+ DivX5, M$ MPEG4 v1, v2 and other MPEG4 variants
+
native decoder for Windows Media Video 7/8 (WMV1/WMV2), and
+ Win32 DLL decoder for Windows Media Video 9 (WMV3), both
+ used in .wmv files
+
native Sorenson 1 (SVQ1) decoder
+
Win32/QT Sorenson 3 (SVQ3) decoder
+
3ivx v1, v2 decoder
+
Cinepak and Intel Indeo codecs (3.1, 3.2, 4.1, 5.0)
+
MJPEG, AVID, VCR2, ASV2 and other hardware formats
+
VIVO 1.0, 2.0, I263 and other h263(+) variants
+
FLI/FLC
+
RealVideo 1.0 codec from libavcodec, and RealVideo 2.0,
+ 3.0 and 4.0 codecs using RealPlayer libraries
+
native decoder for HuffYUV
+
various old simple RLE-like formats
+
+
+
If you have a Win32 codec not listed here which is not supported yet, please
+ read the codec importing HOWTO and help us add support
+ for it.
This section contains information about the DivX4 and DivX5 codecs of
+ Project Mayo. Their first available
+ alpha version was OpenDivX 4.0 alpha 47 and 48. Support for this was included
+ in MPlayer in the past, and built by default. We also used its
+ postprocessing code to optionally enhance visual quality of MPEG1/2 movies.
+ Now we use our own, for all file types.
+
+
The new generation of this codec is called DivX4 and can even decode
+ movies made with the infamous DivX codec! In addition it is much faster than
+ the native Win32 DivX DLLs but slower than libavcodec. Hence its usage as a
+ decoder is DISCOURAGED. However, it is useful for encoding. One
+ disadvantage of this codec is that it is not available under an Open Source
+ license.
+
+
DivX4Linux works in two modes:
+
+
+
-vc odivx
+
Uses the codec in OpenDivX fashion. In this case it
+ produces YV12 images in its own buffer, and MPlayer does colorspace
+ conversion via libvo. (Fast, recommended!)
+
+
-vc divx4
+
Uses the colorspace conversion of the codec.
+ In this mode you can use YUY2/UYVY, too. (SLOW)
+
+
+
The -vc odivx method is usually faster, due to the fact that it
+ transfers image data in YV12 (planar YUV 4:2:0) format, thus requiring much
+ less bandwidth on the bus. For packed YUV modes (YUY2, UYVY) use the
+ -vc divx4 method. For RGB modes the speed is the same, differing
+ at best according to your current color depth.
+
+
Note: If your -vo driver supports direct rendering, then
+ -vc divx4 may be faster or even the fastest solution.
+
+
The Divx4/5 binary codec library can be downloaded from
+ avifile or
+ divx.com.
+ Unpack it, run ./install.sh as root and do not forget adding
+ /usr/local/lib to your /etc/ld.so.conf and running
+ ldconfig.
+
+
Get the CVS version of the OLD OpenDivx core library like this:
cvs -d:pserver:anonymous@cvs.projectmayo.com:/cvsroot co divxcore
+
This core library is split into a decore and encore library that have to
+ be compiled separately. For the decore Library, simply type
+
+ cd divxcore/decore/build/linux
+ make
+ cp libdivxdecore.so /usr/local/lib
+ ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
+ cp ../../src/decore.h /usr/local/include
+
+
+
Alas, for the encore library there is no Linux Makefile available, and the
+ MMX optimized code only works on Windows. You can still compile it, though,
+ by using this
+ Makefile.
+
+ cd ../../../encore/build
+ mkdir linux
+ cd linux
+ cp path/Makefile .
+ make
+ cp libdivxencore.so /usr/local/lib
+ ln -s /usr/local/lib/libdivxdecore.so /usr/local/lib/libdivxdecore.so.0
+ cp ../../src/encore.h /usr/local/include
+
+
+
+
+
MPlayer autodetects DivX4/DivX5 if it is properly installed, just
+ compile as usual. If it does not detect it, you did not install or configure
+ it correctly.
FFmpeg contains an
+ open source codec package, which is capable of decoding streams
+ encoded with
+ H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/HuffYUV
+ video, or WMA (Windows Media Audio) audio codecs. Not only some of
+ them can be encoded with, but it also offers higher speed than the Win32
+ codecs or the DivX.com DivX4/5 library!
+
+
It contains a lot of nice codecs, especially important are the MPEG4
+ variants:
+ DivX3, DivX4, DivX5, Windows Media Video 7 (WMV1). Also a very
+ interesting one is the WMA decoder.
+
+
If you use an MPlayer release you have libavcodec right in the
+ package, just build as usual. If you use MPlayer from CVS you have to
+ extract libavcodec from the FFmpeg CVS tree as FFmpeg releases don't
+ work with MPlayer. In order to achieve this do:
cvs -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co ffmpeg
+
Move the libavcodec directory from the FFmpeg sources to the
+ root of the MPlayer CVS tree. It should look like this:
+
main/libavcodec
+ Symlinking is not enough, you have to copy or move it!
+
Compile. Configure should detect problems before compilation.
+
+
+
Note: MPlayer from CVS does contain a libavcodec
+ subdirectory, but it does not contain the source for libavcodec!
+ You must follow the steps above to obtain the source for this library.
+
+
With FFmpeg and my Matrox G400, I can view even the highest resolution DivX
+ movies without dropped frames on my K6/2 500.
+ Be advised that the XAnim binary codecs are packaged with a piece of text
+ claiming to be a legally binding software license which, besides other
+ restrictions, forbids the user to use the codecs in conjunction with any
+ program other than XAnim. However, the XAnim author has yet to bring legal
+ action against anyone for codec-related issues.
+
+
+
INSTALLATION AND USAGE
+
MPlayer is capable of employing the XAnim codecs for decoding. Follow
+ the instructions to enable them:
+
+
+
Download the codecs you wish to use from the
+ XAnim site. The 3ivx codec
+ is not there, but at the 3ivx site.
+
OR download the codecs pack from our
+ codecs page.
+
+
Use the --with-xanimlibdir option to tell configure where
+ to find the XAnim codecs. By default, it looks for them at
+ /usr/local/lib/xanim/mods, /usr/lib/xanim/mods and /usr/lib/xanim.
+ Alternatively you can set the environment variable XANIM_MOD_DIR to
+ the directory of the XAnim codecs.
+
Rename/symlink the files, cutting out the architecture stuff, so they will
+ have filenames like these: vid_cvid.xa, vid_h263.xa, vid_iv50.xa.
+
+
+
XAnim is video codec family xanim, so you may want to use the -vfm xanim
+ option to tell MPlayer to use them if possible.
MPlayer can play Vivo (1.0 and 2.0) videos. The most suitable codec
+ for 1.0 files is FFmpeg's H263 decoder, you can use it with the -vc
+ ffh263 option. For 2.0 files, use the Win32 DLL through the
+ -vc vivo option. If you do not supply command line options
+ MPlayer selects the best codec automatically.
MPEG1 and MPEG2 are decoded by the multiplatform native libmpeg2
+ library, whose source code is included in MPlayer. We handle buggy
+ MPEG 1/2 video files by catching Signal 11 (Segmentation fault),
+ and quickly reinitializing the codec, continuing exactly from where the
+ failure occurred. This recovery technique has no measurable speed penalty.
This is a very old and very bad codec from Microsoft. In the past it was
+ decoded with the msvidc32.dll Win32 codec, now we have our own
+ open source implementation (by Mike
+ Melanson).
MPlayer uses its own open source, multiplatform Cinepak decoder (by
+ Dr. Tim Ferguson), by default.
+ It supports YUV outputs, so that hardware scaling is possible if the video
+ output driver permits it.
It is recommended to download and install RealPlayer8 or RealONE, because
+ MPlayer can use their libraries to decode files with RealVideo 2.0 -
+ 4.0 video. The MPlayer configure script should detect the
+ RealPlayer libraries in the standard locations of a full installation. If it
+ does not, tell configure where to look with the
+ --with-reallibdir option.
+
+
Note: RealPlayer libraries currently only work with Linux, FreeBSD,
+ NetBSD and Cygwin on the x86 and Alpha platforms.
XViD is a forked development of
+ the OpenDivX codec. It happened when ProjectMayo changed OpenDivX to closed
+ source DivX4 (now DivX5), and the non-ProjectMayo people working on OpenDivX
+ got angry, then started XViD. So both projects have the same origin.
+
+
ADVANTAGES
+
+
+
open source
+
its API is compatible with DivX4 so adding support for it is easy
+
2-pass encoding support
+
nice encoding quality, higher speed than DivX4 (you can optimize it for
+ your box while compiling)
+
+
+
DISADVANTAGES
+
+
+
currently it does not properly decode all DivX/DivX4 files (no
+ problem as libavcodec can play them)
+
you have to choose between DivX4 or XViD support at compiletime
+
under development
+
+
+
INSTALLING XVID CVS
+
+
XViD is currently available only from CVS. Here are the
+ download and installation instructions:
Sorenson is a video codec family developed by Sorenson Media and
+ licensed to Apple who distribute it with their QuickTime Player. We are
+ currently able to decode all versions of Sorenson video files with the
+ following decoders:
+
+
+
Sorenson 1 (fourcc SVQ1) - decoding supported by native
+ codecs
+ Actually there are two (nearly equal) decoders for SVQ1: one is built in
+ MPlayer, the other is in libavcodec. You can invoke each of them with the
+ -vc svq1 and -vc ffsvq1 options respectively.
+ Some files may work with one of them, and not with the other, so test
+ both decoders. The decoder was written (reverse engineered) by the
+ xine authors.
This is the default decoder used for files with AC3 audio.
+
+
The AC3 decoder can create audio output mixes for 2, 4, or 6 speakers. When
+ configured for 6 speakers, this decoder provides separate output of all the
+ AC3 channels to the sound driver, allowing for full "surround sound"
+ experience without the external AC3 decoder required to use the hwac3
+ codec.
+
+
Use the -channels option to select the number of output
+ channels. Use -channels 2 for a stereo downmix. For a 4
+ channel downmix (Left Front, Right Front, Left Surround and Right Surround
+ outputs), use -channels 4. In this case, any center channel will
+ be mixed equally to the front channels. -channels 6 will output
+ all the AC3 channels as they are encoded - in the order Left, Right, Left
+ Surround, Right Surround, Center and LFE.
+
+
The default number of output channels is 2.
+
+
To use more than 2 output channels, you will need to use OSS, and have a
+ sound card that supports the appropriate number of output channels via the
+ SNDCTL_DSP_CHANNELS ioctl. An example of a suitable driver is emu10k1 (used
+ by Soundblaster Live! cards) from August 2001 or newer (ALSA CVS is also
+ supposed to work).
You need an AC3 capable sound card, with digital out (SP/DIF). The card's
+ driver must properly support the AFMT_AC3 format (C-Media does). Connect
+ your AC3 decoder to the SP/DIF output, and use the -ac hwac3
+ option. It is experimental but known to work with C-Media cards,
+ Soundblaster Live! using ALSA (but not OSS) drivers and DXR3/Hollywood+ MPEG
+ decoder cards.
The audio codec used in VIVO files depends on whether it is a VIVO/1.0 or
+ VIVO/2.0 file. VIVO/1.0 files have g.723 audio, and VIVO/2.0 files
+ have Vivo Siren audio. Both are supported.
QDesign audio streams (fourcc: QDMC, QDM2) are found in MOV/QT
+ files. Both versions of this codec can be decoded with QuickTime libraries.
+ For installation instructions please see the Sorenson
+ video codec section.
Qualcomm audio stream (fourcc: Qclp) is found in MOV/QT files.
+ It can be decoded with QuickTime libraries. For installation instructions
+ please see the Sorenson video codec section.
VFW (Video for Windows) is the old Video API for Windows. Its codecs have
+ the .DLL or (rarely) .DRV extension.
+ If MPlayer fails at playing your AVI with this kind of message:
+
+
UNKNOWN video codec: HFYU (0x55594648)
+
+
It means your AVI is encoded with a codec which has the HFYU fourcc (HFYU =
+ HuffYUV codec, DIV3 = DivX Low Motion, etc...). Now that you know this, you
+ have to find out which DLL Windows loads in order to play this file. In our
+ case, the system.ini contains this information in a line that
+ reads:
+
+
VIDC.HFYU=huffyuv.dll
+
+
So you need the huffyuv.dll file. Note that the audio codecs are
+ specified by the MSACM prefix:
+
+
msacm.l3acm=L3codeca.acm
+
+
+
This is the MP3 codec. Now that you have all the necessary information
+ (fourcc, codec file, sample AVI), submit your codec support request by mail,
+ and upload these files to the FTP site:
Note: On Windows NT/2000/XP search for this info in the registry, e.g. search for
+ "VIDC.HFYU". To find out how to do this, look at the old DirectShow method below.
In the entry DisplayName look at the text in winged brackets
+ after the backslash and write it down (five dash-delimited blocks, the
+ GUID).
+
The codec binary is the file specified in the Filename
+ entry.
+
+
+
Note: If there is no Filename entry and DisplayName
+ contains something like device:dmo, then it is a DMO-Codec.
+
+
Old Method: Take a deep breath and start searching the registry...
+
+
+
Start regedit.
+
Press Ctrl-f, disable the first two checkboxes, and enable
+ the third. Type in the fourcc of the codec (e.g. TM20).
+
You should see a field which contains the path and the filename
+ (e.g. C:\WINDOWS\SYSTEM\TM20DEC.AX).
+
Now that you have the file, we need the GUID. Try searching again, but
+ now search for the codec's name, not the fourcc. Its name can be acquired
+ when Media Player is playing the file, by checking File -> Properties
+ -> Advanced.
+ If not, you are out of luck. Try guessing (e.g. search for TrueMotion).
+
If the GUID is found you should see a FriendlyName and a CLSID
+ field. Write down the 16 byte CLSID, this is the GUID we need.
+
+
+
Note: If searching fails, try enabling all the checkboxes. You may have
+ false hits, but you may get lucky...
+
+
Now that you have all the necessary information (fourcc, GUID, codec file,
+ sample AVI), submit your codec support request by mail, and upload these files
+ to the FTP site:
If you are a first-time installer: be sure to read everything from here to
+ the end of the Installation section, and follow the links you will find. If
+ you have any other questions, return to the Table of Contents and
+ search for the topic, read the FAQ, or try grepping
+ through the files.
+
+
The main rule of this documentation: if it's not documented, it
+ does not exist. If I don't say you encode audio from TV tuner, you
+ can't. A healthy quantity of combining ability is welcomed, though.
+ Good luck. You'll need it :) And for another good advice, let me quote
+ Chris Phillips from the
+ mplayer-users
+ mailing list:
+
+
+ I said a while ago that there is such a difference between a newbie and
+ a dumbass. No matter what you actually know about a system (linux, cars,
+ girls :D) you should ALWAYS be able to take a step back and be objective,
+ otherwise, you're just dumb IMHO. A girl i live with assumed the vacuum
+ cleaner was broken because it didn't suck things up. never thought to change
+ the bag, becasue she'd never done it before... now that's just stupid, not a
+ case of simply not knowing what to do... Simply not being that familiar with
+ your surroundings is no excuse for a) laziness and b) ignorance. So many
+ people seem to see the word "error" and then stop... few seem to actually
+ read the words on the OTHER side of the colon.
+
MPlayer is a movie player for LINUX (runs on many other Unices, and
+ non-x86 CPUs, see the ports section). It plays most
+ MPEG, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg,
+ FILM, RoQ, PVA files, supported by many native, XAnim, RealPlayer, and
+ Win32 DLL codecs. You can watch VideoCD, SVCD, DVD,
+ 3ivx, RealMedia, and DivX movies too (and you don't need
+ the avifile
+ library at all!). Another big feature of MPlayer is the wide range of
+ supported output drivers. It works with X11, Xv, DGA, OpenGL, SVGAlib, fbdev,
+ AAlib, DirectFB, but you can also use GGI and SDL (and this way all their
+ drivers) and some lowlevel card-specific drivers (for Matrox, 3Dfx and Radeon,
+ Mach64, Permedia3) too! Most
+ of them supports software or hardware scaling, so you can enjoy movies in
+ fullscreen. MPlayer supports displaying through some hardware MPEG
+ decoder boards, such as the DVB and
+ DXR3/Hollywood+. And what about the nice big antialiased
+ shaded subtitles (10 supported types) with European/ISO 8859-1,2
+ (Hungarian, English, Czech, etc), Cyrillic, Korean fonts, and the onscreen
+ display (OSD)?
+
+
The player is rock solid playing damaged MPEG files (useful for some VCDs),
+ and it plays bad AVI files which are unplayable with the famous
+ windows media player. Even AVI files without index chunk are playable, and
+ you can temporarily rebuild their indexes with the -idx option, or
+ permanently with MEncoder, thus enabling seeking!
+ As you see, stability and quality are the most important things,
+ but the speed is also amazing.
+
+
MEncoder (MPlayer's Movie Encoder) is a simple movie encoder,
+ designed to encode MPlayer-playable movies
+ (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) to other
+ MPlayer-playable formats (see below). It can encode with various codecs, like
+ DivX4 (1 or 2 passes), libavcodec,
+ PCM/MP3/VBR MP3 audio. Also has powerful plugin system
+ for video manipulation.
+
+
MEncoder features
+
+
+
encoding from the wide range of fileformats and decoders of MPlayer
+
encoding to all the codecs of ffmpeg's
+ libavcodec
+
video encoding from V4L compatible TV tuners
+
encoding/multiplexing to interleaved AVI files with proper index
+
creating files from external audio stream
+
1, 2 or 3 pass encoding
+
VBR MP3 audio - IMPORTANT NOTE: VBR MP3 audio doesn't
+ always play nicely on Windows players!
+
PCM audio
+
stream copying
+
input A/V synchronizing (PTS-based, can be disabled with -mc 0 option)
+
FPS correction with -ofps option (useful when encoding
+ 29.97fps VOB to 24fps AVI)
+
using our very powerful plugin system (crop, expand, flip, postprocess,
+ rotate, scale, rgb/yuv conversion)
+
can encode DVD/VOBsub AND text subtitles into the output file
+
can rip DVD subtitles to Vobsub format
+
+
+
Planned features
+
+
+
even wider variety of available en/decoding formats/codecs
+ (creating VOB files with DivX4/Indeo5/VIVO streams :)
+
+
+
MPlayer and MEncoder can be distributed under the terms of the GNU General
+ Public License Version 2.
This began a year ago...
+ I (A'rpi) have tried lots of players under linux (mtv,xmps,dvdview,livid/oms,videolan,
+ xine,xanim,avifile,xmmp) but they all have some problem. Mostly with special
+ files or with audio/video sync. Most of them is unable to play both MPEG1,
+ MPEG2 and AVI (DivX) files. Many players have image quality or speed problems
+ too. So I've decided to write/modify one...
+
+
+
mpg12play v0.1-v0.3: Sep 22-25, 2000
+ The first try, hacked together in a half hour!
+ I've used libmpeg3 from www.heroinewarrior.com up to the version 0.3,
+ but there were image quality and speed problems with it.
+
mpg12play v0.5-v0.87: Sep 28-Oct 20, 2000
+ Mpeg codec replaced with DVDview by Dirk Farin, it was a great stuff,
+ but it was slow and was written in C++ (I hate C++!!!)
+
mpg12play v0.9-v0.95pre5: Oct 21-Nov 2, 2000
+ Mpeg codec was libmpeg2 (mpeg2dec) by Aaron Holtzman & Michel Lespinasse.
+ It's great, optimized very fast C code with perfect image quality and
+ 100% MPEG standard conformance.
+
MPlayer v0.01: Nov 11, 2000
+ The first MPlayer.
+
MPlayer v0.3-v0.9: Nov 18-Dec 4, 2000
+ It was a pack of two programs: mpg12play v0.95pre6 and my new simple AVI
+ player 'avip' based on avifile's Win32 DLL loader.
+
MPlayer v0.10: Jan 1, 2001
+ The MPEG and AVI player in a single binary!
+
MPlayer v0.11pre series:
+ Some new developers joined and from 0.11 the mplayer project is a team-work!
+ Added .ASF file support, and OpenDivX (see www.projectmayo.com) en/decoding.
+
MPlayer v0.17a "The IdegCounter" Apr 27, 2001
+ The release version of the 0.11pre after 4 months of heavy development!
+ Try it, and be amazed! Thousands of new features added... and of course
+ old code was improved too, bugs removed etc.
+
MPlayer 0.18 "The BugCounter" Jul 9, 2001
+ 2 months since 0.17 and here's a new release.. Completed ASF support,
+ more subtitle formats, introduced libao (similar to libvo but to audio),
+ even more stable than ever, and so on. It's a MUST!
+
MPlayer 0.50 "The Faszom(C)ounter" Oct 8, 2001
+ Hmm. Release again. Tons of new features, beta GUI version, bugs fixed,
+ new vo and ao drivers, ported to many systems, including opensource DivX
+ codecs and much more. Try it!
+
MPlayer 0.60 "The RTFMCounter" Jan 3, 2002
+ MOV/VIVO/RM/FLI/NUV fileformats support, native CRAM, Cinepak, ADPCM codecs,
+ and support for XAnim's binary codecs; DVD subtitles support, first
+ release of MEncoder, TV grabbing, cache, liba52, countless fixes.
+
MPlayer 0.90pre10 "The BirthdayCounter" Nov 11, 2002
+ Although this is not a release, I am going to mention it because it
+ came out 2 years after MPlayer v0.01. Happy birthday, MPlayer!
+
MPlayer 0.90rc1 "The CodecCounter" Dec 7, 2002
+ Again not a release, but after adding Sorenson 3 (QuickTime) and Windows
+ Media 9 support, MPlayer is the world's first movie player with support
+ for all known video formats!
In this chapter I'll try to guide you through the compiling and
+ configuring process of MPlayer. It's not easy, but it won't necessarily
+ be hard. If you experience a different behavior than what I explain, please
+ search through this documentation and you'll find your answers. If you
+ see links, please follow them and read carefully what they contain. It
+ will take some time, but it DOES worth it.
+
+
You need a fairly recent system. On Linux, 2.4.x kernels are recommended.
+
+
Software requirements:
+
+
+
binutils - suggested version is 2.11.x . This program is
+ responsible for generating MMX/3DNow!/etc instructions, thus very important.
+
gcc - suggested versions are: 2.95.3 (maybe 2.95.4) and 3.2+.
+ NEVER use 2.96 or 3.0.x! They generate faulty code for MPlayer.
+ If you decide to change gcc from 2.96, then don't decide in favor of 3.0.x
+ just because it's newer! Early releases of 3.0.x were even more buggy than
+ 2.96. So downgrade to 2.95.x (downgrade libstdc++ too, other programs may
+ need it) or don't up/downgrade at all (but in this case, be prepared for
+ runtime problems). If you vote for 3.x.x, try to use the latest version,
+ early releases had various bugs, so be sure you use at least 3.1, it's
+ tested and working. For detailed information about gcc 2.96's bugs (that are
+ still NOT fixed, they have been WORKED AROUND in MPlayer!), see the
+ gcc 2.96 section and the
+ FAQ.
+
XFree86 - suggested version is always the newest (4.2.1).
+ Normally, everyone wants this, as starting with XFree86 4.0.2, it contains
+ the XVideo extension (somewhere referred to
+ as Xv) which is needed to enable the hardware YUV acceleration (fast
+ image display) on cards that support it.
+ Make sure its development package is installed, too, otherwise
+ it won't work.
+ For some video cards you don't need XFree86. See list below.
+
make - suggested version is always the newest (at least 3.79.x). This
+ usually isn't important.
+
SDL - it's not mandatory, but can help in some cases (bad audio,
+ video cards that lag strangely with the xv driver). Always use the newest
+ (beginning from 1.2.x).
+
libjpeg - optional JPEG decoder, used by -mf and some QT MOV files.
+ Useful for both MPlayer and MEncoder if you plan to work with jpeg files.
+
libpng - recommended and default (M)PNG decoder. Required for GUI.
+ Useful for both MPlayer and MEncoder.
+
lame - recommended, needed for encoding MP3 audio with MEncoder,
+ suggested version is always the newest (at least 3.90).
+
libogg - optional, needed for playing OGG file format.
+
libvorbis - optional, needed for playing OGG Vorbis audio.
libfreetype - optional, for TTF fonts support. At least 2.0.9 is
+ required.
+
libxmms - optional, for XMMS input plugin support. At least 1.2.7 is
+ required.
+
+
+
Codecs:
+
+
+
libavcodec: This codec package is capable of decoding
+ H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 encoded video streams and
+ WMA (Windows Media Audio) v1/v2 audio streams, on
+ multiple platforms. It is also known to be the fastest for this task.
+ See the libavcodec section for details.
+ Features:
+
+
gain decoding of videos mentioned above, on non-x86 machines
+
encoding with most of the mentioned codecs
+
this codec is the fastest codec available for DivX/3/4/5 and
+ other MPEG4 types. Recommended!
+
+
+
Win32 codecs: If you plan to use MPlayer on x86 architecture, you
+ will possibly need them. Download the Win32 codecs from our
+ codecs page
+ and install them to /usr/lib/win32BEFORE compiling
+ MPlayer, otherwise no Win32 support will be compiled!
+ Note: the avifile project has a similar codecs package, but it differs
+ from ours. If you want to use all supported codecs, then install our package
+ (do not worry, avifile works with it without problems). Features:
+
+
you need this if you want to play or encode for example movies recorded
+ with various hardware compressors, like tuner cards, digital cameras
+ (example: DV, ATI VCR, MJPEG)
+
needed if you want to play WMV8, WMV9/WMA9 movies.
+
Not needed for old
+ ASF's with MP41 or MP42 video (though VoxWare audio is frequent for these
+ files - it's done by the Win32 codec), or WMV7. Also not needed
+ for WMA (Windows Media Audio), libavcodec has opensource decoder
+ for that.
+
+
+
QuickTime codecs: on x86 platforms these codecs can be used
+ to decode Sorenson v1/v3, RPZA, and other QuickTime video, and
+ QDesign audio streams. Installation instructions can be found in the
+ Sorenson video codec section.
+
DivX4/DivX5: information about this codec is available in the
+ DivX4/DivX5 section. You possibly don't want
+ this codec as libavcodec (see above) is much faster and has better
+ quality than this, for both decoding and encoding.
+ Features:
+
it's about 2 times faster than DivX4 when encoding - about the same
+ quality
+
+
+
The XAnim codecs are the best (full
+ screen, hardware YUV zoom) for decoding 3ivx and Indeo 3/4/5 movies,
+ and some old formats. And they are multiplatform, so this is the only way to
+ play Indeo on non-x86 platforms (well, apart from using XAnim:). But for
+ example Cinepak movies are best played with MPlayer's own Cinepak
+ decoder!
+
For Ogg Vorbis audio decoding you need to install
+ libvorbis properly. Use deb/rpm packages if available, or
+ compile from
+ source
+ (this is a nightly updated tarball of Vorbis CVS).
+
MPlayer can use the libraries of RealPlayer 8 or RealONE to play
+ files with RealVideo 2.0 - 4.0 video, and Sipro/Cook audio. See
+ RealMedia file format section for
+ installation instructions and more information.
+
+
+
Video Cards
+
+
There are generally two kind of video cards. One kind (the newer cards) has
+ hardware scaling and YUV acceleration support, the other cards don't.
+
+
YUV cards
+
+
They can display and scale (zoom) the picture to any size that fits in
+ their memory, with small CPU usage (even when zooming), thus
+ fullscreen playing is nice and very fast.
+
+
+
Matrox G200/G400/G450/G550 cards: although a
+ Vidix driver is provided, it is recommended
+ to use the mga_vid kernel module instead, for it works much better.
+ Please see the mga_vid section about its
+ installation and usage. It is important to do these steps before
+ compiling MPlayer, otherwise no mga_vid support will be built. Also
+ check out the Matrox TV-out section.
+ If you don't use Linux, your only possibility is the VIDIX
+ driver: read the VIDIX section.
+
3Dfx Voodoo3/Banshee cards: please see the
+ tdfxfb section in order to gain big
+ speedup. It is important to do these steps before compiling
+ MPlayer, otherwise no 3Dfx support will be built. Also see the 3dfx TV-out section. If you use X, use
+ at least 4.2.0, as the 3dfx Xv driver was broken in 4.1.0 and earlier
+ releases.
+
ATI cards: Vidix driver is
+ provided for the following cards:
+ Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98).
+ Also see the ATI cards
+ section of the TV-out documentation, to know if you card's TV-out is
+ supported under Linux/MPlayer.
+
S3 cards: the Savage and Virge/DX chips have hardware acceleration.
+ Use as new XFree86 version as possible, older drivers are buggy. Savage chips
+ have problems with YV12 display, see S3 Xv
+ section for details. Older, Trio cards have no, or slow hardware
+ support.
+
nVidia cards: may or may not be good choice for video playing.
+ If you do not have a GeForce2 (or newer) card, it's not likely to work
+ without bugs.
+ The built-in nVidia driver in XFree86 does not support hardware YUV
+ acceleration on all nVidia cards. You have to download nVidia's
+ closed-source drivers from nVidia.com. See the
+ nVidia Xv driver section for
+ details. Please also check the nVidia
+ TV-out section if you wish to use a TV.
+
3DLabs GLINT R3 and Permedia3: a VIDIX driver is provided
+ (pm3_vid). Please see the VIDIX section for
+ details.
+
Other cards: None of the above?
+
+
Try if the XFree86 driver (and your card) supports hardware
+ acceleration. See the Xv section for
+ details.
+
If it doesn't, then your card's video features aren't supported under
+ your operating system :(
+ If hardware scaling works under Windows, it doesn't mean it will work
+ under Linux or other operating systems: it depends on the drivers. Most
+ manufacturers neither make Linux drivers nor release specifications
+ for their chips, so you are unlucky using their cards.
+ See 'Non-YUV cards'.
+
+
+
+
+
Non-YUV cards
+
+
Fullscreen playing can be achieved by either enabling software scaling
+ (use the -zoom or -vop scale
+ option, but I warn you: this is slow), or switching to a small resolution
+ video mode, for example 352x288. If you don't have YUV acceleration, the
+ latter method is recommended. Video mode switching can be enabled by
+ using the -vm option and it works with the following drivers:
+
+
+
using XFree86: see the
+ DGA driver and
+ X11 driver sections for details. DGA is
+ recommended! Also try DGA via SDL, sometimes it's better.
+
not using XFree86: try the drivers in the following order:
+ vesa,
+ fbdev,
+ svgalib,
+ aalib.
+
+
+
Some cards:
+
+
+
Cirrus Logic cards:
+
+
GD 7548: present on-board and tested in Compaq Armada 41xx notebook
+ series.
+
+
XFree86 3: works in 8/16bpp modes. However, the driver is
+ dramatically slow and buggy in 800x600@16bpp.
+ Recommended: 640x480@16bpp
+
XFree86 4: the Xserver freezes soon after start unless
+ acceleration is disabled, but then the whole thing gets
+ slower than XFree86 3. No XVideo.
+
FBdev: framebuffer can be turned on with the clgenfb
+ driver in the kernel, though for me it worked only in 8bpp, thus
+ unusable. The clgenfb source had to be extended with the 7548 ID
+ before compilation.
+
VESA: the card is only VBE 1.2 capable, so VESA output can't be
+ used. Can't be workarounded with UniVBE.
+
SVGAlib: detects an older Cirrus chip. Usable but slow with
+ -bpp 8.
+
+
+
+
+
+
+
+
Sound cards:
+
+
+
Soundblaster Live!: with this card you can use 4 or 6 (5.1)
+ channels AC3 decoding instead of 2. Read the
+ Software AC3 decoding section.
+ For hardware AC3 passthrough you must use ALSA 0.9 with OSS emulation!
+
C-Media with SP/DIF out: hardware AC3 passthrough is possible
+ with these cards, see
+ Hardware AC3 decoding section.
+
Features of other cards aren't supported by MPlayer.
+ It's very recommended to read the sound card
+ section!
+
+
+
Features:
+
+
+
Decide if you need GUI. If you do, see the GUI section
+ before compiling.
+
If you want to install MEncoder (our great all-purpose encoder),
+ see the MEncoder section.
+
If you have a V4L compatible TV tuner card, and wish to watch/grab
+ and encode movies with MPlayer, read the TV input
+ section.
+
There is a neat OSD Menu support ready to be used. Check the
+ OSD Menu section.
+
+
+
Then build MPlayer:
+
+
+ ./configure
+ make
+ make install
+
+
+
At this point, MPlayer is ready to use. The directory
+ $PREFIX/etc/mplayer contains the codecs.conf
+ file, which is used to tell the program all the codecs and their
+ capabilities. This file should always be kept up to date together with the
+ main binary.
+ Check if you have codecs.conf in your home directory
+ (~/.mplayer/codecs.conf) left from old MPlayer versions, and remove it.
+
+
Debian users can build a .deb package for themselves,
+ it's very simple. Just exec fakeroot debian/rules binary in
+ MPlayer's root directory. See
+ Debian packaging for detailed
+ instructions.
+
+
Always browse the output of ./configure, and the
+ configure.log file, they contain information about what will be
+ built, and what will not. You may also want to view config.h and
+ config.mak files.
+ If you have some libraries installed, but not detected by
+ ./configure, then check if you also have the proper header files
+ (usually the -dev packages) and their version matches. The
+ configure.log file usually tells you what is missing.
+
+
Though not mandatory, the fonts should be installed in order to gain OSD,
+ and subtitle functionality. The recommended method is installing a TTF
+ font file and telling MPlayer to use it. See the
+ Subtitles and OSD section for details.
The GUI needs GTK 1.2.x (it isn't fully GTK, but the panels are). The skins
+ are stored in PNG format, so gtk, libpng (and their devel stuff, usually
+ called gtk-dev and libpng-dev) has to be installed.
+ You can build it by specifying --enable-gui during
+ ./configure. Then, to turn on GUI mode, you either
+
+
specify gui=yes in your config file
+
ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer ,
+ and call gmplayer instead.
+
+
+
Currently you can't use the -gui option on the command line,
+ due to technical reasons.
+
+
As MPlayer doesn't have a skin included, you have to download them if
+ you want to use the GUI. See the
+ download page.
+ They should be extracted to the usual system-wide directory
+ ($PREFIX/share/mplayer/Skin), or to
+ $HOME/.mplayer/Skin. MPlayer by default looks in these
+ directories for a directory named default, but you can use the
+ -skin newskin option, or the skin=newskin config
+ file directive to use the skin in */Skin/newskin directory.
+ MPlayer can display subtitles along with movie files. Currently the following
+ formats are supported:
+
+
VobSub
+
OGM
+
CC (closed caption)
+
Microdvd
+
SubRip
+
SubViewer
+
Sami
+
VPlayer
+
RT
+
SSA
+
MPsub
+
AQTitle
+
JACOsub
+
+
+
MPlayer can dump the previously listed subtitle formats (except
+ the three first) into the following destination formats, with the given
+ options:
+
+
+
MPsub: -dumpmpsub
+
SubRip: -dumpsrtsub
+
Microdvd: -dumpmicrodvdsub
+
JACOsub: -dumpjacosub
+
Sami: -dumpsami
+
+
+
The command line options differ slightly for the different formats:
+
+
VobSub subtitles
+
+
VobSub subtitles consist of a big (some megabytes) .SUB file, and optional
+ .IDX and/or .IFO files.
+ Usage: If you have files like sample.sub,
+ sample.ifo (optional), sample.idx - you have to pass
+ MPlayer the -vobsub sample [-vobsubid <id>] options (full
+ path optional). The -vobsubid option is like -sid
+ for DVDs, you can choose between subtitle tracks (languages) with it. In case
+ that -vobsubid is omitted, MPlayer will try to use the languages
+ given by the -slang option and fall back to the
+ langidx item in the .IDX file to set the subtitle language. If
+ that fails, there will be no subtitles.
+
+
Other subtitles
+
+
The other formats consist of a single text file containing timing,
+ placement and text information.
+ Usage: If you have a file like sample.txt, you have to pass the
+ option -sub sample.txt (full path optional).
+
+
Adjusting subtitle timing and placement:
+
+
+
-subdelay <sec>
+
Delays subtitles by <sec> seconds. Can be negative.
+
+
-subfps <rate>
+
Specify frame/sec rate of subtitle file (float number)
+
+
-subpos <0 - 100>
+
Specify the position of subtitles.
+
+
+
If you experience a growing delay between the movie and the subtitles when
+ using a MicroDVD subtitle file, most likely the frame rate of the movie and
+ the subtitle file are different. Please note that the MicroDVD subtitle
+ format uses absolute frame numbers for its timing, and therefore the
+ -subfps option cannot be used with this format. As
+ MPlayer has no way to guess the frame rate of the subtitle file, you
+ have to manually convert the frame rate. There is a little perl script in the
+ contrib directory of the MPlayer FTP site to do this conversion
+ for you.
+
+
MPlayer will try to guess the subtitle files you want to use when playing a
+ movie. If, like in most cases, subtitle and movie files have the same name and
+ are in the same place, you do not need to set the subtitle options. Just play
+ the movie, MPlayer will handle the subtitles automatically.
MPlayer introduces a new subtitle format called MPsub. It was
+ designed by Gabucino. Basically its main feature is being
+ dynamically time-based (although it has frame-based mode too). Example
+ (from
+ DOCS/tech/mpsub.sub):
+
+
# first number : wait this much after previous subtitle disappeared
+ # second number : display the current subtitle for this many seconds
+
+ 15 3
+ A long long, time ago...
+
+ 0 3
+ in a galaxy far away...
+
+ 0 3
+ Naboo was under an attack.
+
+
So you see, the main goal was to make subtitle
+ editing/timing/joining/cutting easy. And, if you - say - get an SSA
+ subtitle but it's badly timed/delayed to your version of the movie, you
+ simply do a mplayer dummy.avi -sub source.ssa -dumpmpsub.
+ A dump.mpsub file will be created in the current directory,
+ which will contain the source subtitle's text, but in MPsub format.
+ Then you can freely add/subtract seconds to/from the subtitle.
+
+
Subtitles are displayed with a technique called 'OSD', On Screen
+ Display. OSD is used to display current time, volume bar, seek bar
+ etc.
You need an MPlayer font package to be able to use OSD/SUB feature.
+ There are many ways to get it:
+
+
+
download ready-to-use font packages from MPlayer site.
+ Note: Currently available fonts are limited for iso 8859-1/2 support,
+ but there are some other (including Korean, Russian, 8859-8 etc) fonts
+ at contrib/font section of FTP, made by users.
+
+ Font should have appropriate font.desc file which maps unicode font
+ positions to the actual code page of the subtitles text. Other solution is
+ to have subtitles encoded in utf8 encoding and use -utf8
+ option or just name the subtitles file <video_name>.utf and have it
+ in the same dir as the video file. Recoding from different codepages to
+ utf8 could be done by using konwert (Debian) or iconv (Red Hat)
+ programs.
+ Some URLs:
+
use the font generator tool at TOOLS/subfont-c
+ It's a complete tool to convert from TTF/Type1/etc font to mplayer font pkg.
+ (read TOOLS/subfont-c/README for details)
+
use the font generator GIMP plugin at TOOLS/subfont-GIMP
+ (note: you must have HSI RAW plugin too, see URL below)
+
using a TrueType (TTF) font, by the means of the freetype
+ library. Version 2.0.9 or greater is mandatory! Then you
+ have two methods:
+
+
use the -font /path/to/arial.ttf option to specify
+ a TrueType font file on every occassion
+
create a symlink: ln -s /path/to/arial.ttf ~/.mplayer/subfont.ttf
+
+
+
+
+
If you chose non-TTF fonts, UNZIP the file you downloaded to ~/.mplayer or
+ $PREFIX/share/mplayer. Then rename or symlink one of the extracted directories to
+ font (like: ln -s ~/.mplayer/arial-24
+ ~/.mplayer/font). Now you have to see a timer at the upper left corner
+ of the movie (switch it off with the "o" key).
+
+
+
OSD has 4 states: (switch with 'o')
+
+
(subtitles are always enabled, for disabling them please read the man
+ page)
+
+
+
volume bar + seek bar (default)
+
volume bar + seek bar + timer + file position percentage on seeking
+
volume bar + seek bar + timer + total duration of media
+
subtitles only
+
+
+
You can change default behaviour by setting osdlevel= variable
+ in config file, or the -osdlevel command line option.
To use the old method, you don't have to do anything. It uses
+ usleep() to tune A/V sync, with +/- 10ms accuracy. However
+ sometimes the sync has to be tuned even finer.
+
The new timer code uses PC's RTC (Real Time Clock) for this task,
+ because it has precise 1ms timers. It is automagically enabled when
+ available, but requires root privileges, a setuid root
+ MPlayer binary or a properly set up kernel.
+
+ If you are running kernel 2.4.19pre8 or later you can adjust the maximum
+ RTC frequency for normal users through the /proc filesystem.
+ Use this command to enable RTC for normal users:
+
+ echo 1024 > /proc/sys/dev/rtc/max-user-freq
+
+ If you do not have such a new kernel, you can also change one line in
+ drivers/char/rtc.c and recompile your kernel. Find the
+ section that reads
+
+ * We don't really want Joe User enabling more
+ * than 64Hz of interrupts on a multi-user machine.
+ */
+ if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))
+
+ and change the 64 to 1024. You should really know what you are doing, though.
+
+ You can see the new timer's efficiency in the status line.
+
+ The power management functions of some notebook BIOSes with speedstep CPUs
+ interact badly with RTC. Audio and video may get out of sync. Plugging the
+ external power connector in before you power up your notebook seems to help.
+ You can always turn off RTC support with the -nortc option.
+ In some hardware combinations (confirmed during usage of non-DMA DVD
+ drive on an ALi1541 board) usage of the RTC timer causes skippy playback.
+ It's recommended to use the third method in these cases.
+
The third timer code is turned on with the -softsleep
+ option. It has the efficiency of the RTC, but it doesn't use RTC. On the other
+ hand, it requires more CPU.
+
+
+Note:NEVER install a setuid root MPlayer binary on a multiuser system!
+It's a clear way for everyone to become root.
+
+
+
+
This section is about how to enable watching/grabbing from V4L compatible
+TV tuner. See the man page for a description of TV options and keyboard
+controls.
First, you have to recompile. ./configure will autodetect
+ kernel headers of v4l stuff and the existence of /dev/video*
+ entries. If they exist, TV support will be built (see the output of
+ ./configure).
+
Make sure your tuner works with another TV software in Linux, for example
+ xawtv.
+
+The full listing of the options is available on the manual page. Here
+are just a few tips:
+
+
+
Use the channels option. An example:
+ -tv on:channels=26-MTV1,23-TV2
+ Explanation: using this option, only the 26 and 23 channels will be usable,
+ and there will be a nice OSD text upon channel switching, displaying the
+ channel's name. Spaces in the channel name must be replaced by the "_"
+ character.
+
Choose some sane image dimensions. The dimensions of the resulting image
+ should be divisible by 16.
+
If you capture the video with the vertical resolution higher than half of
+ the full resolution (i.e. 288 for PAL or 240 for NTSC), make sure you
+ turned deinterlacing on. Otherwise you'll get a movie which is distorted
+ during fast-motion scenes and the bitrate controller will be probably even
+ unable to retain the specified bitrate as the interlacing artifacts produce
+ high amount of detail and thus consume lot of bandwidth. You can enable
+ deinterlacing with -vop pp=DEINT_TYPE. Usually
+ pp=lb does a good job, but it can be matter of personal
+ preference. See other deinterlacing algorithms in the manual and give it a
+ try.
+
Crop out the dead space. When you capture the video, the areas at the
+ edges are usually black or contain some noise. These again consume lots of
+ unnecessary bandwidth. More precisely it's not the black areas themselves
+ but the sharp transitions between the black and the brighter video image
+ which do but that's not important for now. Before you start capturing,
+ adjust the arguments of the crop option so that all the crap
+ at the margins is cropped out. Again, don't forget to keep the resulting
+ dimensions sane.
+
Watch out for CPU load. It shouldn't cross the 90% boundary for most of
+ the time. If you have a large capture buffer, MEncoder can survive an
+ overload for few seconds but nothing more. It's better to turn off the 3D
+ OpenGL screensavers and similar stuff.
+
Don't mess with the system clock. MEncoder uses the system clock for
+ doing A/V sync. If you adjust the system clock (especially backwards in
+ time), MEncoder gets confused and you will lose frames. This is an
+ important issue if you are hooked to a network and run some time
+ synchronization software like NTP. You have to turn NTP off during the
+ capture process if you want to capture reliably.
+
Don't change the outfmt unless you know what you are doing
+ or your card/driver really doesn't support the default (YV12 colorspace).
+ In the older versions of MPlayer/MEncoder it was necessary to specify the
+ output format. This issue should be fixed in the current releases and
+ outfmt isn't required anymore, and the default suits the most
+ purposes. For example, if you are capturing into DivX using libavcodec and
+ specify outfmt=RGB24 in order to increase the quality of the
+ captured images, the captured image will be actually later converted back
+ into YV12 so the only thing you achieve is a massive waste of CPU power.
+
+
To specify the I420 colorspace (outfmt=i420), you have to
+ add an option -vc rawi420 due to a fourcc conflict with an
+ Intel Indeo video codec.
+
There are several ways of capturing audio. You can grab the sound either
+ using your soundcard via an external cable connection between video card
+ and line-in, or using the built-in ADC in the bt878 chip. In the latter
+ case, you have to load the btaudio driver. Read the
+ linux/Documentation/sound/btaudio file (in the kernel tree,
+ not MPlayer's) for some instructions on using this driver.
+
If MEncoder cannot open the audio device, make sure that it is really
+ available. There can be some trouble with the sound servers like arts
+ (KDE) or esd (GNOME). If you have a full duplex soundcard (almost any
+ decent card supports it today), and you are using KDE, try to check the
+ "full duplex" option in the sound server preference menu.
Dummy output, to AAlib :)
+ mplayer -tv on:driver=dummy:width=640:height=480 -vo aa
+
+ Input from standard V4L
+ mplayer -tv
+on:driver=v4l:width=640:height=480 -vo xv
+
+
+ A more sophisticated example. This makes MEncoder capture the full
+ PAL image, crop the margins, and deinterlace the picture using
+ a linear blend algorithm. Audio is compressed with a constant
+ bitrate of 64kbps, using LAME codec. This setup is suitable for
+ capturing movies. mencoder -tv
+ on:driver=v4l:width=768:height=576 \
+ -ovc lavc -lavcopts
+ vcodec=mpeg4:vbitrate=900 \ -oac
+ mp3lame -lameopts cbr:br=64 \ -vop
+ pp=lb,crop=720:544:24:16 -o output.avi
+
+
+ This will additionally rescale the image to 384x288 and compresses
+ the video with the bitrate of 350kbps in high quality mode. The
+ vqmax option looses the quantizer and allows the video compressor to
+ actualy reach so low bitrate even at the expense of the
+ quality. This can be used for capturing long TV series, where the
+ video quality isn't so important.
+
+ mencoder -tv on:driver=v4l:width=768:height=576 \
+ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \
+ -oac mp3lame -lameopts cbr:br=48 \
+ -vop scale=384:288,pp=tn/lb,crop=720:540:24:18 -sws 1 -o output.avi
+
+
+ It's also possible to specify smaller image dimensions in the
+ -tv option and omit the software scaling but this
+ approach uses the maximum available information and is a little more
+ resistant to noise. The bt8x8 chips can do the pixel averaging only
+ in the horizontal direction due to a hardware limitation.
The edit decision list (EDL) system allows you to automatically skip or mute
+ sections of videos during playback, based on a movie specific EDL
+ configuration file.
+
+
This is useful for those who may want to watch a film in "family-friendly"
+ mode. You can cut out any violence, profanity, Jar-Jar Binks .. from a movie
+ according to your own personal preferences. Aside from this, there are other
+ uses, like automatically skipping over commercials in video files you
+ watch.
+
+
The EDL file format is pretty bare-bones. Once the EDL system has reached a
+ certain level of maturity, an XML-based file format will probably be
+ implemented (keeping backwards compatibility with previous EDL formats).
+
+
The maximum number of EDL entries for the current incarnation of EDL is 1000.
+ If you happen to need more, change the #define MAX_EDL_ENTRIES
+ in the edl.h file.
Where the seconds are floating-point numbers and the action is either
+ 0 for skip or 1 for mute. Example:
+
+
+5.3 7.1 0
+15 16.7 1
+420 422 0
+
+
+
This will skip from second 5.3 to second 7.1 of the video, then mute at
+ 15 seconds, unmute at 16.7 seconds and skip from second 420 to second
+ 422 of the video. These actions will be performed when the playback timer
+ reaches the times given in the file.
+
+
To create an EDL file to work from, use the
+ -edlout <filename> flag. During playback, when you want to
+ mark the previous two seconds to skip over, hit i. A
+ corresponding entry will be written to the file for that time. You can then go
+ back and fine-tune the generated EDL file.
MPlayer utilizes a complex playtree. It consists of global options
+ written as first (for example mplayer -vfm 5), and options
+ written after filenames, that apply only to the given filename/URL/whatever
+ (for example mplayer -vfm 5 movie1.avi movie2.avi -vfm 4).
+ You can group filenames/URLs together using { and }. It's useful with
+ option -loop: mplayer { 1.avi -loop 2 2.avi } -loop 3
+ will play files in this order: 1 1 2 1 1 2 1 1 2
+
+
+
+
file
mplayer [options] [path/]filename
+
files
mplayer [default options] [path/]filename1 [options for filename1] filename2 [options for filename2] ...
MPlayer has a fully configurable, command driven, control layer which
+ lets you control MPlayer with keyboard, mouse, joystick or remote
+ control (using LIRC). See the man page for the complete list of keyboard
+ controls.
MPlayer allows you bind any key/button to any MPlayer command
+ using a simple config file. The syntax consist of a key name followed by a
+ command. The default config file location is
+ $HOME/.mplayer/input.conf but it can be overridden using the
+ -input conf option (relative path are relative to
+ $HOME/.mplayer).
+
+
You can have a full list of known commands by running "mplayer -input cmdlist"
+
+
+
seek (int) val [(int) type=0]
+
Seek to some place in the movie.
+ Type 0 is a relative seek of +/- val seconds.
+ Type 1 seek to val % in the movie.
+
audio_delay (float) val
+
Adjust the audio delay of val seconds
+
quit
+
Quit MPlayer
+
pause
+
Pause/unpause the playback
+
grap_frames
+
Somebody know ?
+
pt_step (int) val [(int) force=0]
+
Go to next/previous entry in playtree. Val sign tell the direction.
+ If no other entry is available in the given direction it won't do anything
+ unless force is non 0.
+
pt_up_step (int) val [(int) force=0]
+
Like pt_step but it jump to next/previous in the parent list. It's useful
+ to break inner loop in the playtree.
+
alt_src_step (int) val
+
When more than one source is available it select the next/previous one
+ (only supported by asx playlist).
+
sub_delay (float) val [(int) abs=0]
+
Adjust the subtitles delay of +/- val seconds or set it to val seconds
+ when abs is non zero.
+
osd [(int) level=-1]
+
Toggle osd mode or set it to level when level > 0.
+
volume (int) dir
+
Increase/decrease volume
+
contrast (int) val [(int) abs=0]
+
brightness (int) val [(int) abs=0]
+
hue (int) val [(int) abs=0]
+
saturation (int) val [(int) abs=0]
+
Set/Adjust video parameters. Val range from -100 to 100.
Linux Infrared Remote Control - use an easy to build home-brewn IR-receiver,
+ an (almost) arbitrary remote control and control your Linux box with it!
+ More about it at www.lirc.org.
+
+
If you have installed the lirc-package, configure will autodetect it. If
+ everything went fine, MPlayer will print a message like "Setting up
+ lirc support..." on startup. If an error occurs it will tell you. If it
+ doesn't tell you anything about LIRC there's no support compiled in. That's
+ it :-)
+
+
The application name for MPlayer is - oh wonder - mplayer.
+ You can use any mplayer commands and even pass more than one command by
+ separating them with \n. Don't forget to enable the repeat flag in .lircrc
+ when it make sense (seek, volume, etc). Here's an excerpt from my
+ .lircrc:
The slave mode allow you to build simple frontend to MPlayer. When
+ enabled (with the -slave option) MPlayer will read
+ commands separated by new line (\n) from stdin.
MPlayer can play files from network, using the HTTP, MMS or RTSP/RTP
+ protocol.
+
+
Playing goes by simply using adding the URL to the command line.
+ MPlayer also honors the http_proxy environment variable, and uses
+ proxy if available. Proxy usage can also be forced:
To build a Debian package, run the following command in the MPlayer source
+ directory:
+
+
+ fakeroot debian/rules binary
+
+
+
As root you can then install the .deb package as usual:
+
+
+ dpkg -i ../mplayer_<version>.deb
+
+
+
Christian Marillat has been making unofficial Debian MPlayer, MEncoder and
+ font packages for a while, you can (apt-)get them from his
+ homepage. These packages are highly
+ unofficial, however, as Christian made and redistributed these packages when
+ MPlayer was still not fully GPLed and
+ binary redistribution was
+ not allowed. Christian ignored requests to stop redistributing his packages,
+ which caused bad blood with MPlayer developers. Binary redistribution is not
+ a problem anymore, but we do not support these packages!
Dominik Mierzejewski created and maintains official Red Hat RPM packages of
+ MPlayer. They are available from his
+ homepage.
+ Please read the instructions there and report problems to him, not us.
+
+
There are other RPM versions (SuSE now includes MPlayer in their official
+ distribution, Mandrake packages are available from the
+ P.L.F) of MPlayer, but none of them is
+ officially supported.
MPlayer works on Linux PDAs with ARM CPU e.g. Sharp Zaurus, Compaq Ipaq.
+ The easiest way to obtain MPlayer is to get it from one of the
+ Openzaurus package feeds.
+ If you want to compile it yourself, you should look at the
+ mplayer
+ and the
+ libavcodec
+ directory in the OpenZaurus distribution buildroot. These always have the
+ latest Makefile and patches used for building a CVS MPlayer with libavcodec.
+ If you need a GUI frontend, you can use xmms-embedded.
MPlayer runs on FreeBSD, OpenBSD, NetBSD, BSD/OS and Darwin. There are
+ ports/pkgsrc/fink/etc versions of MPlayer available that are probably easier
+ to use than our raw sources.
+
+
To build MPlayer you will need GNU make (gmake - native BSD make will not
+ work) and a recent version of binutils.
+
+
If MPlayer complains about not finding /dev/cdrom or
+ /dev/dvd, create an appropiate symbolic link:
+ ln -s /dev/(your_cdrom_device) /dev/cdrom.
+
+
To use Win32 DLLs with MPlayer you will need to re-compile the kernel with
+ "option USER_LDT" (unless you run FreeBSD -CURRENT, where this
+ is the default).
Due to limitations in different versions of gas (relocation vs MMX), you will
+ need to compile in two steps: First make sure that the non-native as is first
+ in your $PATH and do a gmake -k, then make sure that
+ the native version is used and do gmake.
On UltraSPARCs, MPlayer takes advantage of their VIS
+ extensions (equivalent to MMX), currently only in libmpeg2,
+ libvo and libavcodec, but not in mp3lib. You can watch a VOB
+ file on a 400MHz CPU. You'll need
+ mLib installed.
+
+
To build the package you will need GNU make (gmake, /opt/sfw/gmake), native
+ Solaris make will not work. Typical error you get when building with Solaris'
+ make instead of GNU make:
+
+
+ % /usr/ccs/bin/make
+ make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
+
+
+
On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter
+ if GNU C/C++ compiler is configured with or without the GNU assembler.
+
+
On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler,
+ configured to use the GNU assembler! The mplayer code on the x86 platform
+ makes heavy use of MMX, SSE and 3DNOW! instructions that cannot be compiled
+ using Sun's assembler /usr/ccs/bin/as.
+
+
The configure script tries to find out, which assembler program is used by
+ your "gcc" command (in case the autodetection fails, use the
+ --as=/whereever/you/have/installed/gnu-as option to tell the
+ configure script where it can find GNU "as" on your system).
+
+
Error message from configure on a Solaris x86 system using GCC
+ without GNU assembler:
Due to bugs in Solaris 8, you may not be able to play DVD discs larger
+ than 4 GB:
+
+
+
The sd(7D) driver on Solaris 8 x86 has a bug when accessing a disk
+ block >4GB on a device using a logical blocksize != DEV_BSIZE (i.e. CD-ROM
+ and DVD media). Due to a 32Bit int overflow, a disk address modulo 4GB is
+ accessed.
+ (http://groups.yahoo.com/group/solarisonintel/message/22516)
+
+ This problem does not exist in the SPARC version of Solaris 8.
+
+
+
A similar bug is present in the hsfs(7FS) filesystem code (aka
+ ISO9660), hsfs may not not support partitions/disks larger than 4GB, all data
+ is accessed modulo 4GB.
+ (http://groups.yahoo.com/group/solarisonintel/message/22592).
+
+ The hsfs problem can be fixed by installing patch 109764-04 (sparc) /
+ 109765-04 (x86).
+
+
+
+
+
On Solaris with an UltraSPARC CPU, you can get some extra speed by
+ using the CPU's VIS instructions for certain time consuming operations.
+ VIS acceleration can be used in MPlayer by calling functions in Sun's
+ mediaLib.
+
+
VIS accelerated operations from mediaLib are used for mpeg2 video
+ decoding and for color space conversion in the video output drivers.
You can either try to install the GNU install program, and (if you did not
+ put it in your global path) then point to the location with:
+
+
+ ./configure --install-path=PATH
+
+
+
Or you can use the default install delivered with IRIX 6.5 in which case you
+ will have to edit the Makefile a littlebit by hand. Change the following two
+ lines:
The Cygwin port is still in its infancy. Currently there is no support for
+ Win32 DLLs or OpenGL. SDL is known to distort sound and image or crash
+ on some systems. Patches are always welcome.
+ Best results are achieved with the native DirectX video output driver
+ (-vo directx) and the native Windows waveout audio driver
+ (-ao win32). You should also check out the
+ mplayer-cygwin
+ mailing list for help and latest information.
+
+
You have to copy or symlink etc/cygwin_inttypes.h from the
+ MPlayer source directory to /usr/include/inttypes.h in order to
+ make MPlayer compile.
+
+
To get native DirectX video, download
+ DirectX 7 header files,
+ extract them to /usr/include/ or /usr/local/include/
+ and recompile. If the image is distorted, try turning off hardware
+ acceleration with -vo directx:noaccel.
+
+
Instructions and files for making SDL run under Cygwin can be found on the
+ libsdl site.
+
+
You can play VCDs by playing the .DAT or .MPG files
+ that Windows exposes on VCDs. It works like this (adjust for the drive letter
+ of your CD-ROM):
+
+
mplayer d:/mpegav/avseq01.dat
+
+
mplayer /cydrive/d/MPEG2/AVSEQ01.MPG
+
+
DVDs also work, just set the DVD device correctly to whatever your CD-ROM
+ device is:
+
+
mplayer -dvd <title> -dvd-device '\\.\d:'
+
+
QuickTime DLLs have also been reported to work. Compile with
+ --enable-qtx-codecs and put the codecs into the
+ default Windows DLL location, C:\WINNT\system32 or
+ C:\Windows\system depending on your Windows version.
There are some public mailing lists on MPlayer. Unless explicitly
+ stated otherwise the language of these lists is English. Please do
+ not send messages in other languages or HTML mail! Message size limit is 80k.
+ If you have something bigger put it up for download somewhere. Click the
+ links to subscribe. On the mailing lists, the same rules about writing
+ and quoting apply as on usenet. Please follow them, it makes the life of
+ those who read your mails a lot easier. If you do not know them please
+ read HOWTO edit messages or
+ (if you are in a hurry)
+
+ Quoting HOWTO.
MPlayer developers list:
+ http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
+ This list is about MPlayer development! Talking about interface/API
+ changes, new libraries, code optimization, configure changes is ontopic
+ here. Send patches but not bug reports, user questions, feature
+ requests or flames here to keep the list traffic low.
MPlayer CVS-log:
+ http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog
+ All changes in MPlayer code are automatically sent to this list. Only
+ questions about these changes belong here (if you do not understand why a
+ change is required or you have a better fix or you have noticed a possible
+ bug/problem in the commit).
+
SIGILL (signal 4) on P3 using 2.2.x kernels:
+ Problem: kernel 2.2.x doesn't have proper (working) SSE support
+ Solution: upgrade kernel to 2.4.x
+ Workaround: ./configure --disable-sse
+
+
General SIGILL (signal 4):
+ Problem: you compiled and run mplayer in different machines
+ (for example compiled on P3 and running on Celeron)
+ Solution: compile MPlayer on the same machine where you will use it!
+ Workaround: ./configure --disable-sse etc. options
+
+
"Internal buffer inconsistency" during MEncoder run:
+ Problem: known problem when lame < 3.90 was compiled with gcc 2.96 or 3.x.
+ Solution: use lame >=3.90.
+ Workaround: compile lame with gcc 2.95.x and remove any already installed
+ lame packages, they may have been compiled with gcc 2.96.
+
+
Messed up MP2/MP3 sound on PPC:
+ Problem: known GCC miscompilation bug on PPC platforms, no fix yet.
+ Workaround: use FFmpeg's (slow) MP1/MP2/MP3 decoder (-ac ffmpeg)
+
+
sig11 in libmpeg2, when scaling+encoding:
+ Problem: known GCC 2.95.2 MMX bug, upgrade to 2.95.3.
+
+
+
Various A-V sync and other audio problems:
+
+General audio delay or jerky sound (exists with all or many files):
+
+
most common: buggy audio driver! - try to use different drivers, try
+ ALSA 0.9 OSS emulation with -ao oss, also try -ao sdl, sometimes it helps.
+ If your file plays fine with -nosound, then you can be sure it's sound card
+ (driver) problem.
samplerate problems - maybe your card doesn't support the samplerate
+ used in your files - try the resampling plugin (-aop)
+
slow machine (CPU or VGA)
+ try with -vo null, if it plays well, then you have slow VGA card/driver
+ Workaround: buy a faster card or read this documentation about how to speed up
+ Also try -framedrop
+
+
+Audio delay/de-sync specific to one or a few files:
+
+
bad file
+ Workaround:
+
+
-ni or -nobps option (for non-interleaved or bad files)
+ and/or
+
-mc 0 (required for files with badly interleaved VBR audio)
+ and/or
+
-delay option or +/- keys at runtime to adjust delay
+
+ If none of these help, please upload the file, we'll check (and fix).
+
+
your sound card doesn't support 48kHz playback
+ Workaround: buy a better sound card... or try to decrease fps by 10% (use
+ -fps 27 for a 30fps movie) or use the resampler plugin
+
slow machine
+ (if A-V is not around 0, and the last number in the status line increasing)
+ Workaround: -framedrop
+
+
+No sound at all:
+
+
your file uses an unsupported audio codec
+ Workaround: read the documentation and help us adding support for it
+
+
+No picture at all (just plain grey/green window):
+
+
your file uses an unsupported video codec
+ Workaround: read the documentation and help us adding support for it
+
auto-selected codec can't decode the file, try to select another using -vc
+ or -vfm options
+
you try to play DivX 3.x file with OpenDivX decoder or XviD (-vc odivx)
+ - install Divx4Linux and recompile player
+
+
+
Video-out problems:
+
+
First note: options -fs -vm and -zoom are just recommendations, not (yet)
+ supported by all drivers. So it isn't a bug if it doesn't work.
+ Only a few driver supports scaling/zooming, don't expect this from x11 or dga.
+
+
OSD/sub flickering:
+ - x11 driver: sorry, it can't be fixed now
+ - xv driver: use -double option
+
+
Green image using mga_vid (-vo mga / -vo xmga):
+ - mga_vid misdetected your card's RAM amount, reload it using mga_ram_size option
For the complete list of available MEncoder options and examples, please see
+ the man page. For a series of hands-on examples and detailed guides on using
+ several encoding parameters, read the
+ encoding-tips that were collected from
+ several mailing list threads on
+ mplayer-users.
+ Search the archives
+ for a wealth of discussions about all aspects of and problems related to
+ encoding with MEncoder.
2-pass encoding: the name comes from the fact that this method
+ encodes the file twice. The first encoding (dubbed pass)
+ creates some temporary files (*.log) with a size of few megabytes, do not
+ delete them yet (you can delete the AVI). In the second pass, the 2-pass
+ output file is created, using the bitrate data from the temporary files. The
+ resulting file will have much better image quality. If this is the first time
+ you heard about this, you should consult some guides available on the
+ Net.
+
+
This example shows how to encode a DVD to a 2-pass MPEG-4 ("DIVX") AVI. Just
+ two commands are needed:
+ rm frameno.avi - remove this file, which
+ can come from a previous 3-pass encoding (it interferes with current
+ one)
+ mencoder -dvd 2 -ovc lavc -lavcopts
+ vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
+ mencoder -dvd 2 -ovc lavc -lavcopts
+ vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
+
+
3-pass encoding: this is an extension of 2-pass encoding,
+ where the audio encoding takes place in a separate pass. This method enables
+ estimation of recommended video bitrate in order to fit on a CD. Also, the
+ audio is encoded only once, unlike in 2-pass mode. The schematics:
An audio-only avi file will be created, containing
+ only the requested audio stream. Don't forget -lameopts,
+ if you need to set it. If you were encoding a long movie, MEncoder
+ prints the recommended bitrate values for 650Mb, 700Mb, and 800Mb
+ destination sizes, after this pass finishes.
This is the second pass of video encoding.
+ Specify the same bitrate as in the previous pass unless you really know
+ what you are doing. In this pass, audio from frameno.avi
+ will be inserted into the destination file.. and it's all ready!
+
+
+
Example for 3-pass encoding:
+
+
rm frameno.avi - remove this file,
+ which can come from a previous 3-pass encoding (it interferes with current
+ one)
+ mencoder -dvd 2 -ovc frameno
+ -o frameno.avi -oac mp3lame -lameopts vbr=3
+ mencoder -dvd 2 -ovc lavc
+ -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
+ mencoder -dvd 2 -ovc lavc
+ -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
MEncoder can create MPEG (MPEG-PS) format output files. It's probably
+ useful only with libavcodec's mpeg1video codec, because players
+ - except MPlayer - expect MPEG1 video, and MPEG1 layer 2 (MP2) audio streams
+ in MPEG files.
+
+
This feature is not very useful right now, aside that it probably has
+ many bugs, but the more importantly because MEncoder currently cannot encode
+ MPEG1 layer 2 (MP2) audio, which all other players expect in MPEG files.
+
+
To change MEncoder's output file format, use the -of mpeg
+ option.
Often the need to resize movie images' size emerges. Its reasons can be
+ many: decreasing file size, network bandwidth, etc. Most people
+ even do rescaling when converting DVDs or SVCDs to DivX AVI. This is bad.
+ Instead of even you doing so, read the Preserving
+ aspect ratio section.
+
+
The scaling process is handled by the 'scale' video filter:
+ -vop scale=widht:height. Its quality can be set with the
+ -sws option. If it's not specified, MEncoder will use 0:
+ fast bilinear.
MEncoder can handle input streams in two ways: encode or
+ copy them. This section is about copying.
+
+
+
Video stream (option -ovc copy): nice stuff can be
+ done :)
+ Like, putting (not converting) FLI or VIVO or MPEG1 video into
+ an AVI file. Of course only MPlayer can play such files :) And it
+ probably has no real life value at all. Rationally: video stream copying
+ can be useful for example when only the audio stream has to be encoded
+ (like, uncompressed PCM to MP3).
+
+
Audio stream (option -oac copy): straightforward.
+ It is possible to take an external audio file (MP3, Vorbis) and mux it
+ into the output stream. Use the -audiofile <filename>
+ option for this.
Easiest thing. We simply copy the video and audio streams, and
+ MEncoder generates the index. Of course this cannot fix possible bugs
+ in the video and/or audio streams. It also fixes files with broken
+ interleaving, thus the -ni option won't be needed for them
+ anymore.
Note: This expects 1.avi and 2.avi to use the same codecs, resolution,
+ stream rate etc, and at least 1.avi must not be broken. You may need to fix
+ your input AVI files first, as described above.
libavcodec provides simple encoding to a
+ lot of interesting video and audio formats (currently its audio codecs are
+ unsupported). You can encode to the following codecs:
+
+
+
mjpeg - Motion JPEG
+
h263 - H263
+
h263p - H263 Plus
+
mpeg4 - ISO standard MPEG-4 (DivX 5, XVID compatible)
+
msmpeg4 - pre-standard MPEG-4 variant by MS, v3 (aka DivX3)
+
msmpeg4v2 - pre-standard MPEG-4 by MS, v2 (used in old asf files)
+
wmv1 - Windows Media Video, version 1 (aka WMV7)
+
rv10 - an old RealVideo codec
+
mpeg1video - MPEG1 video :)
+
huffyuv - lossless compression
+
+
+
The first column contains the codec names that should be passed after the
+ vcodec config, like: -lavcopts vcodec=msmpeg4
+
+
An example, with MJPEG compression:
+ mencoder -dvd 2 -o title2.avi -ovc lavc
+ -lavcopts vcodec=mjpeg -oac copy
MEncoder is capable of creating movies from one or more JPEG, PNG or TGA
+ files. With simple framecopy it can create MJPEG (Motion JPEG), MPNG
+ (Motion PNG) or MTGA (Motion TGA) files.
+
+Explanation of the process:
+
+
+
MEncoder decodes the input image(s) with
+ libjpeg (when decoding PNGs, it will use libpng).
+
+
MEncoder then feeds the decoded image to the chosen video compressor
+ (DivX4, Xvid, ffmpeg msmpeg4, etc...).
+
+
+
Examples
+
+
The explanation of the -mf option can be found below in the
+ man page.
+
+
Creating a DivX4 file from all the JPEG files in the current dir:
+ mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
+ -o output.avi \*.jpg
+
+
Creating a DivX4 file from some JPEG files in the current dir:
+ mencoder -mf on:w=800:h=600:fps=25
+ -ovc divx4 -o output.avi frame001.jpg,frame002.jpg
+
+
Creating a Motion JPEG (MJPEG) file from all the JPEG files in the current dir:
+ mencoder -mf on:w=800:h=600:fps=25 -ovc copy
+ -o output.avi \*.jpg
+
+
Creating an uncompressed file from all the PNG files in the current dir:
+ mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
+ -o output.avi \*.png
+
+
Note: Width must be integer multiple of 4, it's a limitation of the
+ RAW RGB AVI format.
+
+
Creating a Motion PNG (MPNG) file from all the PNG files in the current dir:
+ mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
+ -o output.avi \*.png
+
+
Creating a Motion TGA (MTGA) file from all the TGA files in the current dir:
+ mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
+ -o output.avi \*.tga
MEncoder is capable of extracting subtitles from a DVD into
+ Vobsub fomat files. They consist of a pair of files ending in
+ .idx and .sub and are usually packaged in a single
+ .rar archive. MPlayer can play these with the
+ -vobsub and -vobsubid options.
+
+
You specify the basename (i.e without the .idx or
+ .sub extension) of the output files with -vobsubout
+ and the index for this subtitle in the resulting files with
+ -vobsuboutindex.
+
+
If the input is not from a DVD you should use -ifo to
+ indicate the .ifo file needed to construct the resulting
+ .idx file.
+
+
If the input is not from a DVD and you do not have the .ifo
+ file you will need to use the -vobsubid option to let it know
+ what language id to put in the .idx file.
+
+
Each run will append the running subtitle if the .idx and
+ .sub files already exist. So you should remove any before
+ starting.
DVDs and SVCDs (i.e. MPEG1/2) files contain an aspect ratio value,
+ which describes how should the player scale the video stream, so humans
+ won't have egg heads (ex.: 480x480 + 4:3 = 640x480). However when encoding
+ to AVI (DivX) files, you have be aware that AVI headers don't store this
+ value. Rescaling the movie is disgusting and time consuming, there
+ must be a better feature!
+
+
There is.
+
+
MPEG4 has an unique feature: the video stream can contain
+ its needed aspect ratio. Yes, just like MPEG1/2 files (DVD, SVCD).
+ Regretfully, there are no video players outside which support this
+ attribute. Except MPlayer.
+
+
This feature can be used only with libavcodec's mpeg4
+ codec. Keep in mind: although MPlayer will correctly play the created file,
+ other players will use the wrong aspect ratio.
+
+
You seriously should crop the black bands over and below the movie image.
+ See the manpage about the usage of the cropdetect and
+ crop filters.
Q: Compilation stops with an error message similar to this one:
+
+ In file included from mplayer.c:34:
+ mw.h: In function `mplMainDraw':
+ mw.h:209: Internal compiler error in print_rtl_and_abort, at flow.c:6458
+ Please submit a full bug report,
+ with preprocessed source if appropriate.
+
+
+
A: This is a known problem of gcc 3.0.4, upgrade to 3.1 to solve the
+ problem. How to install gcc is described in the
+ gcc 2.96 section.
+
+
+
Q: Configure ends with this text, and MPlayer won't compile!
+ "Your gcc does not support even i386 for '-march' and '-mcpu'."
+
+
A: Your gcc isn't installed correctly, check the config.log
+ file for details.
+
+
+
Q: What does "No such file or directory" mean?
+
A: Probably there is no such file or directory.
+
+
+
Q: What's the problem with gcc 2.96?
+
A: We strongly discourage the use of gcc 2.96!
+ Read this document for
+ details about why Red Hat released gcc 2.96 and what the problems are all
+ about. If you still really really want to use it, be sure to get the latest
+ release and give the --disable-gcc-checking option to
+ configure. Remember that you are on your own from this point. Do not
+ report bugs, do not ask for help on the mailing lists. We will
+ not provide any support in case you run into problems.
+
+
+
Q: Great, I have gcc 3.0.1 from Red Hat/Mandrake, then I'm fine!
+
A: No, since there have been/are issues with these compilers as well.
+ To check the status of current compilers' MPlayer support, see the
+ Installation section.
+
+
+
Q: I tried to compile MPlayer, but I got this output:
+
+ In file included from /usr/include/g++-v3/bits/std_cwchar.h:42,
+ from /usr/include/g++-v3/bits/fpos.h:40,
+ from /usr/include/g++-v3/bits/char_traits.h:40,
+ from /usr/include/g++-v3/bits/std_string.h:41,
+ from /usr/include/g++-v3/string:31,
+ from libwin32.h:36,
+ from DS_AudioDecoder.h:4,
+ from DS_AudioDec.cpp:5:
+ /usr/include/wchar.h: In function Long long int wcstoq(const wchar_t*,
+ wchar_t**, int)':
+ /usr/include/wchar.h:514: cannot convert `const wchar_t* __restrict' to
+ `const
+
+
+
A: Upgrade your glibc to the latest release. On Mandrake, use 2.2.4-8mdk.
+
+
+
Q: ... gcc 2.96 ... (Yes, some people are STILL flaming about gcc 2.96!)
+
A: Quoted from a
+ mail
+ A'rpi sent to the
+ mplayer-users
+ list (the word 'ideg' is described below):
+
+
And we have idegs. And our idegcounter overflowed again and again.
+
+
Unfortunately MPlayer is out of our control. It's used by lamers, Linux
+ users who can't even use Windows, and never tried to compile a kernel. They
+ installed (with default options) Mandrake or Red Hat or SuSE, and without
+ RTFM'ing they send messages saying 'it doesn't work! help me! please! i'm
+ new to Linux! help! oh! help me!'. We can't stop them, but at least we try
+ to force them to RTFM and to read the messages of ./configure and MPlayer.
+
+
And you clever guys come and flame us with gcc 2.96 and binary packages.
+ Instead of helping users or making patches to help solve problems.
+
+
Half of our spare/free time is spent by answering silly mails here and
+ making newer tricks and checks to configure to avoid such mails.
+
+
And there is a balance. On the one side are you, clever guys, saying we
+ are very bad because we don't like buggy gcc 2.96, and on the other side
+ there are the 'new to Linux' guys who are showing us gcc 2.96 is buggy.
+
+
Conclusion: We can't be good. Half the people will always say we are bad.
+
+
Maybe we should close the project, make it closed source, commercial, and
+ provide install support for it. then we could leave current work, so
+ development could go faster, and we could earn lots of money with it and buy
+ a big house, etc etc. Do you really want it? It seems.
+
+
+
+
+
Q: SDL output doesn't work or compile. The problem is ...
+
A: It was tested to work with SDL 1.2.x and may run on SDL 1.1.7+.
+ It does not work with any previous version. So if you choose to use
+ such a version, you are on your own.
+
+
+
Q: I am still having trouble compiling with SDL support. gcc says
+ something about "undefined reference to `SDL_EnableKeyRepeat'". What
+ now?
+
A: Where did you install the SDL library? If you installed in /usr/local
+ (the default) then edit the top level config.mak and add
+ "-L/usr/local/lib" after "X_LIBS=". Now type make. You're done!
+
+
+
Q: It doesn't compile, and it misses uint64_t inttypes.h and similar
+ things ...
+
A: Copy etc/inttypes.h to the MPlayer directory
+ (cp etc/inttypes.h .) and try again ...
+
+
+
Q: I have Linux running on a Pentium III but ./configure
+ doesn't detect SSE ...
+
A: Only kernel versions 2.4.x support SSE (or try 2.2.19 or newer, but
+ be prepared for problems).
+
+
+
Q: I have a G200/G400, how do I compile/use the mga_vid driver?
A: You can make a .deb package for yourself, check the
+ Debian packaging section.
+ There are links to official Red Hat RPM packages available on our
+ download page.
+
+
+
Q: During 'make', MPlayer complains about X11 libraries. I don't
+ understand, I DO have X installed!?
+
A: ... but you don't have the X development package installed. Or not
+ correctly. It's called XFree86-devel* under Red Hat, and xlibs-dev under
+ Debian. Also check if the /usr/X11 and /usr/include/X11
+ symlinks exist (this can be a problem on Mandrake systems). They can be
+ created with these commands:
+ $ ln -sf /usr/X11R6 /usr/X11
+ $ ln -sf /usr/X11R6/include/X11 /usr/include/X11
+ Your distribution may differ from the
+ Filesystem Hierarchy Standard.
+
+
+
Q: I can't compile SVGAlib. I'm using kernel 2.3/2.4 ...
+
A: You have to edit SVGAlib's Makefile.cfg and comment
+ BACKGROUND = y out.
+
+
+
Q: I compiled MPlayer with libdvdcss/libdivxdecore support, but when
+ I try to start it, it says:
+ > error while loading shared libraries: lib*.so.0: cannot load
+ shared object file: No such file or directory
+ I checked up on the file and it IS there in /usr/local/lib ...
+
A: Add /usr/local/lib to /etc/ld.so.conf and run
+ ldconfig.
+
+
+
Q: Hmm, strange. When loading the mga_vid.o kernel module, I found this in
+ the logs:
+ Warning: loading mga_vid.o will taint the kernel: no license
+
A: The latest kernel modutils require a flag indicating the license
+ (mainly to avoid kernel hackers debugging closed source drivers).
+ Upgrade your kernel, modutils and MPlayer.
+
+
+
Q: When compiling MEncoder, it segfaults at linking!
+
A: This is a linker problem. Upgrading binutils should help (2.11.92.*
+ or newer should be good). Since it is not our fault, please do not
+ report!
+
+
+
Q: MPlayer dies with segmentation fault upon pthread check!
A: We made a short document describing
+ all the necessary details. Please follow the instructions.
+
+
+
Q: How can I support MPlayer development?
+
A: We are more than happy to accept your hardware and software
+ donations.
+ They help us in continuously improving MPlayer.
+
+
+
Q: How can I become an MPlayer developer?
+
A: We always welcome coders and documenters. Read the
+ technical documentation to get a first grasp. Then you
+ should subscribe to the
+ mplayer-dev-eng
+ mailing list and start coding.
+
+
+
Q: Can I run multiple instances of MPlayer?
+
A: Yes. Some video out drivers like xv, dga or (x)mga are exclusive, some
+ are exclusive in combination with certain graphics boards and drivers. You
+ will not be able to run more than one instance of MPlayer with one of those
+ video out drivers. To a lesser degree this also applies to audio drivers.
+ Not all allow playback of multiple streams on the same device.
+
+
+
Q: There is a timer in the upper left corner. How can I get rid of it?
+
A: Press o and try the -osdlevel option.
+
+
+
Q: The -xy or -fs option doesn't work with the
+ x11 driver (-vo x11) ...
+
A: It does, but you have to explicitly specify software scaling (very
+ slow) with the -zoom option. You better use XF86VidMode
+ support: You must specify the -vm and the -fs
+ option, and you're done. Make sure you have the right modelines in your
+ XF86Config file, and try to make the DGA driver
+ and SDL's DGA driver work for you.
+ It's much faster. If SDL's DGA works, use that, it'll be even faster.
+
+
+
Q: What is the meaning of the numbers on the status line?
video codec cpu usage in percent (for slices and DR this includes
+ video_out)
+
video_out cpu usage
+
audio codec cpu usage in percent
+
frames needed to drop to maintain A-V sync
+
current level of image postprocessing (when using -autoq)
+
current cache size used (around 50% is normal)
+
+ Most of them are for debug purposes and will be removed at some point.
+
+
+
Q: What if I don't want them to appear?
+
A: Use the -quiet option and read the man page.
+
+
+
Q: Why is video_out cpu usage zero (0%) for some files?
+
A1: It's not zero, but it's called from the codec and thus cannot be
+ measured separately. You should try to play the file using
+ -vo null and then -vo ... and check the
+ difference to see the video_out speed.
+
A2: You are using Direct Rendering,
+ where the codec renders to the video memory itself. In this case, the
+ decoding percentage contains the display percentage, too.
+
+
+
Q: There are error messages about file not found
+ /usr/lib/win32/ ...
+
A: Download the Win32 codecs from our
+ codecs page
+ (avifile's codec package has a different DLL set) and install it.
+
+
+
Q: Are there any mailing lists on MPlayer?
+
A: Yes. See the bottom of the info page on
+ our homepage to
+ subscribe.
+
+
+
Q: I've found a nasty bug when I tried to play my favorite video!
+ Who should I inform?
A: A combination of a Hungarian and an English word. "Ideg" in Hungarian
+ means the same as "nerve" in English, and is pronounced as something like
+ "ydaegh". It was first used to measure the nervousness of A'rpi, after some
+ (umm) "mysterious" disappearance of CVS code ;)
+
+
+
Q: And what is "Faszom(C)ounter"?
+
A: "Fasz" is a Hungarian word you don't want to know, the others are
+ connected to the perverted minds of the MPlayer developers.
+
+
+
Q: LIRC doesn't work, because ...
+
A: Are you sure you are using mplayer instead of
+ mplayer_lirc? Note that it was mplayer_lirc for a
+ long time, including the 0.60 release, but it was recently changed back to
+ mplayer.
+
+
+
Q: Subtitles are very nice, the most beautiful I've ever seen, but they
+ slow down playing! I know it's unlikely ...
+
A: After running ./configure, edit config.h and
+ replace #undef FAST_OSD with #define FAST_OSD.
+ Then recompile.
+
+
+
Q: The onscreen display (OSD) is flickering!
+
A: You use a vo driver with single buffering (x11,xv). With xv,
+ use the -double option. Also try -vop expand
Q: I can play certain AVIs but I get no sound and this kind of error:
+
+ Detected audio codec: [divx] afm:4 (DivX audio (WMA))
+ Requested audio codec family [divx] (afm=4) not available (enable it at
+ compile time!)
+
+
+
A: Probably the audio uses a codec not natively supported by
+ MPlayer. Install the Win32 codec package as described in the README
+ or in the Installation section.
+
+
+
Q: ... works with avifile/aviplay but doesn't with MPlayer.
+
A: MPlayer is not avifile.
+ The only common thing between these players is the Win32 DLL loader.
+ The codecs (DLL) set, synchronization, demultiplexing etc is totally
+ different and shouldn't be compared.
+ If something works with aviplay it doesn't mean that MPlayer will
+ work and vice versa.
+
+
+
Q: Audio goes out of sync playing an AVI file.
+
A: Try the -bps or -nobps option. If it does not
+ improve, read this and upload the file to FTP.
+
+
+
Q: MPlayer exits with some error when using l3codeca.acm.
+
A: Check ldd /usr/local/bin/mplayer output. If it contains
+ libc.so.6 => /lib/libc.so.6 (0x4???????)
+ where "?" is any number then it's OK, the error is not here. If it is:
+ libc.so.6 => /lib/libc.so.6 (0x00??????)
+ then there is a problem with your kernel/libc. Maybe you are using some
+ security patches (for example Solar Designer's OpenWall patch) which
+ forces loading libraries to very low addresses.
+ Because l3codeca.acm is a non-relocatable DLL, it must be loaded to
+ 0x00400000, we can't change this. You should use a non-patched kernel,
+ or use MPlayer's -afm 1 option to disable using
+ l3codeca.acm.
+
+
+
Q: My computer plays M$ DivX AVIs with resolutions ~ 640x300 and stereo
+ mp3 sound too slow. When I use -nosound option, everything is OK (but
+ quiet).
+
A: Your machine is too slow or your soundcard driver is broken. Consult
+ the documentation to see if you can improve performance.
+
+
+
Q: MPlayer dies with "MPlayer interrupted by signal 4 in module:
+ decode_video".
+
A: Try running MPlayer on the machine you compiled on. Or recompile
+ with runtime CPU detection
+ (./configure --enable-runtime-cpudetection). Don't
+ use MPlayer on a CPU different from the one it was compiled on,
+ without using the feature mentioned just now.
+
+
+
Q: I have problems with [your window manager] and fullscreen
+ xv/xmga/sdl/x11 modes ...
Q: I got this playing MPEG files: Can't find codec for video format
+ 0x10000001!
+
A: You have an old version of codecs.conf at ~/.mplayer/.
+ Upgrade it from /etc/.
+ OR you have the vc= option or something similar in your
+ config file(s).
+
+
+
Q: When starting MPlayer under KDE I just get a black screen and nothing
+ happens. After about one minute the video starts playing.
+
A: The KDE arts sound daemon is blocking the sound device. Either wait
+ until the video starts or disable the arts-daemon in kontrol center. If you
+ want to use arts sound, specify audio output via our native arts audio
+ driver (-ao arts). If it fails or isn't compiled in, try SDL
+ (-ao sdl) and make sure your SDL can handle arts sound. Yet
+ another option is to start MPlayer with artsdsp.
+
+
+
Q: I have an AVI that produces a gray screen when played with
+ -vc odivx and a green one with -vc divx4.
+
A: It's not a DivX file, but an M$ MPEG4v3. Update your codecs.conf.
+
+
+
Q: When I play this movie I get video-audio desync and/or MPlayer crashes
+ with the following message:
+ DEMUXER: Too many (945 in 8390980 bytes) video packets in the buffer!
+
A: This can have multiple reasons.
+
+
Your CPU and/or video card and/or bus is too slow.
+ MPlayer displays a message if this is the case (and the dropped
+ frames counter goes up fast).
+
If it is an AVI, maybe it has bad interleaving. Try the
+ -ni option.
+
Your sound driver is buggy, or you use ALSA 0.5 with -ao oss.
+ See the sound card section.
+
The AVI has a bad header, try the -nobps option, and/or
+ -mc 0.
+
+
+
+
Q: I have an MJPEG file which works with other players but displays only a
+ black image in MPlayer.
+
A: Disable the Windows DLL in codecs.conf, or use the
+ -vc ffmjpeg option (compile MPlayer with libavcodec for this
+ to work).
+
+
+
Q: When I try to grab from my tuner, it works, but colors are strange.
+ It's OK with other applications.
+
A: Your card probably misreports its colorspace capacity. Try with YUY2
+ instead of default YV12 (see the TV input
+ documentation).
+
+
+
Q: When I start playing, I get this message but everything seems fine:
+ Linux RTC init: ioctl (rtc_pie_on): Permission denied
+
A: You need root privileges or a
+ specially set up kernel to use the new timing code. For details see the
+ RTC section of the documentation.
+
+
+
Q: I have A/V sync problems. Some of my AVIs play fine, but some play with
+ double speed!
+
A: You have a buggy sound card/driver. Most likely it's fixed at 44100Hz,
+ and you try to play a file which has 22050Hz audio. Try the resample audio
+ plugin.
+
+
+
Q: All the WMV (or other..) files I play create a green/gray window and
+ there is only sound! MPlayer prints:
+ Detected video codec: [null] drv:0 (NULL codec (no decoding))
+
A: Update your codecs.conf.
+
+
+
Q: I get very strange percentage values (way too big) while playing files
+ on my notebook.
+
A: It's an effect of the power management / power saving system of your
+ notebook (BIOS, not kernel). Plug the external power connector in
+ before you power on your notebook. You can also try whether
+ cpufreq (a SpeedStep interface
+ for Linux) helps you.
+
+
+
Q: The audio/video gets totally out of sync when I run MPlayer as root on
+ my notebook. It works normal when i run it as a user.
+
A: This is again a power management effect (see above). Plug the external
+ power connector in before you power on your notebook or use the
+ -nortc option.
Q: I have no sound when playing a video and get error messages similar to
+ this one:
+
+ AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian)
+ audio_setup: Can't open audio device /dev/dsp: Device or resource busy
+ couldn't open/init audio device -> NOSOUND
+ Audio: no sound!!!
+ Start playing...
+
+
+
A: Are you running KDE or GNOME with the ARTS or ESD sound daemon? Try
+ disabling the sound daemon or use the -ao arts or
+ -ao esd option to make MPlayer use ARTS or ESD.
+
+
+
Q: What about the DGA driver? I can't find it!
+
A: ./configure autodetects your DGA driver. If
+ -vo help doesn't show DGA, then there's a problem with your X
+ installation. Try ./configure --enable-dga and read the
+ documentation. Alternatively, try SDL's DGA
+ driver with the -vo sdl:dga option.
+
+
+
Q: OK, -vo help shows DGA driver, but it complains about
+ permissions. Help me!
+
A: It works only if running as root! It's a DGA limitation.
+ You should become root (su -), and try again.
+ Another solution is making MPlayer SUID root, but it's
+ not recommended!
+ chown root /usr/local/bin/mplayer
+ chmod 755 /usr/local/bin/mplayer
+ chmod +s /usr/local/bin/mplayer
+
+ Warning: security risk
+ This is a big security risk! Never do this on a server or
+ on a computer that you do not control completely because other users can
+ gain root privileges through SUID root MPlayer. You have been
+ warned.
+
+
+
+
+
Q: When using Xvideo, my Voodoo 3/Banshee says:
+ X Error of failed request: BadAccess (attempt to access private
+ resource denied)
+ Major opcode of failed request: 147 (MIT-SHM)
+ Minor opcode of failed request: 1 (X_ShmAttach)
+ Serial number of failed request: 26
+ Current serial number in output stream:27
+
A: The "tdfx" driver in XFree86 4.0.2/4.0.3 had this bug. This was solved
+ by bugfix #621 of the
+ XFree86 4.1.0 CVS log. So upgrade to XFree86 4.1.0 or later.
+ Alternatively, either download (at least) DRI version 0.6 from the
+ DRI homepage, or use CVS DRI.
A: Your OpenGL driver doesn't support dynamic texture changes
+ (glTexSubImage). It's known not to work with nVidia's binary mess.
+ It's known to work with Utah-GLX/DRI and Matrox G400 cards. Also with
+ DRI and Radeon cards. It won't work with DRI and other cards.
+ it will not work with 3DFX cards because of the 256x256 texture size limit.
+
+
+
Q: I have an nVidia TNT/TNT2 card, and I have a band with strange colors,
+ right under the movie! Whose fault is this?
+
A: This is a bug of nVidia's binary X driver. These bugs appear ONLY with
+ the TNT/TNT2 cards, and we can't do anything about it. To fix the problem,
+ upgrade to the latest nVidia binary driver version. If still bad, complain
+ to nVidia!
+
+
+
Q: I have an nVidia XYZ card, and when I click on the GUI's display window
+ to toggle displaying the GUI panel, a black square appears where I clicked.
+ I have the newest driver.
+
A: Yes, nVidia corrected a previous bug (above), and introduced a new one.
+ Let's congratulate them. UPDATE: According to
+ nVidia, this has already
+ been fixed.
+
+
+
Q: When I use the GUI with SDL video output, a second video window is
+ created.
+
A: Known, don't use SDL for the GUI yet.
+
+
+
Q: Oh the world is cruel ...! SDL has only x11 target, but
+ not xv!
+
A: Try that x11 target again. Now try
+ -vo x11 -fs -zoom. See the difference? No?! OK, here comes the
+ enlightenment: SDL's x11 target uses xv when available, you
+ don't have to worry about it ... Note: you can force/disable Xv via SDL
+ using -forcexv and -noxv
A: Support for dvdnav in MPlayer is currently broken, normal playback
+ does work, though. If you want to have fancy menus, you will have to use
+ another player like xine or
+ Ogle. If you care
+ about DVD navigation, send a patch.
+
+
+
Q: While playing a DVD, I encountered this error:
+ mplayer: ifo_read.c:1143: ifoRead_C_ADT_internal: Assertion
+ nfo_length / sizeof(cell_adr_t) >= c_adt->nr_of_vobs' failed.
+
A: This is a known libdvdread 0.9.1/0.9.2 bug. Use libmpdvdkit2,
+ which is present in MPlayer source, and used by default.
+
+
+
Q: Can I compile libdvdread and libdvdcss on my sweet SPARC under
+ Solaris?
+
A: Who knows ... It's said to work, so please test it and send feedback.
+ Refer to the documentation of libdvdread and its homepage as well. We're not
+ the authors of libdvdread. Use libmpdvdkit2, which is present in
+ MPlayer source, and used by default.
+
+
+
Q: What about subtitles? Can MPlayer display them?
+
A: Yes. See the DVD chapter of the
+ documentation.
+
+
+
Q: How can I set the region code of my DVD-drive? I don't have
+ Windows!
Q: Do I need to be (setuid) root/setuid fibmap_mplayer to be able to play
+ a DVD?
+
A: No, only for old-style DVD support. However you must have
+ the proper rights on the DVD device entry (in /dev/).
+
+
+
Q: Where can I get libdvdread and libdvdcss packages?
+
A: You don't need to. Use libmpdvdkit2, which is present in the
+ MPlayer source, and used by default. You can get the mentioned packages
+ from the
+ Ogle site.
+
+
+
Q: Is it possible to play/encode only selected chapters?
+
A: Yes, try the -chapter option.
+
+
+
Q: My DVD playback is sluggish!
+
A: Use the -cache option (described in the man page)
+ and try enabling DMA for the DVD drive with the hdparm tool (described in
+ the CD chapter of the documentation).
Q: If MPlayer is paused and I try to seek or press any key at all,
+ MPlayer ceases to be paused. I would like to be able to seek in the
+ paused movie.
+
A: This is very tricky to implement without losing A/V synchronization.
+ All attempts have failed so far, but patches are welcome.
+
+
+
Q: I'd like to seek +/- 1 frames instead of 10 seconds.
+
A: This won't be done. It was, but then it messed up A/V sync. Feel free
+ to implement it, and send a patch. Don't ask for it.
+
+
+
Q: Where is the Windows version?
+
A: It's not released, and won't be. Look around the Windows scene (open
+ source ASF parsers, open source ASF encoders, etc) and you'll know why. We
+ don't want to go to jail. BTW you can compile it yourself, under
+ Cygwin.
+
+
+
Q: How can I make MPlayer remember the options I use for this
+ particular file?
+
A: Create a file named movie.avi.conf with the
+ file-specific options in it and put it in ~/.mplayer or in
+ the same directory as the file.
A: Try the mencvcd script from the TOOLS
+ subdirectory. With it you can encode DVDs or other movies to VCD or SVCD
+ format and even burn them directly to CD.
+
+
+
Q: How can I join two video files?
+
A: This has been discussed to no end on mplayer-users. Go search the
+ archives
+ for a complete answer. This is a complicated topic and your mileage may
+ vary a lot depending on the kind of files you want to merge. MPEGs can be
+ concatenated into a single file with luck. For AVIs there are two tools,
+ avidemux
+ and avimerge (part of the
+ transcode
+ tool set), available that might do the job. You can also try MEncoder if
+ you have two files sharing the same dimensions and codec. Try
+ cat file1 file2 > file3
+ mencoder -ovc copy -oac copy -o out.avi -forceidx file3.avi
+
+
+
Q: My tuner works, I can hear the sound and watch the video with MPlayer,
+ but MEncoder doesn't encode audio!
+
A: TV audio encoding for Linux is currently unimplemented, we're working
+ on it. At the moment it works only on BSD.
+
+
+
Q: I can't encode DVD subtitles into the AVI!
+
A: You have to specify the -sid option correctly!
+
+
+
Q: MEncoder segfaults on startup!
+
A: Upgrade DivX4Linux.
+
+
+
Q: How can I encode only selected chapters from a DVD?
+
A: Use the -chapter option correctly, like:
+ -chapter 5-7
+
+
+
Q: I'm trying to work with 2GB+ files on a VFAT file system. Does it work?
+
A: No, VFAT doesn't support 2GB+ files.
+
+
+
Q: Why is the recommended bitrate printed by MEncoder negative?
+
A: Because the bitrate you encoded the audio with is too large to fit the
+ movie on any CD. Check if you have libmp3lame installed properly.
+
+
+
+
+
diff -r 007a1bdce1f4 -r 1b3444713694 DOCS/en/formats.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DOCS/en/formats.html Mon Feb 10 00:00:00 2003 +0000
@@ -0,0 +1,320 @@
+
+
+
+
+ Formats - MPlayer - The Movie Player for Linux
+
+
+
+
+
+
+
+
It is important to clarify a common mistake. When people see a file with a
+ .AVI extension, they immediately conclude that it is not an MPEG file.
+ That is not true. At least not entirely. Contrary to popular belief such a
+ file can contain MPEG1 video.
+
+
You see, a codec is not the same as a file format.
+ Examples of video codecs are: MPEG1, MPEG2, DivX, Indeo5, 3ivx.
+ Examples of file formats are: MPG, AVI, ASF.
+
+
In theory, you can put an OpenDivX video and MP3 audio into an MPG
+ format file. However, most players will not play it, since they expect MPEG1
+ video and MP2 audio (unlike AVI, MPG does not have the
+ necessary fields to describe its video and audio streams). Or you might put
+ MPEG1 video into an AVI file.
+ FFmpeg and
+ MEncoder can create these files.
MPG: This is the most basic form of the MPEG file formats. It
+ contains MPEG1 video, and MP2 (MPEG-1 layer 2) or rarely MP1 audio.
+
DAT: This is the very same format as MPG with a different extension. It
+ is used on Video CDs. Due to the way VCDs are created and Linux is
+ designed, DAT files cannot be played nor copied from VCDs as regular files.
+ You have to use the -vcd option to play the Video CD.
+
VOB: This is the MPEG file format on DVDs. It is the same as MPG,
+ plus the capability to contain subtitles or non-MPEG (AC3) audio. It
+ contains encoded MPEG2 video and usually AC3 audio, but DTS, MP2 and
+ uncompressed LPCM are allowed, too. Read the DVD section!
+
+
+
Series of frames form independent groups in MPEG files. This means that you
+ can cut/join an MPEG file with standard file tools (like dd,
+ cut), and it remains completely functional.
+
+
One important feature of MPGs is that they have a field to describe the
+ aspect ratio of the video stream within. For example SVCDs have 480x480
+ resolution video, and in the header that field is set to 4:3, so that it is
+ played at 640x480. AVI files do not have this field, so they have to be
+ rescaled during encoding or played with the -aspect option.
Designed by Microsoft, AVI (Audio Video Interleaved) is a widespread
+ multipurpose format currently used mostly for DivX and DivX4 video. It has
+ many known drawbacks and shortcomings (for example in streaming). It
+ supports one video stream and 0 to 99 audio streams. File size is limited to
+ 2GB, but there exists an extension allowing bigger files called
+ OpenDMS. Microsoft currently strongly discourages its use and
+ encourages ASF/WMV. Not that anybody cares.
+
+
There is a hack that allows AVI files to contain an Ogg Vorbis audio
+ stream, but makes them incompatible with standard AVI. MPlayer
+ supports playing these files. Seeking is also implemented but severely
+ hampered by badly encoded files with confusing headers. Unfortunately the
+ only encoder currently capable of creating these files, NanDub, has this
+ problem.
+
+
Note: DV cameras create raw DV streams that DV grabbing utilities
+ convert to two different types of AVI files. The AVI will then contain either
+ separate audio and video streams that MPlayer can play or the raw DV
+ stream for which support is under development.
+
+
There are two kinds of AVI files:
+
+
Interleaved: Audio and video content is interleaved. This is the
+ standard usage. Recommended and mostly used. Some tools create
+ interleaved AVIs with bad sync. MPlayer detects these as
+ interleaved, and this climaxes in loss of A/V sync, probably at seeking.
+ These files should be played as non-interleaved (with the -ni
+ option).
+
Non-interleaved: First comes the whole video stream, then the whole
+ audio stream. It thus needs a lot of seeking, making playing from network or
+ CD-Rom difficult.
+
+
+
MPlayer supports two kinds of timings for AVI files:
+
+
bps-based: It is based on the bitrate/samplerate of the video/audio stream. This
+ method is used by most players, including avifile
+ and Windows Media Player.
+ Files with broken headers, and files created with VBR audio but not with a
+ VBR-compliant encoder will result in A/V desync with this method (mostly at
+ seeking).
+
interleaving-based: It does not use the bitrate value of the header, instead
+ it uses the relative position of interleaved audio and video chunks, making
+ badly encoded files with VBR audio playable.
+
+
+
Any audio and video codec is allowed, but note that VBR audio is not well
+ supported by most players. The file format makes it possible to use VBR
+ audio, but most players expect CBR audio, thus they fail with VBR. VBR is
+ uncommon and the Microsoft AVI specs only describe CBR audio. Most AVI
+ encoders/multiplexers create bad files when using VBR audio. There are only
+ two known exceptions: NanDub and MEncoder.
ASF (active streaming format) comes from Microsoft. They developed two
+ variants of ASF, v1.0 and v2.0. v1.0 is used by their media tools (Windows
+ Media Player and Windows Media Encoder) and is very secret. v2.0 is published
+ and patented :). Of course they differ, there is no compatibility at all (it
+ is just another legal game). MPlayer supports only v1.0, as nobody has
+ ever seen v2.0 files :). Note that ASF files nowadays come with the extension
+ .WMA or .WMV.
These formats were designed by Apple and can contain any codec, CBR or VBR.
+ They usually have a .QT or .MOV extension. Ever since the MPEG4 group chose
+ QuickTime as the recommended file format for MPEG4, their MOV files come with
+ an
+ .MPG or .MP4 extension (Interestingly the video and audio streams in these
+ files are real MPG and AAC files. You can even extract them with the
+ -dumpvideo and -dumpaudio options.).
+
+
Note: Most new QuickTime files use Sorenson video and QDesign
+ Music audio. See our Sorenson codec
+ section.
MPlayer happily demuxes VIVO file formats. The biggest disadvantage
+ of the format is that it has no index block, nor a fixed packet size or sync
+ bytes and most files lack even keyframes, so forget seeking!
+
+
The video codec of VIVO/1.0 files is standard h.263. The video codec
+ of VIVO/2.0 files is a modified, nonstandard h.263v2. The audio is the
+ same, it may be g.723 (standard), or Vivo Siren.
FLI is a very old file format used by Autodesk Animator, but it is a
+ common file format for short animations on the net. MPlayer demuxes
+ and decodes FLI movies and is even able to seek within them (useful when
+ looping with the -loop option). FLI files do not have keyframes,
+ so the picture will be messy for a short time after seeking.
Yes, MPlayer can read (demux) RealMedia (.rm) files. Seeking works,
+ but you have to explicitly specify the -forceidx option
+ (the format supports keyframes). Here are the lists of the supported
+ RealVideo
+ and RealAudio codecs.
NuppelVideo
+ is a TV grabber tool (AFAIK:). MPlayer can read its .NUV files (only
+ NuppelVideo 5.0). Those files can contain uncompressed YV12, YV12+RTJpeg
+ compressed, YV12 RTJpeg+lzo compressed, and YV12+lzo compressed frames.
+ MPlayer decodes them all (and also encodes them with
+ MEncoder to DivX/etc!). Seeking works.
yuv4mpeg / yuv4mpeg2 is a file
+ format used by the mjpegtools programs.
+ You can grab, produce, filter or encode video in this format using these
+ tools. The file format is really a sequence of uncompressed YUV 4:2:0
+ images.
This is a new file format from Xiphophorus.
+ It can contain any video or audio codec, CBR or VBR. You will need to
+ have libogg and libvorbis installed
+ before compiling MPlayer to be able to play it.
The GIF format is a common format for web graphics. There are two
+ versions of the GIF spec, GIF87a and GIF89a. The main difference is that
+ GIF89a allows for animation. MPlayer supports both formats through use
+ of libungif or another libgif-compatible library. Non-animated GIFs will
+ be displayed as single frame videos. (Use the -loop and
+ -fixed-vo options to display these longer.)
+
+
MPlayer currently does not support seeking in GIF files. GIF files do
+ not necessarily have a fixed frame size, nor a fixed framerate. Rather,
+ each frame is of independent size and is supposed to be positioned in a
+ certain place on a field of fixed-size. The framerate is controlled by
+ an optional block before each frame that specifies the next frame's delay
+ in centiseconds.
+
+
Standard GIF files contain 24-bit RGB frames with at most an 8-bit
+ indexed pallete. These frames are usually LZW-compressed, although
+ some GIF encoders produce uncompressed frames to avoid patent issues
+ with LZW compression.
+
+
If your distribution does not come with libungif, download a copy from the
+ libungif homepage.
+ For detailed technical information, have a look at the
+ GIF89a specification.
MPlayer is a Movie and not a Media player, although
+ it can play some audio file formats (they are listed in the sections below).
+ This is not a recommended usage of MPlayer, you better use
+ xmms.
You may have problems playing certain MP3 files that MPlayer will
+ misdetect as MPEGs and play incorrectly or not at all. This cannot be fixed
+ without dropping support for certain broken MPEG files and thus will remain
+ like this for the foreseeable future. The -demuxer flag
+ described in the man page may help you in these cases.
MPlayer can use XMMS input plugins to play many file formats. There are
+ plugins for SNES game tunes, SID tunes (from Commodore 64), many Amiga
+ formats, .xm, .it, VQF, musepack, Bonk, shorten and many others. You can find
+ them at the
+ XMMS input plugin page.
+
+
For this feature you need to have XMMS and compile MPlayer with
+ ./configure --enable-xmms. If that does not work, you might need
+ to set the XMMS plugin and library path explicitly by way of the
+ --with-xmmsplugindir and --withxmmslibdir
+ options.
+
+
+
diff -r 007a1bdce1f4 -r 1b3444713694 DOCS/en/mplayer.1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DOCS/en/mplayer.1 Mon Feb 10 00:00:00 2003 +0000
@@ -0,0 +1,3524 @@
+.\" MPlayer (C) 2000-2003 Arpad Gereoffy
+.\" This man page was/is done by Gabucino, Diego Biurrun, Jonas Jermann
+.\"
+.\" Run this to get a html version of the man page:
+.\" cat mplayer.1 | sed s/SS\ 20/SS\ 4/ | groff -man -Thtml - > manpage.html
+.\" Run this to get a text version of the man page:
+.\" groff -m man -Tascii mplayer.1 | col -bx > manpage.txt
+.\"
+.
+.\" --------------------------------------------------------------------------
+.\" Macro definitions
+.\" --------------------------------------------------------------------------
+.
+.\" default indentation is 7, don't change!
+.nr IN 7
+.\" define indentation for suboptions
+.nr SS 20
+.\" add new suboption
+.de IPs
+.IP "\\$1" \n(SS
+..
+.\" begin of first level suboptions, end with .RE
+.de RSs
+.RS \n(IN+3
+..
+.\" begin of 2nd level suboptions
+.de RSss
+.PD 0
+.RS \n(SS+3
+..
+.\" end of 2nd level suboptions
+.de REss
+.RE
+.PD 1
+..
+.
+.\" --------------------------------------------------------------------------
+.\" Title
+.\" --------------------------------------------------------------------------
+.
+.TH MPlayer 1 "2003-01-11"
+.
+.SH NAME
+mplayer \- Movie Player for Linux
+.br
+mencoder \- Movie Encoder for Linux
+
+.\" --------------------------------------------------------------------------
+.\" Synopsis
+.\" --------------------------------------------------------------------------
+.
+.SH SYNOPSIS
+.na
+.nh
+.B mplayer
+.RI [options]\ [ \ file\ | \ URL\ | \ playlist\ | \ -\ ]
+.br
+.B mplayer
+'in +\n[.k]u
+[global options]
+.I file1
+[specific options] [file2] [specific options]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+[global options]
+.RI { "group of files and options" }
+[group specific options]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.RI [ dvd | vcd | cdda | cddb | tv ] ://title
+[options]
+.br
+.in
+.B mplayer
+'in +\n[.k]u
+.RI [ mms[t] | http | http_proxy | rt[s]p ] ://
+[user:passwd@]\fIURL\fP[:port] [options]
+.br
+.in
+.B mencoder
+[options]
+.RI [ \ file\ | \ URL\ | \ -\ ]
+[\-o\ file]
+.br
+.B gmplayer
+[options]
+[\-skin\ skin]
+.ad
+.hy
+
+.\" --------------------------------------------------------------------------
+.\" Description
+.\" --------------------------------------------------------------------------
+.
+.SH DESCRIPTION
+.B mplayer
+is a movie player for LINUX (runs on many other Unices and non\-x86 CPUs, see
+the documentation).
+It plays most MPEG/\:VOB, AVI, ASF/\:WMA/\:WMV, RM, QT/\:MOV/\:MP4, OGG/\:OGM,
+VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many
+native, XAnim, and Win32 DLL codecs.
+You can watch VideoCD, SVCD, DVD, 3ivx, DivX\ 3/\:4/\:5 and even WMV movies,
+too (without using the avifile library).
+.PP
+Another great feature of MPlayer is the wide range of supported output
+drivers.
+It works with X11, XV, DGA, OpenGL, SVGAlib, fbdev, AAlib, DirectFB, but you
+can also use GGI, SDL (and this way all their drivers), VESA (on every VESA
+compatible card, even without X11), some low level card-specific drivers (for
+Matrox, 3Dfx and ATI) and some hardware MPEG decoder boards, such as the
+Siemens DVB, DXR2 and DXR3/\:Hollywood+.
+Most of them support software or hardware scaling, so you can enjoy movies in
+fullscreen.
+.PP
+MPlayer has an onscreen display (OSD) for status information, nice big
+antialiased shaded subtitles and visual feedback for keyboard controls.
+European/\:ISO 8859-1,2 (Hungarian, English, Czech, etc), Cyrillic and Korean
+fonts are supported along with 10 subtitle formats (MicroDVD, SubRip,
+SubViewer, Sami, VPlayer, RT, SSA, AQTitle, JACOsub and our own: MPsub) and
+DVD subtitles (SPU streams, VobSub and Closed Captions).
+.PP
+.B mencoder
+(MPlayer's Movie Encoder) is a simple movie encoder, designed to encode
+MPlayer-playable movies (see above) to other MPlayer-playable formats (see
+below).
+It encodes to DivX4, XviD, one of the libavcodec codecs and PCM/\:MP3/\:VBRMP3
+audio in 1, 2 or 3\ passes.
+Furthermore it has stream copying abilities, a powerful plugin system (crop,
+expand, flip, postprocess, rotate, scale, noise, rgb/\:yuv conversion) and
+more.
+.PP
+.B gmplayer
+is MPlayer with a graphical user interface.
+It has the same options as MPlayer.
+
+
+.\" --------------------------------------------------------------------------
+.\" Options
+.\" --------------------------------------------------------------------------
+.
+.SH "GENERAL NOTES"
+.B Also see the HTML documentation!
+.PP
+Every 'flag' option has a 'noflag' counterpart, e.g.\& the opposite of the
+\-fs option is \-nofs.
+.PP
+You can put all of the options in a configuration file which will be read
+every time mplayer is run.
+The system-wide configuration file 'mplayer.conf' is in your configuration
+directory (e.g.\& /etc/\:mplayer or /usr/\:local/\:etc/\:mplayer), the user
+specific one is '~/\:.mplayer/\:config'.
+User specific options override system\-wide options and options given on the
+command line override either.
+The syntax of the configuration files is 'option=', everything after a
+\'#' is considered a comment.
+Options that work without values can be enabled by setting them to 'yes' or
+\'1' and disabled by setting them to 'no' or '0'.
+Even suboptions can be specified in this way.
+
+.I EXAMPLE:
+.br
+# Use Matrox driver by default.
+.br
+vo=xmga
+.br
+# I love practicing handstands while watching videos.
+.br
+flip=yes
+.br
+# Decode/\:encode multiple files from png, start with -mf on
+.br
+mf= type=png:fps=25
+
+You can also write file-specific configuration files.
+If you wish to have a config file for a file called 'movie.avi', create a file
+named 'movie.avi.conf' with the file-specific options in it and put it in
+~/.mplayer or in the same directory as the file.
+
+.SH "PLAYER OPTIONS (MPLAYER ONLY)"
+.TP
+.B \-, \-use-stdin
+Read data from stdin.
+The \-idx option does not work in conjunction with this.
+.TP
+.B \-autoq (use with \-vop pp)
+Dynamically changes the level of postprocessing depending on available spare
+CPU time.
+The number you specify will be the maximum level used.
+Usually you can use some big number.
+You have to use \-vop pp without parameters in order to use this.
+.TP
+.B \-autosync
+Gradually adjusts the A/\:V sync based on audio delay measurements.
+Specifying \-autosync\ 0, the default, will cause frame timing to be based
+entirely on audio delay measurements.
+Specifying \-autosync\ 1 will do the same, but will subtly change the A/\:V
+correction algorithm used.
+An uneven video frame rate in a movie which plays fine with \-nosound can
+often be helped by setting this to an integer value greater than 1.
+The higher the value, the closer the timing will be to -nosound.
+Try \-autosync\ 30 to smooth out problems with sound drivers which do
+not implement a perfect audio delay measurement.
+With this value, if large A/\:V sync offsets occur, they will only take about
+1 or 2\ seconds to settle out.
+This delay in reaction time to sudden A/\:V offsets should be the only
+side-effect of turning this option on, for all sound drivers.
+.TP
+.B \-benchmark
+Prints some statistics on CPU usage and dropped frames at the end.
+Use in combination with \-nosound and \-vo null for benchmarking only the
+video codec.
+.TP
+.B \-edl
+Enables edit decision list (EDL) actions during playback.
+Video will be skipped over and audio will be muted and unmuted according to
+the entries in the given file.
+See DOCS/documentation.html#edl for details on how to use this.
+.TP
+.B \-edlout
+Creates a new file and writes edit decision list (EDL) records to that file.
+During playback, when the user hits 'i', an entry to skip over the last two
+seconds of playback will be written to the file.
+This provides a starting point from which the user can fine-tune EDL entries
+later.
+See DOCS/documentation.html#edl for details.
+.TP
+.B \-enqueue (GUI only)
+Enqueue files given on the command line in the playlist instead of playing them
+immediately.
+.TP
+.B \-fixed-vo (BETA CODE!)
+Enforces a fixed video system for multiple files (one (un)initialisation for
+all files).
+Therefore only one window will be opened for all files.
+Currently the following drivers are fixed-vo compliant: x11, xv, xvidix, xmga,
+gl2, and svga.
+.TP
+.B \-framedrop (also see \-hardframedrop)
+Skip displaying some frames to maintain A/\:V sync on slow systems.
+Video filters are not applied to such frames.
+For B frames even decoding is skipped completely.
+.TP
+.B \-h, \-help, \-\-help
+Show short summary of options.
+.TP
+.B \-hardframedrop
+More intense frame dropping (breaks decoding).
+Leads to image distortion!
+.TP
+.B \-identify
+Show file parameters in easy parsable format.
+The wrapper script TOOLS/midentify suppresses the other mplayer output and
+(hopefully) shellescapes the filenames.
+.TP
+.B \-input
+This option can be used to configure certain parts of the input system.
+Paths are relative to ~/\:.mplayer/.
+
+.I NOTE:
+.br
+Autorepeat is currently only supported by joysticks.
+.br
+Available commands are:
+
+.PD 0
+.RSs
+.IPs conf=
+Read alternative input.conf.
+If given without pathname, ~/\:.mplayer is assumed.
+.IPs ar\-delay
+Delay in msec before we start to autorepeat a key (0 to disable).
+.IPs ar\-rate
+How many key presses per second when we autorepeat.
+.IPs keylist
+Prints all keys that can be bound.
+.IPs cmdlist
+Prints all commands that can be bound.
+.IPs js\-dev
+Specifies the joystick device to use (default is /dev/\:input/\:js0).
+.IPs file
+Read commands from the given file.
+Mostly useful with a fifo.
+.RE
+.PD 1
+.
+.TP
+.B \-lircconf
+Specifies a configuration file for LIRC (Linux Infrared Remote Control, see
+http://www.lirc.org) if you don't like the default ~/\:.lircrc.
+.TP
+.B \-loop
+Loops movie playback times.
+0 means forever.
+.TP
+.B \-menu (BETA CODE)
+Turn on OSD menu support.
+.TP
+.B \-menu-root (BETA CODE)
+Specify the main menu.
+.TP
+.B \-menu-cfg (BETA CODE)
+Use an alternative menu.conf.
+.TP
+.B \-nojoystick
+Turns off joystick support.
+Default is on, if compiled in.
+.TP
+.B \-nolirc
+Turns off LIRC support.
+.TP
+.B \-nortc \ \
+Turns off usage of the Linux RTC (real-time clock \- /dev/\:rtc) as timing
+mechanism.
+.TP
+.B \-playlist
+Play files according to a playlist (1 file per row or Winamp or ASX format).
+.TP
+.B \-quiet \ \
+Display less output and status messages.
+.TP
+.B \-really\-quiet \ \
+Display even less output and status messages.
+.TP
+.B \-sdp
+Specifies that the input file is a SDP ('Session Description Protocol')
+file that describes an RTP session (see http://www.live.com/mplayer/).
+.TP
+.B \-shuffle \ \
+Play files in random order.
+.TP
+.B \-skin (BETA CODE)
+Load skin from the given directory (WITHOUT path name).
+
+.I EXAMPLE:
+.PD 0
+.RSs
+.IPs "\-skin fittyfene"
+tries Skin/fittyfene.
+It first checks
+/usr/local/share/mplayer/
+and afterwards ~/.mplayer/.
+.RE
+.PD 1
+.
+.TP
+.B \-slave \ \
+This option switches on slave mode.
+This is intended for use of MPlayer as a backend to other programs.
+Instead of intercepting keyboard events, MPlayer will read simplistic command
+lines from its stdin.
+The section
+.B SLAVE MODE PROTOCOL
+explains the syntax.
+.TP
+.B \-softsleep
+Uses high quality software timers.
+As precise as the RTC without requiring special privileges.
+Comes at the price of higher CPU consumption.
+.TP
+.B \-speed <0.01\-100>
+Set playback speed rate.
+.TP
+.B \-sstep
+Specifies seconds between displayed frames.
+Useful for slideshows.
+
+
+.SH "DEMUXER/STREAM OPTIONS"
+.TP
+.B \-aid (also see \-alang option)
+Select audio channel [MPEG: 0\-31 AVI/\:OGM: 1\-99 ASF/\:RM: 0\-127
+VOB(AC3): 128\-159 VOB(LPCM): 160\-191]
+MPlayer prints the available IDs when running in verbose (-v) mode.
+.TP
+.B \-alang (also see \-aid option)
+Works only for DVD playback.
+It selects the DVD audio language and always tries to play audio streams whose
+language matches the given code.
+For the list of available languages, use with the \-v option and look at the
+output.
+
+.I EXAMPLE:
+.PD 0
+.RSs
+.IPs "\-alang hu,en"
+Plays Hungarian and falls back to English if Hungarian is not available.
+.RE
+.PD 1
+.
+.TP
+.B \-audio\-demuxer (\-audiofile only)
+Force audio demuxer type for \-audiofile.
+Give the demuxer ID as defined in demuxers.h.
+Use \-audio\-demuxer 17 to force .mp3 detection.
+.TP
+.B \-audiofile
+Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a
+movie.
+.TP
+.B \-bandwidth
+Specify the maximum bandwidth for network streaming (for servers that are
+able to send content in different bitrates).
+Usefull if you want to watch live streamed media behind a slow connection.
+.TP
+.B \-cdrom\-device
+Override default CDROM drive name /dev/\:cdrom.
+.TP
+.B \-cache
+This option specifies how much memory (in kbytes) to use when precaching a
+file/\:URL.
+Especially useful on slow media (default is \-nocache).
+.TP
+.B \-cdda
+This option can be used to tune the CD Audio reading feature of MPlayer.
+.br
+Available options are:
+.
+.RSs
+.IPs speed=
+set CD spin speed
+.IPs paranoia=<0\-2>
+set paranoia level
+.RSss
+0: disable checking
+.br
+1: overlap checking only (default)
+.br
+2: full data correction and verification
+.REss
+.IPs generic-dev=
+use specified generic SCSI device
+.IPs sector-size=
+atomic read size
+.IPs overlap=
+force minimum overlap search during verification to sectors.
+.IPs toc-bias
+Assume that the beginning offset of track 1 as reported in the TOC will be
+addressed as LBA\ 0.
+Some Toshiba drives need this for getting track boundaries correct.
+.IPs toc-offset=
+Add sectors to the values reported when addressing tracks.
+May be negative.
+.IPs (no)skip
+(never) accept imperfect data reconstruction.
+.RE
+.
+.TP
+.B \-channels
+Change the number of playback channels, defaults to '2' if not specified.
+If the number of output channels is bigger than the number of input channels
+empty channels are inserted (unless mixing from mono to stereo, then the mono
+channel is repeated in both output channels).
+If the number of output channels is smaller than the number of input channels,
+results depend on the audio decoder (\-afm).
+MPlayer asks the decoder to decode the audio into as many channels as
+specified.
+Now it's up to the decoder to fulfill the requirement.
+If the decoder outputs more channels than requested, the exceeding channels
+are truncated.
+This is usually only important when playing videos with AC3 audio (like DVDs).
+In that case liba52 does the decoding by default and correctly downmixes the
+audio into the requested number of channels.
+
+.I NOTE:
+.br
+This option is honored by codecs (AC3 only) filters (surround) and ao drivers
+(OSS at least).
+.br
+Available options are:
+
+.PD 0
+.RSs
+.IPs 2
+Stereo
+.IPs 4
+Surround
+.IPs 6
+Full 5.1
+.RE
+.PD 1
+.
+.TP
+.B \-chapter [-]
+Specify which chapter to start playing at.
+Optionally specify which chapter to end playing at (default: 1).
+Examples can be found below.
+.TP
+.B \-csslib
+(old-style DVD option) This option is used to override the default location of
+libcss.so.
+.TP
+.B \-cuefile (see \-vcd too)
+Play (S)VCD from CDRwin's (bin/cue fileformat) disk image, described by the
+specified file.
+.TP
+.B \-demuxer
+Force demuxer type.
+Give the demuxer ID as defined in demuxers.h.
+Use \-demuxer 17 to force .mp3 detection.
+.TP
+.B \-dumpaudio (MPLAYER only)
+Dumps raw compressed audio stream to ./\:stream.dump (useful with mpeg/\:ac3).
+.TP
+.B \-dumpfile (MPLAYER only)
+Specify which file MPlayer should dump to.
+Should be used together with \-dumpaudio / \-dumpvideo / \-dumpstream.
+.TP
+.B \-dumpstream (MPLAYER only)
+Dumps the raw stream to ./\:stream.dump.
+Useful when ripping from DVD or network.
+.TP
+.B \-dumpvideo (MPLAYER only)
+Dump raw compressed video stream to ./\:stream.dump (not very usable).
+.TP
+.B \-dvd
+Tell MPlayer which movies (specified by title id) to play.
+For example sometimes '1' is a trailer, and '2' is the real movie.
+
+.I NOTE:
+.br
+Sometimes deinterlacing is required for DVD playback,
+see the \-vop pp=0x20000 option.
+.TP
+.B \-dvd\-device
+Override default DVD device name /dev/\:dvd.
+.TP
+.B \-dvdangle
+Some DVD discs contain scenes that can be viewed from multiple angles.
+Here you can tell MPlayer which angles to use (default: 1).
+Examples can be found below.
+.TP
+.B \-dvdauth
+(old-style DVD option) Turns on DVD authentication using the given device.
+.TP
+.B \-dvdkey
+(old-style DVD option) When decoding a VOB file copied undecrypted from DVD,
+this option gives the CSS key needed to decrypt the VOB (the key is printed
+when authenticating with the DVD drive using \-dvdauth).
+.TP
+.B \-dvdnav (BETA CODE!)
+Force usage of libdvdnav.
+.TP
+.B \-forceidx
+Force rebuilding of INDEX.
+Useful for files with broken index (desyncs, etc).
+Seeking will be possible.
+You can fix the index permanently with MEncoder (see the documentation).
+.TP
+.B \-fps
+Override video framerate (if value is wrong/\:missing in the header) (float
+number).
+.TP
+.B \-frames
+Play/\:convert only first frames, then quit.
+.TP
+.B \-hr\-mp3\-seek (.MP3 only)
+Hi\-res mp3 seeking.
+Default is: enabled when playing from external MP3 file, as we need to seek
+to the very exact position to keep A/\:V sync. It can be slow especially when
+seeking backwards \- it has to rewind to the beginning to find the exact
+frame.
+.TP
+.B \-idx (also see \-forceidx)
+Rebuilds INDEX of the AVI if no INDEX was found,
+thus allowing seeking.
+Useful with broken/\:incomplete downloads, or badly created AVIs.
+.TP
+.B \-mc
+Maximum A-V sync correction per frame (in seconds).
+.TP
+.B \-mf
+Used when decoding from multiple PNG or JPEG files.
+.br
+Available options are:
+
+.PD 0
+.RSs
+.IPs on\ \ \
+turns on multifile support
+.IPs w=
+width of the output (autodetect)
+.IPs h=
+height of the output (autodetect)
+.IPs fps=
+fps of the output (default: 25)
+.IPs type=
+type of input files (available types: jpeg, png, tga)
+.RE
+.PD 1
+.
+.TP
+.B \-ni (.AVI only)
+Force usage of non\-interleaved AVI parser (fixes playing
+of some bad AVI files).
+.TP
+.B \-nobps (.AVI only)
+Do not use average byte/\:sec value for A\-V sync (AVI).
+Helps with some AVI files with broken header.
+.TP
+.B \-noextbased
+Disables filename-extension based demuxer selection.
+By default, when file type (demuxer) cannot be detected reliably
+(the file has no header or it is not reliable enough), the filename
+extension is used to select demuxer. It always falls back to content-based
+demuxer selection.
+.TP
+.B \-passwd (see \-user option too)
+Specify password for http authentication.
+.TP
+.B \-rawaudio
+This option lets you play raw audio files.
+It may also be used to play audio CDs which are not 44KHz 16Bit stereo.
+.br
+Available options are:
+
+.PD 0
+.RSs
+.IPs on\ \ \
+use raw audio demuxer
+.IPs channels=
+number of channels
+.IPs rate=
+rate in samples per second
+.IPs samplesize=
+sample size in byte
+.IPs format=
+fourcc in hex
+.RE
+.PD 1
+.
+.TP
+.B \-rawvideo
+This option lets you play raw video files.
+.br
+Available options are:
+
+.PD 0
+.RSs
+.IPs on\ \ \
+use raw video demuxer
+.IPs fps=
+rate in frames per second, default 25.0
+.IPs sqcif|qcif|cif|4cif|pal|ntsc
+set standard image size
+.IPs w=
+image width in pixels
+.IPs h=
+image height in pixels
+.IPs y420|yv12|yuy2|y8
+set colorspace
+.IPs format=
+colorspace (fourcc) in hex
+.IPs size=
+frame size in bytes
+.RE
+.PD 1
+.
+.TP
+.B \-rtsp-stream-over-tcp
+Used with 'rtsp://' URLs to specify that the resulting incoming RTP and RTCP
+packets be streamed over TCP (using the same TCP connection as RTSP).
+This option may be useful if you have a broken Internet connection that does
+not pass incoming UDP packets (see http://www.live.com/mplayer/).
+.TP
+.B \-skipopening
+Skip DVD opening (dvdnav only).
+.TP
+.B \-sb (see \-ss option too)
+Seek to byte position.
+Useful for playback from CDROM images / .VOB files with junk at the beginning.
+.TP
+.B \-srate
+Forces the given audio playback rate, changing video speed to keep a-v sync.
+MEncoder passes this value to lame for resampling.
+.TP
+.B \-ss