manpage: merge new manpage

About a year ago, ubitux converted most of the old manpage from the
hard to maintain nroff format to reStructuredText. This was not merged
back into the master repository immediately. The argument was that the
new manpage still required work to be done. However, progress was very
slow. Even worse: the old manpage wasn't updated, because it was
scheduled for deletion, and updating it would have meant useless work.

Now the situation is that the new manpage still isn't finished, and the
old manpage is grossly out of sync with the player. This is not helpful
for users. Additionally, keeping the new manpage in a separate branch,
while the normal development repository for code had the old manpage,
was very inconvenient, because you couldn't just update the
documentation in the same commit as the code.

Even though the new manpage isn't finished yet, merging it now seems to
be the best course of action. Squash-merge the manpage development
branch [1], revision e89f5dd3f2, which branches from the mplayer2
master branch after revision 159102e0cb.

Committers:

* Clément Bœsch <ubitux@gmail.com> (Initial conversion to RST.)
* Uoti Urpala <uau@mplayer2.org> (Many updates.)
* Myself (Minor edits.)

Most text of the manpage has been directly taken from the old manpage,
because this is a conversion, not a complete rewrite.

[1] http://git.mplayer2.org/uau/mplayer2.git/log/?h=man
This commit is contained in:
wm4 2012-08-02 21:37:33 +02:00
parent ed3f0c3e4b
commit 504e2336b7
9 changed files with 6107 additions and 3 deletions

2
.gitignore vendored
View File

@ -19,3 +19,5 @@
/libmpdemux/ebml_types.h
/libvo/vdpau_template.c
/sub/osd_font.h
DOCS/man/*/mplayer.1

551
DOCS/man/en/af.rst Normal file
View File

@ -0,0 +1,551 @@
.. _audio_filters:
AUDIO FILTERS
=============
Audio filters allow you to modify the audio stream and its properties. The
syntax is:
--af=<filter1[=parameter1:parameter2:...],filter2,...>
Setup a chain of audio filters.
*NOTE*: To get a full list of available audio filters, see ``--af=help``.
Audio filters are managed in lists. There are a few commands to manage the
filter list.
--af-add=<filter1[,filter2,...]>
Appends the filters given as arguments to the filter list.
--af-pre=<filter1[,filter2,...]>
Prepends the filters given as arguments to the filter list.
--af-del=<index1[,index2,...]>
Deletes the filters at the given indexes. Index numbers start at 0,
negative numbers address the end of the list (-1 is the last).
--af-clr
Completely empties the filter list.
Available filters are:
resample[=srate[:sloppy[:type]]]
Changes the sample rate of the audio stream. Can be used if you have a
fixed frequency sound card or if you are stuck with an old sound card that
is only capable of max 44.1kHz. This filter is automatically enabled if
necessary. It only supports 16-bit integer and float in native-endian
format as input.
<srate>
output sample frequency in Hz. The valid range for this parameter is
8000 to 192000. If the input and output sample frequency are the same
or if this parameter is omitted the filter is automatically unloaded.
A high sample frequency normally improves the audio quality,
especially when used in combination with other filters.
<sloppy>
Allow (1) or disallow (0) the output frequency to differ slightly from
the frequency given by <srate> (default: 1). Can be used if the
startup of the playback is extremely slow.
<type>
Select which resampling method to use.
:0: linear interpolation (fast, poor quality especially when
upsampling)
:1: polyphase filterbank and integer processing
:2: polyphase filterbank and floating point processing
(slow, best quality)
*EXAMPLE*:
``mplayer --af=resample=44100:0:0``
would set the output frequency of the resample filter to 44100Hz using
exact output frequency scaling and linear interpolation.
lavcresample[=srate[:length[:linear[:count[:cutoff]]]]]
Changes the sample rate of the audio stream to an integer <srate> in Hz.
It only supports the 16-bit native-endian format.
<srate>
the output sample rate
<length>
length of the filter with respect to the lower sampling rate (default:
16)
<linear>
if 1 then filters will be linearly interpolated between polyphase
entries
<count>
log2 of the number of polyphase entries (..., 10->1024, 11->2048,
12->4096, ...) (default: 10->1024)
<cutoff>
cutoff frequency (0.0-1.0), default set depending upon filter length
lavcac3enc[=tospdif[:bitrate[:minchn]]]
Encode multi-channel audio to AC-3 at runtime using libavcodec. Supports
16-bit native-endian input format, maximum 6 channels. The output is
big-endian when outputting a raw AC-3 stream, native-endian when
outputting to S/PDIF. The output sample rate of this filter is same with
the input sample rate. When input sample rate is 48kHz, 44.1kHz, or 32kHz,
this filter directly use it. Otherwise a resampling filter is
auto-inserted before this filter to make the input and output sample rate
be 48kHz. You need to specify ``--channels=N`` to make the decoder decode
audio into N-channel, then the filter can encode the N-channel input to
AC-3.
<tospdif>
Output raw AC-3 stream if zero or not set, output to S/PDIF for
passthrough when <tospdif> is set non-zero.
<bitrate>
The bitrate to encode the AC-3 stream. Set it to either 384 or 384000
to get 384kbits.
Valid values: 32, 40, 48, 56, 64, 80, 96, 112, 128,
160, 192, 224, 256, 320, 384, 448, 512, 576, 640.
Default bitrate is based on the input channel number:
:1ch: 96
:2ch: 192
:3ch: 224
:4ch: 384
:5ch: 448
:6ch: 448
<minchn>
If the input channel number is less than <minchn>, the filter will
detach itself (default: 5).
sweep[=speed]
Produces a sine sweep.
<0.0-1.0>
Sine function delta, use very low values to hear the sweep.
sinesuppress[=freq:decay]
Remove a sine at the specified frequency. Useful to get rid of the 50/60Hz
noise on low quality audio equipment. It probably only works on mono input.
<freq>
The frequency of the sine which should be removed (in Hz) (default:
50)
<decay>
Controls the adaptivity (a larger value will make the filter adapt to
amplitude and phase changes quicker, a smaller value will make the
adaptation slower) (default: 0.0001). Reasonable values are around
0.001.
bs2b[=option1:option2:...]
Bauer stereophonic to binaural transformation using ``libbs2b``. Improves
the headphone listening experience by making the sound similar to that
from loudspeakers, allowing each ear to hear both channels and taking into
account the distance difference and the head shadowing effect. It is
applicable only to 2 channel audio.
fcut=<300-1000>
Set cut frequency in Hz.
feed=<10-150>
Set feed level for low frequencies in 0.1*dB.
profile=<value>
Several profiles are available for convenience:
:default: will be used if nothing else was specified (fcut=700,
feed=45)
:cmoy: Chu Moy circuit implementation (fcut=700, feed=60)
:jmeier: Jan Meier circuit implementation (fcut=650, feed=95)
If fcut or feed options are specified together with a profile, they will
be applied on top of the selected profile.
hrtf[=flag]
Head-related transfer function: Converts multichannel audio to 2 channel
output for headphones, preserving the spatiality of the sound.
==== ===================================
Flag Meaning
==== ===================================
m matrix decoding of the rear channel
s 2-channel matrix decoding
0 no matrix decoding (default)
==== ===================================
equalizer=[g1:g2:g3:...:g10]
10 octave band graphic equalizer, implemented using 10 IIR band pass
filters. This means that it works regardless of what type of audio is
being played back. The center frequencies for the 10 bands are:
=== ==========
No. frequency
=== ==========
0 31.25 Hz
1 62.50 Hz
2 125.00 Hz
3 250.00 Hz
4 500.00 Hz
5 1.00 kHz
6 2.00 kHz
7 4.00 kHz
8 8.00 kHz
9 16.00 kHz
=== ==========
If the sample rate of the sound being played is lower than the center
frequency for a frequency band, then that band will be disabled. A known
bug with this filter is that the characteristics for the uppermost band
are not completely symmetric if the sample rate is close to the center
frequency of that band. This problem can be worked around by upsampling
the sound using the resample filter before it reaches this filter.
<g1>:<g2>:<g3>:...:<g10>
floating point numbers representing the gain in dB for each frequency
band (-12-12)
*EXAMPLE*:
``mplayer --af=equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi``
Would amplify the sound in the upper and lower frequency region while
canceling it almost completely around 1kHz.
channels=nch[:nr:from1:to1:from2:to2:from3:to3:...]
Can be used for adding, removing, routing and copying audio channels. If
only <nch> is given the default routing is used, it works as follows: If
the number of output channels is bigger than the number of input channels
empty channels are inserted (except mixing from mono to stereo, then the
mono channel is repeated in both of the output channels). If the number of
output channels is smaller than the number of input channels the exceeding
channels are truncated.
<nch>
number of output channels (1-8)
<nr>
number of routes (1-8)
<from1:to1:from2:to2:from3:to3:...>
Pairs of numbers between 0 and 7 that define where to route each
channel.
*EXAMPLE*:
``mplayer --af=channels=4:4:0:1:1:0:2:2:3:3 media.avi``
Would change the number of channels to 4 and set up 4 routes that swap
channel 0 and channel 1 and leave channel 2 and 3 intact. Observe that
if media containing two channels was played back, channels 2 and 3
would contain silence but 0 and 1 would still be swapped.
``mplayer --af=channels=6:4:0:0:0:1:0:2:0:3 media.avi``
Would change the number of channels to 6 and set up 4 routes that copy
channel 0 to channels 0 to 3. Channel 4 and 5 will contain silence.
format[=format]
Convert between different sample formats. Automatically enabled when
needed by the sound card or another filter. See also ``--format``.
<format>
Sets the desired format. The general form is 'sbe', where 's' denotes
the sign (either 's' for signed or 'u' for unsigned), 'b' denotes the
number of bits per sample (16, 24 or 32) and 'e' denotes the
endianness ('le' means little-endian, 'be' big-endian and 'ne' the
endianness of the computer MPlayer is running on). Valid values
(amongst others) are: 's16le', 'u32be' and 'u24ne'. Exceptions to this
rule that are also valid format specifiers: u8, s8, floatle, floatbe,
floatne, mulaw, alaw, mpeg2, ac3 and imaadpcm.
volume[=v[:sc]]
Implements software volume control. Use this filter with caution since it
can reduce the signal to noise ratio of the sound. In most cases it is
best to set the level for the PCM sound to max, leave this filter out and
control the output level to your speakers with the master volume control
of the mixer. In case your sound card has a digital PCM mixer instead of
an analog one, and you hear distortion, use the MASTER mixer instead. If
there is an external amplifier connected to the computer (this is almost
always the case), the noise level can be minimized by adjusting the master
level and the volume knob on the amplifier until the hissing noise in the
background is gone.
This filter has a second feature: It measures the overall maximum sound
level and prints out that level when MPlayer exits. This feature currently
only works with floating-point data, use e.g. ``--af-adv=force=5``, or use
``--af=stats``.
*NOTE*: This filter is not reentrant and can therefore only be enabled
once for every audio stream.
<v>
Sets the desired gain in dB for all channels in the stream from -200dB
to +60dB, where -200dB mutes the sound completely and +60dB equals a
gain of 1000 (default: 0).
<sc>
Turns soft clipping on (1) or off (0). Soft-clipping can make the
sound more smooth if very high volume levels are used. Enable this
option if the dynamic range of the loudspeakers is very low.
*WARNING*: This feature creates distortion and should be considered a
last resort.
*EXAMPLE*:
``mplayer --af=volume=10.1:0 media.avi``
Would amplify the sound by 10.1dB and hard-clip if the sound level is
too high.
pan=n[:L00:L01:L02:...L10:L11:L12:...Ln0:Ln1:Ln2:...]
Mixes channels arbitrarily. Basically a combination of the volume and the
channels filter that can be used to down-mix many channels to only a few,
e.g. stereo to mono or vary the "width" of the center speaker in a
surround sound system. This filter is hard to use, and will require some
tinkering before the desired result is obtained. The number of options for
this filter depends on the number of output channels. An example how to
downmix a six-channel file to two channels with this filter can be found
in the examples section near the end.
<n>
number of output channels (1-8)
<Lij>
How much of input channel i is mixed into output channel j (0-1). So
in principle you first have n numbers saying what to do with the first
input channel, then n numbers that act on the second input channel
etc. If you do not specify any numbers for some input channels, 0 is
assumed.
*EXAMPLE*:
``mplayer --af=pan=1:0.5:0.5 media.avi``
Would down-mix from stereo to mono.
``mplayer --af=pan=3:1:0:0.5:0:1:0.5 media.avi``
Would give 3 channel output leaving channels 0 and 1 intact, and mix
channels 0 and 1 into output channel 2 (which could be sent to a
subwoofer for example).
sub[=fc:ch]
Adds a subwoofer channel to the audio stream. The audio data used for
creating the subwoofer channel is an average of the sound in channel 0 and
channel 1. The resulting sound is then low-pass filtered by a 4th order
Butterworth filter with a default cutoff frequency of 60Hz and added to a
separate channel in the audio stream.
*Warning*: Disable this filter when you are playing DVDs with Dolby
Digital 5.1 sound, otherwise this filter will disrupt the sound to the
subwoofer.
<fc>
cutoff frequency in Hz for the low-pass filter (20Hz to 300Hz)
(default: 60Hz) For the best result try setting the cutoff frequency
as low as possible. This will improve the stereo or surround sound
experience.
<ch>
Determines the channel number in which to insert the sub-channel
audio. Channel number can be between 0 and 7 (default: 5). Observe
that the number of channels will automatically be increased to <ch> if
necessary.
*EXAMPLE*:
``mplayer --af=sub=100:4 --channels=5 media.avi``
Would add a sub-woofer channel with a cutoff frequency of 100Hz to
output channel 4.
center
Creates a center channel from the front channels. May currently be low
quality as it does not implement a high-pass filter for proper extraction
yet, but averages and halves the channels instead.
<ch>
Determines the channel number in which to insert the center channel.
Channel number can be between 0 and 7 (default: 5). Observe that the
number of channels will automatically be increased to <ch> if
necessary.
surround[=delay]
Decoder for matrix encoded surround sound like Dolby Surround. Many files
with 2 channel audio actually contain matrixed surround sound. Requires a
sound card supporting at least 4 channels.
<delay>
delay time in ms for the rear speakers (0 to 1000) (default: 20) This
delay should be set as follows: If d1 is the distance from the
listening position to the front speakers and d2 is the distance from
the listening position to the rear speakers, then the delay should be
set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.
*EXAMPLE*:
``mplayer --af=surround=15 --channels=4 media.avi``
Would add surround sound decoding with 15ms delay for the sound to the
rear speakers.
delay[=ch1:ch2:...]
Delays the sound to the loudspeakers such that the sound from the
different channels arrives at the listening position simultaneously. It is
only useful if you have more than 2 loudspeakers.
ch1,ch2,...
The delay in ms that should be imposed on each channel (floating point
number between 0 and 1000).
To calculate the required delay for the different channels do as follows:
1. Measure the distance to the loudspeakers in meters in relation to your
listening position, giving you the distances s1 to s5 (for a 5.1
system). There is no point in compensating for the subwoofer (you will
not hear the difference anyway).
2. Subtract the distances s1 to s5 from the maximum distance, i.e.
``s[i] = max(s) - s[i]; i = 1...5``.
3. Calculate the required delays in ms as ``d[i] = 1000*s[i]/342; i =
1...5``.
*EXAMPLE*:
``mplayer --af=delay=10.5:10.5:0:0:7:0 media.avi``
Would delay front left and right by 10.5ms, the two rear channels and
the sub by 0ms and the center channel by 7ms.
export[=mmapped_file[:nsamples]]
Exports the incoming signal to other processes using memory mapping
(``mmap()``). Memory mapped areas contain a header:
| int nch /\* number of channels \*/
| int size /\* buffer size \*/
| unsigned long long counter /\* Used to keep sync, updated every time new data is exported. \*/
The rest is payload (non-interleaved) 16 bit data.
<mmapped_file>
file to map data to (default: ``~/.mplayer/mplayer-af_export``)
<nsamples>
number of samples per channel (default: 512)
*EXAMPLE*:
``mplayer --af=export=/tmp/mplayer-af_export:1024 media.avi``
Would export 1024 samples per channel to ``/tmp/mplayer-af_export``.
extrastereo[=mul]
(Linearly) increases the difference between left and right channels which
adds some sort of "live" effect to playback.
<mul>
Sets the difference coefficient (default: 2.5). 0.0 means mono sound
(average of both channels), with 1.0 sound will be unchanged, with
-1.0 left and right channels will be swapped.
volnorm[=method:target]
Maximizes the volume without distorting the sound.
<method>
Sets the used method.
1
Use a single sample to smooth the variations via the standard
weighted mean over past samples (default).
2
Use several samples to smooth the variations via the standard
weighted mean over past samples.
<target>
Sets the target amplitude as a fraction of the maximum for the sample
type (default: 0.25).
ladspa=file:label[:controls...]
Load a LADSPA (Linux Audio Developer's Simple Plugin API) plugin. This
filter is reentrant, so multiple LADSPA plugins can be used at once.
<file>
Specifies the LADSPA plugin library file. If ``LADSPA_PATH`` is set,
it searches for the specified file. If it is not set, you must supply
a fully specified pathname.
<label>
Specifies the filter within the library. Some libraries contain only
one filter, but others contain many of them. Entering 'help' here,
will list all available filters within the specified library, which
eliminates the use of 'listplugins' from the LADSPA SDK.
<controls>
Controls are zero or more floating point values that determine the
behavior of the loaded plugin (for example delay, threshold or gain).
In verbose mode (add ``-v`` to the MPlayer command line), all
available controls and their valid ranges are printed. This eliminates
the use of 'analyseplugin' from the LADSPA SDK.
comp
Compressor/expander filter usable for microphone input. Prevents artifacts
on very loud sound and raises the volume on very low sound. This filter is
untested, maybe even unusable.
gate
Noise gate filter similar to the comp audio filter. This filter is
untested, maybe even unusable.
karaoke
Simple voice removal filter exploiting the fact that voice is usually
recorded with mono gear and later 'center' mixed onto the final audio
stream. Beware that this filter will turn your signal into mono. Works
well for 2 channel tracks; do not bother trying it on anything but 2
channel stereo.
scaletempo[=option1:option2:...]
Scales audio tempo without altering pitch, optionally synced to playback
speed (default).
This works by playing 'stride' ms of audio at normal speed then consuming
'stride*scale' ms of input audio. It pieces the strides together by
blending 'overlap'% of stride with audio following the previous stride. It
optionally performs a short statistical analysis on the next 'search' ms
of audio to determine the best overlap position.
scale=<amount>
Nominal amount to scale tempo. Scales this amount in addition to
speed. (default: 1.0)
stride=<amount>
Length in milliseconds to output each stride. Too high of value will
cause noticable skips at high scale amounts and an echo at low scale
amounts. Very low values will alter pitch. Increasing improves
performance. (default: 60)
overlap=<percent>
Percentage of stride to overlap. Decreasing improves performance.
(default: .20)
search=<amount>
Length in milliseconds to search for best overlap position. Decreasing
improves performance greatly. On slow systems, you will probably want
to set this very low. (default: 14)
speed=<tempo|pitch|both|none>
Set response to speed change.
tempo
Scale tempo in sync with speed (default).
pitch
Reverses effect of filter. Scales pitch without altering tempo.
Add ``[ speed_mult 0.9438743126816935`` and ``] speed_mult
1.059463094352953`` to your ``input.conf`` to step by musical
semi-tones.
*WARNING*: Loses sync with video.
both
Scale both tempo and pitch.
none
Ignore speed changes.
*EXAMPLE*:
``mplayer --af=scaletempo --speed=1.2 media.ogg``
Would playback media at 1.2x normal speed, with audio at normal pitch.
Changing playback speed, would change audio tempo to match.
``mplayer --af=scaletempo=scale=1.2:speed=none --speed=1.2 media.ogg``
Would playback media at 1.2x normal speed, with audio at normal pitch,
but changing playback speed has no effect on audio tempo.
``mplayer --af=scaletempo=stride=30:overlap=.50:search=10 media.ogg``
Would tweak the quality and performace parameters.
``mplayer --af=format=floatne,scaletempo media.ogg``
Would make scaletempo use float code. Maybe faster on some platforms.
``mplayer --af=scaletempo=scale=1.2:speed=pitch audio.ogg``
Would playback audio file at 1.2x normal speed, with audio at normal
pitch. Changing playback speed, would change pitch, leaving audio
tempo at 1.2x.
stats
Collects and prints statistics about the audio stream, especially the
volume. These statistics are especially intended to help adjusting the
volume while avoiding clipping. The volumes are printed in dB and
compatible with the volume audio filter.

152
DOCS/man/en/ao.rst Normal file
View File

@ -0,0 +1,152 @@
.. _audio_outputs:
AUDIO OUTPUT DRIVERS
====================
Audio output drivers are interfaces to different audio output facilities. The
syntax is:
--ao=<driver1[:suboption1[=value]:...],driver2,...[,]>
Specify a priority list of audio output drivers to be used.
If the list has a trailing ',' MPlayer will fall back on drivers not contained
in the list. Suboptions are optional and can mostly be omitted.
*NOTE*: See ``--ao=help`` for a list of compiled-in audio output drivers.
*EXAMPLE*:
- ``--ao=alsa,oss,`` Try the ALSA driver, then the OSS driver, then others.
- ``--ao=alsa:noblock:device=hw=0.3`` Sets noblock-mode and the device-name
as first card, fourth device.
Available audio output drivers are:
alsa
ALSA 0.9/1.x audio output driver
noblock
Sets noblock-mode.
device=<device>
Sets the device name. Replace any ',' with '.' and any ':' with '=' in
the ALSA device name. For hwac3 output via S/PDIF, use an "iec958" or
"spdif" device, unless you really know how to set it correctly.
alsa5
ALSA 0.5 audio output driver
oss
OSS audio output driver
<dsp-device>
Sets the audio output device (default: ``/dev/dsp``).
<mixer-device>
Sets the audio mixer device (default: ``/dev/mixer``).
<mixer-channel>
Sets the audio mixer channel (default: pcm).
sdl (SDL only)
highly platform independent SDL (Simple Directmedia Layer) library audio
output driver
<driver>
Explicitly choose the SDL audio driver to use (default: let SDL
choose).
jack
audio output through JACK (Jack Audio Connection Kit)
port=<name>
Connects to the ports with the given name (default: physical ports).
name=<client
Client name that is passed to JACK (default: MPlayer [<PID>]). Useful
if you want to have certain connections established automatically.
(no-)estimate
Estimate the audio delay, supposed to make the video playback smoother
(default: enabled).
(no-)autostart
Automatically start jackd if necessary (default: disabled). Note that
this seems unreliable and will spam stdout with server messages.
nas
audio output through NAS
coreaudio (Mac OS X only)
native Mac OS X audio output driver
device_id=<id>
ID of output device to use (0 = default device)
help
List all available output devices with their IDs.
openal
Experimental OpenAL audio output driver
pulse
PulseAudio audio output driver
[<host>][:<output sink>]
Specify the host and optionally output sink to use. An empty <host>
string uses a local connection, "localhost" uses network transfer
(most likely not what you want).
sun (Sun only)
native Sun audio output driver
<device>
Explicitly choose the audio device to use (default: ``/dev/audio``).
win32 (Windows only)
native Windows waveout audio output driver
dsound (Windows only)
DirectX DirectSound audio output driver
device=<devicenum>
Sets the device number to use. Playing a file with ``-v`` will show a
list of available devices.
ivtv (IVTV only)
IVTV specific MPEG audio output driver. Works with ``--ac=hwmpa`` only.
v4l2 (requires Linux 2.6.22+ kernel)
Audio output driver for V4L2 cards with hardware MPEG decoder.
mpegpes (DVB only)
Audio output driver for DVB cards that writes the output to an MPEG-PES
file if no DVB card is installed.
card=<1-4>
DVB card to use if more than one card is present. If not specified
MPlayer will search the first usable card.
file=<filename>
output filename
null
Produces no audio output but maintains video playback speed. Use
``--nosound`` for benchmarking.
pcm
raw PCM/wave file writer audio output
(no-)waveheader
Include or do not include the wave header (default: included). When
not included, raw PCM will be generated.
file=<filename>
Write the sound to <filename> instead of the default
``audiodump.wav``. If nowaveheader is specified, the default is
``audiodump.pcm``.
rsound
audio output to an RSound daemon
host=<name/path>
Set the address of the server (default: localhost). Can be either a
network hostname for TCP connections or a Unix domain socket path
starting with '/'.
port=<number>
Set the TCP port used for connecting to the server (default: 12345).
Not used if connecting to a Unix domain socket.
plugin
plugin audio output driver

685
DOCS/man/en/mplayer.rst Normal file
View File

@ -0,0 +1,685 @@
mplayer2 manual page
####################
Synopsis
========
| **mplayer** [options] [file|URL|playlist|-]
| **mplayer** [options] file1 [specific options] [file2] [specific options]
| **mplayer** [options] {group of files and options} [group-specific options]
| **mplayer** [br]://[title][/device] [options]
| **mplayer** [dvd|dvdnav]://[title|[start\_title]-end\_title][/device] [options]
| **mplayer** \vcd://track[/device]
| **mplayer** \tv://[channel][/input_id] [options]
| **mplayer** radio://[channel|frequency][/capture] [options]
| **mplayer** \pvr:// [options]
| **mplayer** \dvb://[card\_number@]channel [options]
| **mplayer** \mf://[filemask|\@listfile] [-mf options] [options]
| **mplayer** [cdda|cddb]://track[-endtrack][:speed][/device] [options]
| **mplayer** \cue://file[:track] [options]
| **mplayer** [file|mms[t]|http|http\_proxy|rt[s]p|ftp|udp|unsv|icyx|noicyx|smb]:// [user:pass\@]URL[:port] [options]
| **mplayer** \sdp://file [options]
| **mplayer** \mpst://host[:port]/URL [options]
| **mplayer** \tivo://host/[list|llist|fsid] [options]
DESCRIPTION
===========
**mplayer** is a movie player for Linux (runs on many other platforms and CPU
architectures, see the documentation). It supports a wide variety of video
file formats, audio and video codecs, and subtitle types. Special input URL
types are available to read input from a variety of sources other than disk
files. Depending on platform, a variety of different video and audio output
methods are supported.
Usage examples to get you started quickly can be found at the end of this man
page.
INTERACTIVE CONTROL
===================
MPlayer has a fully configurable, command-driven control layer which allows you
to control MPlayer using keyboard, mouse, joystick or remote control (with
LIRC). See the ``--input`` option for ways to customize it.
keyboard control
----------------
LEFT and RIGHT
Seek backward/forward 10 seconds. Shift+arrow does a 1 second exact seek
(see ``--hr-seek``; currently modifier keys like shift only work if used in
an X output window).
UP and DOWN
Seek forward/backward 1 minute. Shift+arrow does a 5 second exact seek (see
``--hr-seek``; currently modifier keys like shift only work if used in an X
output window).
PGUP and PGDWN
Seek forward/backward 10 minutes.
[ and ]
Decrease/increase current playback speed by 10%.
{ and }
Halve/double current playback speed.
BACKSPACE
Reset playback speed to normal.
< and >
Go backward/forward in the playlist.
ENTER
Go forward in the playlist, even over the end.
HOME and END
next/previous playtree entry in the parent list
INS and DEL (ASX playlist only)
next/previous alternative source.
p / SPACE
Pause (pressing again unpauses).
.
Step forward. Pressing once will pause movie, every consecutive press will
play one frame and then go into pause mode again.
q / ESC
Stop playing and quit.
U
Stop playing (and quit if ``--idle`` is not used).
\+ and -
Adjust audio delay by +/- 0.1 seconds.
/ and *
Decrease/increase volume.
9 and 0
Decrease/increase volume.
( and )
Adjust audio balance in favor of left/right channel.
m
Mute sound.
\_ (MPEG-TS, AVI and libavformat only)
Cycle through the available video tracks.
\# (DVD, Blu-ray, MPEG, Matroska, AVI and libavformat only)
Cycle through the available audio tracks.
TAB (MPEG-TS and libavformat only)
Cycle through the available programs.
f
Toggle fullscreen (see also ``--fs``).
T
Toggle stay-on-top (see also ``--ontop``).
w and e
Decrease/increase pan-and-scan range.
o
Toggle OSD states: none / seek / seek + timer / seek + timer + total time.
d
Toggle frame dropping states: none / skip display / skip decoding (see
``--framedrop`` and ``--hardframedrop``).
v
Toggle subtitle visibility.
j and J
Cycle through the available subtitles.
y and g
Step forward/backward in the subtitle list.
F
Toggle displaying "forced subtitles".
a
Toggle subtitle alignment: top / middle / bottom.
x and z
Adjust subtitle delay by +/- 0.1 seconds.
V
Toggle subtitle VSFilter aspect compatibility mode. See
``--ass-vsfilter-aspect-compat`` for more info.
C (``--capture`` only)
Start/stop capturing the primary stream.
r and t
Move subtitles up/down.
i (``--edlout`` mode only)
Set start or end of an EDL skip and write it out to the given file.
s (``--vf`` screenshot only)
Take a screenshot.
S (``--vf`` screenshot only)
Start/stop taking screenshots.
I
Show filename on the OSD.
P
Show progression bar, elapsed time and total duration on the OSD.
! and @
Seek to the beginning of the previous/next chapter.
D (``--vo=vdpau``, ``--vf=yadif``, ``--vf=kerndeint`` only)
Activate/deactivate deinterlacer.
A
Cycle through the available DVD angles.
c (currently ``--vo=vdpau`` and ``--vo=xv`` only)
Change YUV colorspace.
(The following keys are valid only when using a video output that supports the
corresponding adjustment, the software equalizer (``--vf=eq`` or ``--vf=eq2``)
or hue filter (``--vf=hue``).)
1 and 2
Adjust contrast.
3 and 4
Adjust brightness.
5 and 6
Adjust hue.
7 and 8
Adjust saturation.
(The following keys are valid only when using the corevideo video output
driver.)
command + 0
Resize movie window to half its original size.
command + 1
Resize movie window to its original size.
command + 2
Resize movie window to double its original size.
command + f
Toggle fullscreen (see also ``--fs``).
command + [ and command + ]
Set movie window alpha.
(The following keys are valid only when using the sdl video output driver.)
c
Cycle through available fullscreen modes.
n
Restore original mode.
(The following keys are valid if you have a keyboard with multimedia keys.)
PAUSE
Pause.
STOP
Stop playing and quit.
PREVIOUS and NEXT
Seek backward/forward 1 minute.
(The following keys are only valid if you compiled with TV or DVB input
support and will take precedence over the keys defined above.)
h and k
Select previous/next channel.
n
Change norm.
u
Change channel list.
(The following keys are only valid if you compiled with dvdnav support: They
are used to navigate the menus.)
keypad 8
Select button up.
keypad 2
Select button down.
keypad 4
Select button left.
keypad 6
Select button right.
keypad 5
Return to main menu.
keypad 7
Return to nearest menu (the order of preference is: chapter->title->root).
keypad ENTER
Confirm choice.
(The following keys are used for controlling TV teletext. The data may come
from either an analog TV source or an MPEG transport stream.)
X
Switch teletext on/off.
Q and W
Go to next/prev teletext page.
mouse control
-------------
button 3 and button 4
Seek backward/forward 1 minute.
button 5 and button 6
Decrease/increase volume.
joystick control
----------------
left and right
Seek backward/forward 10 seconds.
up and down
Seek forward/backward 1 minute.
button 1
Pause.
button 2
Toggle OSD states: none / seek / seek + timer / seek + timer + total time.
button 3 and button 4
Decrease/increase volume.
USAGE
=====
Every *flag* option has a *no-flag* counterpart, e.g. the opposite of the
``--fs`` option is ``--no-fs``. ``--fs=yes`` is same as ``--fs``, ``--fs=no``
is the same as ``--no-fs``.
If an option is marked as *(XXX only)*, it will only work in combination with
the *XXX* option or if *XXX* is compiled in.
| *NOTE*: The suboption parser (used for example for ``--ao=pcm`` suboptions)
supports a special kind of string-escaping intended for use with external
GUIs.
| It has the following format:
| %n%string\_of\_length\_n
| *EXAMPLES*:
| `mplayer --ao pcm:file=%10%C:test.wav test.avi`
| Or in a script:
| `mplayer --ao pcm:file=%\`expr length "$NAME"\`%"$NAME" test.avi`
CONFIGURATION FILES
===================
You can put all of the options in configuration files 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=<value>``, everything after a *#* is considered a comment. Options
that work without values can be enabled by setting them to *yes* or *1* or
*true* and disabled by setting them to *no* or *0* or *false*. Even suboptions
can be specified in this way.
You can also write file-specific configuration files. If you wish to have a
configuration 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/``. You can also put the configuration file in the same directory
as the file to be played, as long as you give the ``--use-filedir-conf``
option (either on the command line or in your global config file). If a
file-specific configuration file is found in the same directory, no
file-specific configuration is loaded from ``~/.mplayer``. In addition, the
``--use-filedir-conf`` option enables directory-specific configuration files.
For this, MPlayer first tries to load a mplayer.conf from the same directory
as the file played and then tries to load any file-specific configuration.
*EXAMPLE MPLAYER CONFIGURATION FILE:*
| # Use Matrox driver by default.
| vo=xmga
| # I love practicing handstands while watching videos.
| flip=yes
| # Decode multiple files from PNG,
| # start with mf://filemask
| mf=type=png:fps=25
| # Eerie negative images are cool.
| vf=eq2=1.0:-0.8
PROFILES
========
To ease working with different configurations profiles can be defined in the
configuration files. A profile starts with its name between square brackets,
e.g. *[my-profile]*. All following options will be part of the profile. A
description (shown by ``--profile=help``) can be defined with the profile-desc
option. To end the profile, start another one or use the profile name
*default* to continue with normal options.
*EXAMPLE MPLAYER PROFILE:*
| [protocol.dvd]
| profile-desc="profile for dvd:// streams"
| vf=pp=hb/vb/dr/al/fd
| alang=en
|
| [protocol.dvdnav]
| profile-desc="profile for dvdnav:// streams"
| profile=protocol.dvd
| mouse-movements=yes
| nocache=yes
|
| [extension.flv]
| profile-desc="profile for .flv files"
| flip=yes
|
| [vo.pnm]
| outdir=/tmp
|
| [ao.alsa]
| device=spdif
OPTIONS
=======
.. include:: options.rst
.. include:: ao.rst
.. include:: vo.rst
.. include:: af.rst
.. include:: vf.rst
ENVIRONMENT VARIABLES
=====================
There are a number of environment variables that can be used to control the
behavior of MPlayer.
``MPLAYER_CHARSET`` (see also ``--msgcharset``)
Convert console messages to the specified charset (default: autodetect). A
value of "noconv" means no conversion.
``MPLAYER_HOME``
Directory where MPlayer looks for user settings.
``MPLAYER_LOCALEDIR``
Directory where MPlayer looks for gettext translation files (if enabled).
``MPLAYER_VERBOSE`` (see also ``-v`` and ``--msglevel``)
Set the initial verbosity level across all message modules (default: 0).
The resulting verbosity corresponds to that of ``--msglevel=5`` plus the
value of ``MPLAYER_VERBOSE``.
libaf:
``LADSPA_PATH``
If ``LADSPA_PATH`` is set, it searches for the specified file. If it
is not set, you must supply a fully specified pathname.
FIXME: This is also mentioned in the ladspa section.
libdvdcss:
``DVDCSS_CACHE``
Specify a directory in which to store title key values. This will
speed up descrambling of DVDs which are in the cache. The
``DVDCSS_CACHE`` directory is created if it does not exist, and a
subdirectory is created named after the DVD's title or manufacturing
date. If ``DVDCSS_CACHE`` is not set or is empty, libdvdcss will use
the default value which is ``${HOME}/.dvdcss/`` under Unix and
``C:\Documents and Settings\$USER\Application Data\dvdcss\`` under
Win32. The special value "off" disables caching.
``DVDCSS_METHOD``
Sets the authentication and decryption method that libdvdcss will use
to read scrambled discs. Can be one of title, key or disc.
key
is the default method. libdvdcss will use a set of calculated
player keys to try and get the disc key. This can fail if the drive
does not recognize any of the player keys.
disc
is a fallback method when key has failed. Instead of using player
keys, libdvdcss will crack the disc key using a brute force
algorithm. This process is CPU intensive and requires 64 MB of
memory to store temporary data.
title
is the fallback when all other methods have failed. It does not
rely on a key exchange with the DVD drive, but rather uses a crypto
attack to guess the title key. On rare cases this may fail because
there is not enough encrypted data on the disc to perform a
statistical attack, but in the other hand it is the only way to
decrypt a DVD stored on a hard disc, or a DVD with the wrong region
on an RPC2 drive.
``DVDCSS_RAW_DEVICE``
Specify the raw device to use. Exact usage will depend on your
operating system, the Linux utility to set up raw devices is raw(8)
for instance. Please note that on most operating systems, using a raw
device requires highly aligned buffers: Linux requires a 2048 bytes
alignment (which is the size of a DVD sector).
``DVDCSS_VERBOSE``
Sets the libdvdcss verbosity level.
:0: Outputs no messages at all.
:1: Outputs error messages to stderr.
:2: Outputs error messages and debug messages to stderr.
``DVDREAD_NOKEYS``
Skip retrieving all keys on startup. Currently disabled.
``HOME``
FIXME: Document this.
libao2:
``AO_SUN_DISABLE_SAMPLE_TIMING``
FIXME: Document this.
``AUDIODEV``
FIXME: Document this.
``AUDIOSERVER``
Specifies the Network Audio System server to which the nas audio
output driver should connect and the transport that should be used. If
unset DISPLAY is used instead. The transport can be one of tcp and
unix. Syntax is ``tcp/<somehost>:<someport>``,
``<somehost>:<instancenumber>`` or ``[unix]:<instancenumber>``. The
NAS base port is 8000 and <instancenumber> is added to that.
*EXAMPLES*:
``AUDIOSERVER=somehost:0``
Connect to NAS server on somehost using default port and
transport.
``AUDIOSERVER=tcp/somehost:8000``
Connect to NAS server on somehost listening on TCP port 8000.
``AUDIOSERVER=(unix)?:0``
Connect to NAS server instance 0 on localhost using unix domain
sockets.
``DISPLAY``
FIXME: Document this.
osdep:
``TERM``
FIXME: Document this.
libvo:
``DISPLAY``
FIXME: Document this.
``FRAMEBUFFER``
FIXME: Document this.
``HOME``
FIXME: Document this.
libmpdemux:
``HOME``
FIXME: Document this.
``HOMEPATH``
FIXME: Document this.
``http_proxy``
FIXME: Document this.
``LOGNAME``
FIXME: Document this.
``USERPROFILE``
FIXME: Document this.
libavformat:
``AUDIO_FLIP_LEFT``
FIXME: Document this.
``BKTR_DEV``
FIXME: Document this.
``BKTR_FORMAT``
FIXME: Document this.
``BKTR_FREQUENCY``
FIXME: Document this.
``http_proxy``
FIXME: Document this.
``no_proxy``
FIXME: Document this.
FILES
=====
``/usr/local/etc/mplayer/mplayer.conf``
MPlayer system-wide settings
``~/.mplayer/config``
MPlayer user settings
``~/.mplayer/input.conf``
input bindings (see ``--input=keylist`` for the full list)
``~/.mplayer/font/``
font directory (There must be a ``font.desc`` file and files with ``.RAW``
extension.)
``~/.mplayer/DVDkeys/``
cached CSS keys
EXAMPLES OF MPLAYER USAGE
=========================
Quickstart Blu-ray playing:
- ``mplayer br:////path/to/disc``
- ``mplayer br:// --bluray-device=/path/to/disc``
Quickstart DVD playing:
``mplayer dvd://1``
Play in Japanese with English subtitles:
``mplayer dvd://1 --alang=ja --slang=en``
Play only chapters 5, 6, 7:
``mplayer dvd://1 --chapter=5-7``
Play only titles 5, 6, 7:
``mplayer dvd://5-7``
Play a multiangle DVD:
``mplayer dvd://1 --dvdangle=2``
Play from a different DVD device:
``mplayer dvd://1 --dvd-device=/dev/dvd2``
Play DVD video from a directory with VOB files:
``mplayer dvd://1 --dvd-device=/path/to/directory/``
Copy a DVD title to hard disk, saving to file title1.vob :
``mplayer dvd://1 --dumpstream --dumpfile=title1.vob``
Play a DVD with dvdnav from path /dev/sr1:
``mplayer dvdnav:////dev/sr1``
Stream from HTTP:
``mplayer http://mplayer.hq/example.avi``
Stream using RTSP:
``mplayer rtsp://server.example.com/streamName``
Convert subtitles to MPsub format:
``mplayer dummy.avi --sub=source.sub --dumpmpsub``
Convert subtitles to MPsub format without watching the movie:
``mplayer /dev/zero --rawvideo=pal:fps=xx --demuxer=rawvideo --vc=null --vo=null --noframedrop --benchmark --sub=source.sub --dumpmpsub``
input from standard V4L:
``mplayer tv:// --tv=driver=v4l:width=640:height=480:outfmt=i420 --vc=rawi420 --vo=xv``
Play DTS-CD with passthrough:
``mplayer --ac=hwdts --rawaudio=format=0x2001 --cdrom-device=/dev/cdrom cdda://``
You can also use ``--afm=hwac3`` instead of ``--ac=hwdts``. Adjust
``/dev/cdrom`` to match the CD-ROM device on your system. If your external
receiver supports decoding raw DTS streams, you can directly play it via
``cdda://`` without setting format, hwac3 or hwdts.
Play a 6-channel AAC file with only two speakers:
``mplayer --rawaudio=format=0xff --demuxer=rawaudio --af=pan=2:.32:.32:.39:.06:.06:.39:.17:-.17:-.17:.17:.33:.33 adts_he-aac160_51.aac``
You might want to play a bit with the pan values (e.g multiply with a
value) to increase volume or avoid clipping.
checkerboard invert with geq filter:
``mplayer --vf=geq='128+(p(X\,Y)-128)*(0.5-gt(mod(X/SW\,128)\,64))*(0.5-gt(mod(Y/SH\,128)\,64))*4'``
AUTHORS
=======
MPlayer was initially written by Arpad Gereoffy. See the ``AUTHORS`` file for
a list of some of the many other contributors.
MPlayer is (C) 2000-2011 The MPlayer Team
This man page was written mainly by Gabucino, Jonas Jermann and Diego Biurrun.

2517
DOCS/man/en/options.rst Normal file

File diff suppressed because it is too large Load Diff

1452
DOCS/man/en/vf.rst Normal file

File diff suppressed because it is too large Load Diff

731
DOCS/man/en/vo.rst Normal file
View File

@ -0,0 +1,731 @@
.. _video_outputs:
VIDEO OUTPUT DRIVERS
====================
Video output drivers are interfaces to different video output facilities. The
syntax is:
--vo=<driver1[:suboption1[=value]:...],driver2,...[,]>
Specify a priority list of video output drivers to be used.
If the list has a trailing ',' MPlayer will fall back on drivers not contained
in the list. Suboptions are optional and can mostly be omitted.
*NOTE*: See ``--vo=help`` for a list of compiled-in video output drivers.
*EXAMPLE*:
``--vo=xmga,xv,``
Try the Matrox X11 driver, then the Xv driver, then others.
``--vo=directx:noaccel``
Uses the DirectX driver with acceleration features turned off.
Available video output drivers are:
xv (X11 only)
Uses the XVideo extension to enable hardware accelerated playback. If you
cannot use a hardware specific driver, this is probably the best option.
For information about what colorkey is used and how it is drawn run
MPlayer with ``-v`` option and look out for the lines tagged with ``[xv
common]`` at the beginning.
adaptor=<number>
Select a specific XVideo adaptor (check xvinfo results).
port=<number>
Select a specific XVideo port.
ck=<cur|use|set>
Select the source from which the colorkey is taken (default: cur).
cur
The default takes the colorkey currently set in Xv.
use
Use but do not set the colorkey from MPlayer (use the ``--colorkey``
option to change it).
set
Same as use but also sets the supplied colorkey.
ck-method=<man|bg|auto>
Sets the colorkey drawing method (default: man).
man
Draw the colorkey manually (reduces flicker in some cases).
bg
Set the colorkey as window background.
auto
Let Xv draw the colorkey.
x11 (X11 only)
Shared memory video output driver without hardware acceleration that works
whenever X11 is present.
xover (X11 only)
Adds X11 support to all overlay based video output drivers. Currently only
supported by tdfx_vid.
<vo_driver>
Select the driver to use as source to overlay on top of X11.
vdpau (X11 only)
Uses the VDPAU interface to display and optionally also decode video.
Hardware decoding is used with ``--vc=ffmpeg12vdpau``,
``--vc=ffwmv3vdpau``, ``--vc=ffvc1vdpau``, ``--vc=ffh264vdpau`` or
``--vc=ffodivxvdpau``.
sharpen=<-1-1>
For positive values, apply a sharpening algorithm to the video, for
negative values a blurring algorithm (default: 0).
denoise=<0-1>
Apply a noise reduction algorithm to the video (default: 0, no noise
reduction).
deint=<-4-4>
Select deinterlacing mode (default: -3). Positive values choose mode
and enable deinterlacing. Corresponding negative values select the
same deinterlacing mode, but do not enable deinterlacing on startup
(useful in configuration files to specify what mode will be enabled by
the "D" key). All modes respect ``--field-dominance``.
0
same as -3
1
Show only first field, similar to ``--vf=field``.
2
Bob deinterlacing, similar to ``--vf=tfields=1``.
3
motion adaptive temporal deinterlacing. May lead to A/V desync
with slow video hardware and/or high resolution.
4
motion adaptive temporal deinterlacing with edge-guided spatial
interpolation. Needs fast video hardware.
chroma-deint
Makes temporal deinterlacers operate both on luma and chroma (default).
Use no-chroma-deint to solely use luma and speed up advanced
deinterlacing. Useful with slow video memory.
pullup
Try to apply inverse telecine, needs motion adaptive temporal
deinterlacing.
hqscaling=<0-9>
0
Use default VDPAU scaling (default).
1-9
Apply high quality VDPAU scaling (needs capable hardware).
fps=<number>
Override autodetected display refresh rate value (the value is needed
for framedrop to allow video playback rates higher than display
refresh rate, and for vsync-aware frame timing adjustments). Default 0
means use autodetected value. A positive value is interpreted as a
refresh rate in Hz and overrides the autodetected value. A negative
value disables all timing adjustment and framedrop logic.
composite-detect
NVIDIA's current VDPAU implementation behaves somewhat differently
under a compositing window manager and does not give accurate frame
timing information. With this option enabled, the player tries to
detect whether a compositing window manager is active. If one is
detected, the player disables timing adjustments as if the user had
specified fps=-1 (as they would be based on incorrect input). This
means timing is somewhat less accurate than without compositing, but
with the composited mode behavior of the NVIDIA driver there is no
hard playback speed limit even without the disabled logic. Enabled by
default, use no-composite-detect to disable.
queuetime_windowed=<number> and queuetime_fs=<number>
Use VDPAU's presentation queue functionality to queue future video
frame changes at most this many milliseconds in advance (default: 50).
See below for additional information.
output_surfaces=<2-15>
Allocate this many output surfaces to display video frames (default:
3). See below for additional information.
Using the VDPAU frame queueing functionality controlled by the queuetime
options makes MPlayer's frame flip timing less sensitive to system CPU
load and allows MPlayer to start decoding the next frame(s) slightly
earlier which can reduce jitter caused by individual slow-to-decode
frames. However the NVIDIA graphics drivers can make other window behavior
such as window moves choppy if VDPAU is using the blit queue (mainly
happens if you have the composite extension enabled) and this feature is
active. If this happens on your system and it bothers you then you can set
the queuetime value to 0 to disable this feature. The settings to use in
windowed and fullscreen mode are separate because there should be less
reason to disable this for fullscreen mode (as the driver issue shouldn't
affect the video itself).
You can queue more frames ahead by increasing the queuetime values and the
output_surfaces count (to ensure enough surfaces to buffer video for a
certain time ahead you need at least as many surfaces as the video has
frames during that time, plus two). This could help make video smoother in
some cases. The main downsides are increased video RAM requirements for
the surfaces and laggier display response to user commands (display
changes only become visible some time after they're queued). The graphics
driver implementation may also have limits on the length of maximum
queuing time or number of queued surfaces that work well or at all.
dga (X11 only)
Play video through the XFree86 Direct Graphics Access extension.
Considered obsolete.
sdl (SDL only, buggy/outdated)
Highly platform independent SDL (Simple Directmedia Layer) library video
output driver. Since SDL uses its own X11 layer, MPlayer X11 options do
not have any effect on SDL. Note that it has several minor bugs
(``--vm``/``--no-vm`` is mostly ignored, ``--fs`` behaves like ``--no-vm``
should, window is in top-left corner when returning from fullscreen,
panscan is not supported, ...).
driver=<driver>
Explicitly choose the SDL driver to use.
(no-)forcexv
Use XVideo through the sdl video output driver (default: forcexv).
(no-)hwaccel
Use hardware accelerated scaler (default: hwaccel).
direct3d (Windows only) (BETA CODE!)
Video output driver that uses the Direct3D interface (useful for Vista).
directx (Windows only)
Video output driver that uses the DirectX interface.
noaccel
Turns off hardware acceleration. Try this option if you have display
problems.
corevideo (Mac OS X 10.4 or 10.3.9 with QuickTime 7)
Mac OS X CoreVideo video output driver
device_id=<number>
Choose the display device to use for fullscreen or set it to -1 to
always use the same screen the video window is on (default: -1 -
auto).
shared_buffer
Write output to a shared memory buffer instead of displaying it and
try to open an existing NSConnection for communication with a GUI.
buffer_name=<name>
Name of the shared buffer created with shm_open as well as the name of
the NSConnection MPlayer will try to open (default: "mplayerosx").
Setting buffer_name implicitly enables shared_buffer.
fbdev (Linux only)
Uses the kernel framebuffer to play video.
<device>
Explicitly choose the fbdev device name to use (e.g. ``/dev/fb0``).
fbdev2 (Linux only)
Uses the kernel framebuffer to play video, alternative implementation.
<device>
Explicitly choose the fbdev device name to use (default: ``/dev/fb0``).
vesa
Very general video output driver that should work on any VESA VBE 2.0
compatible card.
(no-)dga
Turns DGA mode on or off (default: on).
neotv_pal
Activate the NeoMagic TV out and set it to PAL norm.
neotv_ntsc
Activate the NeoMagic TV out and set it to NTSC norm.
lvo
Activate the Linux Video Overlay on top of VESA mode.
svga
Play video using the SVGA library.
<video mode>
Specify video mode to use. The mode can be given in a
<width>x<height>x<colors> format, e.g. 640x480x16M or be a graphics
mode number, e.g. 84.
bbosd
Draw OSD into black bands below the movie (slower).
native
Use only native drawing functions. This avoids direct rendering, OSD
and hardware acceleration.
retrace
Force frame switch on vertical retrace. Usable only with ``--double``.
It has the same effect as the ``--vsync`` option.
sq
Try to select a video mode with square pixels.
gl
OpenGL video output driver, simple version. Video size must be smaller
than the maximum texture size of your OpenGL implementation. Intended to
work even with the most basic OpenGL implementations, but also makes use
of newer extensions, which allow support for more colorspaces and direct
rendering. For optimal speed try adding the options ``--dr=-noslices``
The code performs very few checks, so if a feature does not work, this
might be because it is not supported by your card/OpenGL implementation
even if you do not get any error message. Use ``glxinfo`` or a similar
tool to display the supported OpenGL extensions.
(no-)ati-hack
ATI drivers may give a corrupted image when PBOs are used (when using
``--dr`` or `force-pbo`). This option fixes this, at the expense of
using a bit more memory.
(no-)force-pbo
Always uses PBOs to transfer textures even if this involves an extra
copy. Currently this gives a little extra speed with NVidia drivers
and a lot more speed with ATI drivers. May need ``--no-slices`` and
the ati-hack suboption to work correctly.
(no-)scaled-osd
Changes the way the OSD behaves when the size of the window changes
(default: disabled). When enabled behaves more like the other video
output drivers, which is better for fixed-size fonts. Disabled looks
much better with FreeType fonts and uses the borders in fullscreen
mode. Does not work correctly with ass subtitles (see ``--ass``), you
can instead render them without OpenGL support via ``--vf=ass``.
osdcolor=<0xAARRGGBB>
Color for OSD (default: 0x00ffffff, corresponds to non-transparent
white).
rectangle=<0,1,2>
Select usage of rectangular textures which saves video RAM, but often
is slower (default: 0).
0
Use power-of-two textures (default).
1
Use the ``GL_ARB_texture_rectangle`` extension.
2
Use the ``GL_ARB_texture_non_power_of_two`` extension. In some
cases only supported in software and thus very slow.
swapinterval=<n>
Minimum interval between two buffer swaps, counted in displayed frames
(default: 1). 1 is equivalent to enabling VSYNC, 0 to disabling VSYNC.
Values below 0 will leave it at the system default. This limits the
framerate to (horizontal refresh rate / n). Requires
``GLX_SGI_swap_control`` support to work. With some (most/all?)
implementations this only works in fullscreen mode.
ycbcr
Use the ``GL_MESA_ycbcr_texture`` extension to convert YUV to RGB. In
most cases this is probably slower than doing software conversion to
RGB.
yuv=<n>
Select the type of YUV to RGB conversion. The default is
auto-detection deciding between values 0 and 2.
0
Use software conversion. Compatible with all OpenGL versions.
Provides brightness, contrast and saturation control.
1
Same as 2. This used to use nVidia-specific extensions, which
didn't provide any advantages over using fragment programs, except
possibly on very ancient graphic cards. It produced a gray-ish
output, which is why it has been removed.
2
Use a fragment program. Needs the ``GL_ARB_fragment_program``
extension and at least three texture units. Provides brightness,
contrast, saturation and hue control.
3
Use a fragment program using the POW instruction. Needs the
``GL_ARB_fragment_program`` extension and at least three texture
units. Provides brightness, contrast, saturation, hue and gamma
control. Gamma can also be set independently for red, green and
blue. Method 4 is usually faster.
4
Use a fragment program with additional lookup. Needs the
``GL_ARB_fragment_program`` extension and at least four texture
units. Provides brightness, contrast, saturation, hue and gamma
control. Gamma can also be set independently for red, green and
blue.
5
Use ATI-specific method (for older cards). This uses an
ATI-specific extension (``GL_ATI_fragment_shader`` - not
``GL_ARB_fragment_shader``!). At least three texture units are
needed. Provides saturation and hue control. This method is fast
but inexact.
6
Use a 3D texture to do conversion via lookup. Needs the
``GL_ARB_fragment_program extension`` and at least four texture
units. Extremely slow (software emulation) on some (all?) ATI
cards since it uses a texture with border pixels. Provides
brightness, contrast, saturation, hue and gamma control. Gamma can
also be set independently for red, green and blue. Speed depends
more on GPU memory bandwidth than other methods.
lscale=<n>
Select the scaling function to use for luminance scaling. Only valid
for yuv modes 2, 3, 4 and 6.
0
Use simple linear filtering (default).
1
Use bicubic B-spline filtering (better quality). Needs one
additional texture unit. Older cards will not be able to handle
this for chroma at least in fullscreen mode.
2
Use cubic filtering in horizontal, linear filtering in vertical
direction. Works on a few more cards than method 1.
3
Same as 1 but does not use a lookup texture. Might be faster on
some cards.
4
Use experimental unsharp masking with 3x3 support and a default
strength of 0.5 (see `filter-strength`).
5
Use experimental unsharp masking with 5x5 support and a default
strength of 0.5 (see `filter-strength`).
cscale=<n>
Select the scaling function to use for chrominance scaling. For
details see `lscale`.
filter-strength=<value>
Set the effect strength for the `lscale`/`cscale` filters that support
it.
stereo=<value>
Select a method for stereo display. You may have to use ``--aspect`` to
fix the aspect value. Experimental, do not expect too much from it.
0
Normal 2D display
1
Convert side by side input to full-color red-cyan stereo.
2
Convert side by side input to full-color green-magenta stereo.
3
Convert side by side input to quadbuffered stereo. Only supported
by very few OpenGL cards.
The following options are only useful if writing your own fragment
programs.
customprog=<filename>
Load a custom fragment program from <filename>. See
``TOOLS/edgedect.fp`` for an example.
customtex=<filename>
Load a custom "gamma ramp" texture from <filename>. This can be used
in combination with yuv=4 or with the customprog option.
(no-)customtlin
If enabled (default) use ``GL_LINEAR`` interpolation, otherwise use
``GL_NEAREST`` for customtex texture.
(no-)customtrect
If enabled, use texture_rectangle for customtex texture. Default is
disabled.
(no-)mipmapgen
If enabled, mipmaps for the video are automatically generated. This
should be useful together with the customprog and the TXB instruction
to implement blur filters with a large radius. For most OpenGL
implementations this is very slow for any non-RGB formats. Default is
disabled.
Normally there is no reason to use the following options, they mostly
exist for testing purposes.
(no-)glfinish
Call ``glFinish()`` before swapping buffers. Slower but in some cases
more correct output (default: disabled).
(no-)manyfmts
Enables support for more (RGB and BGR) color formats (default:
enabled). Needs OpenGL version >= 1.2.
slice-height=<0-...>
Number of lines copied to texture in one piece (default: 0). 0 for
whole image.
*NOTE*: If YUV colorspace is used (see `yuv` suboption), special rules
apply: If the decoder uses slice rendering (see ``--no-slices``), this
setting has no effect, the size of the slices as provided by the
decoder is used. If the decoder does not use slice rendering, the
default is 16.
(no-)osd
Enable or disable support for OSD rendering via OpenGL (default:
enabled). This option is for testing; to disable the OSD use
``--osdlevel=0`` instead.
null
Produces no video output. Useful for benchmarking.
aa
ASCII art video output driver that works on a text console. You can get a
list and an explanation of available suboptions by executing ``mplayer
--vo=aa:help``.
*NOTE*: The driver does not handle ``--aspect`` correctly.
*HINT*: You probably have to specify ``--monitorpixelaspect``. Try
``mplayer --vo=aa --monitorpixelaspect=0.5``.
caca
Color ASCII art video output driver that works on a text console.
bl
Video playback using the Blinkenlights UDP protocol. This driver is highly
hardware specific.
<subdevice>
Explicitly choose the Blinkenlights subdevice driver to use. It is
something like ``arcade:host=localhost:2323`` or
``hdl:file=name1,file=name2``. You must specify a subdevice.
ggi
GGI graphics system video output driver
<driver>
Explicitly choose the GGI driver to use. Replace any ',' that would
appear in the driver string by a '.'.
directfb
Play video using the DirectFB library.
(no-)input
Use the DirectFB instead of the MPlayer keyboard code (default:
enabled).
buffermode=single|double|triple
Double and triple buffering give best results if you want to avoid
tearing issues. Triple buffering is more efficient than double
buffering as it does not block MPlayer while waiting for the vertical
retrace. Single buffering should be avoided (default: single).
fieldparity=top|bottom
Control the output order for interlaced frames (default: disabled).
Valid values are top = top fields first, bottom = bottom fields first.
This option does not have any effect on progressive film material like
most MPEG movies are. You need to enable this option if you have
tearing issues or unsmooth motions watching interlaced film material.
layer=N
Will force layer with ID N for playback (default: -1 - auto).
dfbopts=<list>
Specify a parameter list for DirectFB.
dfbmga
Matrox G400/G450/G550 specific video output driver that uses the DirectFB
library to make use of special hardware features. Enables CRTC2 (second
head), displaying video independently of the first head.
(no-)input
same as directfb (default: disabled)
buffermode=single|double|triple
same as directfb (default: triple)
fieldparity=top|bottom
same as directfb
(no-)bes
Enable the use of the Matrox BES (backend scaler) (default: disabled).
Gives very good results concerning speed and output quality as
interpolated picture processing is done in hardware. Works only on the
primary head.
(no-)spic
Make use of the Matrox sub picture layer to display the OSD (default:
enabled).
(no-)crtc2
Turn on TV-out on the second head (default: enabled). The output
quality is amazing as it is a full interlaced picture with proper sync
to every odd/even field.
tvnorm=pal|ntsc|auto
Will set the TV norm of the Matrox card without the need for modifying
``/etc/directfbrc`` (default: disabled). Valid norms are pal = PAL,
ntsc = NTSC. Special norm is auto (auto-adjust using PAL/NTSC) because
it decides which norm to use by looking at the framerate of the movie.
mga (Linux only)
Matrox specific video output driver that makes use of the YUV back end
scaler on Gxxx cards through a kernel module. If you have a Matrox card,
this is the fastest option.
<device>
Explicitly choose the Matrox device name to use (default:
``/dev/mga_vid``).
xmga (Linux, X11 only)
The mga video output driver, running in an X11 window.
<device>
Explicitly choose the Matrox device name to use (default:
``/dev/mga_vid``).
s3fb (Linux only) (see also ``--dr``)
S3 Virge specific video output driver. This driver supports the card's YUV
conversion and scaling, double buffering and direct rendering features.
Use ``--vf=format=yuy2`` to get hardware-accelerated YUY2 rendering, which
is much faster than YV12 on this card.
<device>
Explicitly choose the fbdev device name to use (default: ``/dev/fb0``).
wii (Linux only)
Nintendo Wii/GameCube specific video output driver.
3dfx (Linux only)
3dfx-specific video output driver that directly uses the hardware on top
of X11. Only 16 bpp are supported.
tdfxfb (Linux only)
This driver employs the tdfxfb framebuffer driver to play movies with YUV
acceleration on 3dfx cards.
<device>
Explicitly choose the fbdev device name to use (default: ``/dev/fb0``).
tdfx_vid (Linux only)
3dfx-specific video output driver that works in combination with the
tdfx_vid kernel module.
<device>
Explicitly choose the device name to use (default: ``/dev/tdfx_vid``).
dxr3 (DXR3 only)
Sigma Designs em8300 MPEG decoder chip (Creative DXR3, Sigma Designs
Hollywood Plus) specific video output driver. See also the lavc video
filter.
overlay
Activates the overlay instead of TV-out.
prebuf
Turns on prebuffering.
sync
Will turn on the new sync-engine.
norm=<norm>
Specifies the TV norm.
:0: Does not change current norm (default).
:1: Auto-adjust using PAL/NTSC.
:2: Auto-adjust using PAL/PAL-60.
:3: PAL
:4: PAL-60
:5: NTSC
<0-3>
Specifies the device number to use if you have more than one em8300
card.
ivtv (IVTV only)
Conexant CX23415 (iCompression iTVC15) or Conexant CX23416 (iCompression
iTVC16) MPEG decoder chip (Hauppauge WinTV PVR-150/250/350/500) specific
video output driver for TV-out. See also the lavc video filter.
<device>
Explicitly choose the MPEG decoder device name to use (default:
``/dev/video16``).
<output>
Explicitly choose the TV-out output to be used for the video signal.
v4l2 (requires Linux 2.6.22+ kernel)
Video output driver for V4L2 compliant cards with built-in hardware MPEG
decoder. See also the lavc video filter.
<device>
Explicitly choose the MPEG decoder device name to use (default:
``/dev/video16``).
<output>
Explicitly choose the TV-out output to be used for the video signal.
mpegpes (DVB only)
Video output driver for DVB cards that writes the output to an MPEG-PES
file if no DVB card is installed.
card=<1-4>
Specifies the device number to use if you have more than one DVB
output card (V3 API only, such as 1.x.y series drivers). If not
specified MPlayer will search the first usable card.
<filename>
output filename (default: ``./grab.mpg``)
md5sum
Calculate MD5 sums of each frame and write them to a file. Supports RGB24
and YV12 colorspaces. Useful for debugging.
outfile=<value>
Specify the output filename (default: ``./md5sums``).
yuv4mpeg
Transforms the video stream into a sequence of uncompressed YUV 4:2:0
images and stores it in a file (default: ``./stream.yuv``). The format is
the same as the one employed by mjpegtools, so this is useful if you want
to process the video with the mjpegtools suite. It supports the YV12
format. If your source file has a different format and is interlaced, make
sure to use ``--vf=scale=::1`` to ensure the conversion uses interlaced
mode. You can combine it with the ``--fixed-vo`` option to concatenate
files with the same dimensions and fps value.
interlaced
Write the output as interlaced frames, top field first.
interlaced_bf
Write the output as interlaced frames, bottom field first.
file=<filename>
Write the output to <filename> instead of the default ``stream.yuv``.
*NOTE*: If you do not specify any option the output is progressive (i.e.
not interlaced).
gif89a
Output each frame into a single animated GIF file in the current
directory. It supports only RGB format with 24 bpp and the output is
converted to 256 colors.
<fps>
Float value to specify framerate (default: 5.0).
<output>
Specify the output filename (default: ``./out.gif``).
*NOTE*: You must specify the framerate before the filename or the
framerate will be part of the filename.
*EXAMPLE*: ``mplayer video.nut --vo=gif89a:fps=15:output=test.gif``
jpeg
Output each frame into a JPEG file in the current directory. Each file
takes the frame number padded with leading zeros as name.
[no]progressive
Specify standard or progressive JPEG (default: noprogressive).
[no]baseline
Specify use of baseline or not (default: baseline).
optimize=<0-100>
optimization factor (default: 100)
smooth=<0-100>
smooth factor (default: 0)
quality=<0-100>
quality factor (default: 75)
outdir=<dirname>
Specify the directory to save the JPEG files to (default: ``./``).
subdirs=<prefix>
Create numbered subdirectories with the specified prefix to save the
files in instead of the current directory.
maxfiles=<value> (subdirs only)
Maximum number of files to be saved per subdirectory. Must be equal to
or larger than 1 (default: 1000).
pnm
Output each frame into a PNM file in the current directory. Each file
takes the frame number padded with leading zeros as name. It supports PPM,
PGM and PGMYUV files in both raw and ASCII mode. See also ``pnm(5)``,
``ppm(5)`` and ``pgm(5)``.
ppm
Write PPM files (default).
pgm
Write PGM files.
pgmyuv
Write PGMYUV files. PGMYUV is like PGM, but it also contains the U and
V plane, appended at the bottom of the picture.
raw
Write PNM files in raw mode (default).
ascii
Write PNM files in ASCII mode.
outdir=<dirname>
Specify the directory to save the PNM files to (default: ``./``).
subdirs=<prefix>
Create numbered subdirectories with the specified prefix to save the
files in instead of the current directory.
maxfiles=<value> (subdirs only)
Maximum number of files to be saved per subdirectory. Must be equal to
or larger than 1 (default: 1000).
png
Output each frame into a PNG file in the current directory. Each file
takes the frame number padded with leading zeros as name. 24bpp RGB and
BGR formats are supported.
z=<0-9>
Specifies the compression level. 0 is no compression, 9 is maximum
compression.
alpha
Create PNG files with an alpha channel. Note that MPlayer in general
does not support alpha, so this will only be useful in some rare
cases.
tga
Output each frame into a Targa file in the current directory. Each file
takes the frame number padded with leading zeros as name. The purpose of
this video output driver is to have a simple lossless image writer to use
without any external library. It supports the BGR[A] color format, with
15, 24 and 32 bpp. You can force a particular format with the format video
filter.
*EXAMPLE*: ``mplayer video.nut --vf=format=bgr15 --vo=tga``

View File

@ -451,10 +451,14 @@ DEP_FILES = $(patsubst %.S,%.d,$(patsubst %.cpp,%.d,$(patsubst %.c,%.d,$(SRCS_CO
ALL_PRG-$(MPLAYER) += mplayer$(EXESUF)
INSTALL_TARGETS-$(MPLAYER) += install-mplayer \
INSTALL_TARGETS-$(MPLAYER) += check_rst2man \
install-mplayer \
install-mplayer-man \
install-mplayer-msg
INSTALL_NO_MAN_TARGETS-$(MPLAYER) += install-mplayer \
install-mplayer-msg
DIRS = . \
input \
libaf \
@ -495,6 +499,9 @@ endif
all: $(ALL_PRG-yes) locales
%.1: %.rst
rst2man $< $@
%.o: %.S
$(CC) $(DEPFLAGS) $(CFLAGS) -c -o $@ $<
@ -594,8 +601,13 @@ stream/stream_dvdnav%: CFLAGS := $(CFLAGS_LIBDVDNAV) $(CFLAGS)
###### installation / clean / generic rules #######
check_rst2man:
@which rst2man > /dev/null 2>&1 || (printf "\n\trst2man not found. You need the docutils (>= 0.7) to generate the manpages. Alternatively you can use 'install-no-man' rule.\n\n" && exit 1)
install: $(INSTALL_TARGETS-yes)
install-no-man: $(INSTALL_NO_MAN_TARGETS-yes)
install-dirs:
if test ! -d $(BINDIR) ; then $(INSTALL) -d $(BINDIR) ; fi
if test ! -d $(CONFDIR) ; then $(INSTALL) -d $(CONFDIR) ; fi
@ -607,12 +619,12 @@ install-%: %$(EXESUF) install-dirs
install-mplayer-man: $(foreach lang,$(MAN_LANGS),install-mplayer-man-$(lang))
install-mplayer-msg: $(foreach lang,$(MSG_LANGS),install-mplayer-msg-$(lang))
install-mplayer-man-en:
install-mplayer-man-en: DOCS/man/en/mplayer.1
if test ! -d $(MANDIR)/man1 ; then $(INSTALL) -d $(MANDIR)/man1 ; fi
$(INSTALL) -m 644 DOCS/man/en/mplayer.1 $(MANDIR)/man1/
define MPLAYER_MAN_RULE
install-mplayer-man-$(lang):
install-mplayer-man-$(lang): DOCS/man/$(lang)/mplayer.1
if test ! -d $(MANDIR)/$(lang)/man1 ; then $(INSTALL) -d $(MANDIR)/$(lang)/man1 ; fi
$(INSTALL) -m 644 DOCS/man/$(lang)/mplayer.1 $(MANDIR)/$(lang)/man1/
endef
@ -637,6 +649,8 @@ uninstall:
clean:
-$(RM) $(call ADD_ALL_DIRS,/*.o /*.d /*.a /*.ho /*~)
-$(RM) $(foreach lang,$(MAN_LANGS),$(foreach man,mplayer.1,DOCS/man/$(lang)/$(man)))
-$(RM) $(call ADD_ALL_DIRS,/*.o /*.a /*.ho /*~)
-$(RM) $(call ADD_ALL_EXESUFS,mplayer)
-$(RM) $(MOFILES)
-$(RM) version.h