diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | DOCS/man/en/af.rst | 551 | ||||
-rw-r--r-- | DOCS/man/en/ao.rst | 152 | ||||
-rw-r--r-- | DOCS/man/en/mplayer-old.1 (renamed from DOCS/man/en/mplayer.1) | 0 | ||||
-rw-r--r-- | DOCS/man/en/mplayer.rst | 685 | ||||
-rw-r--r-- | DOCS/man/en/options.rst | 2517 | ||||
-rw-r--r-- | DOCS/man/en/vf.rst | 1452 | ||||
-rw-r--r-- | DOCS/man/en/vo.rst | 731 | ||||
-rw-r--r-- | Makefile | 20 |
9 files changed, 6107 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore index c9db19a836..1cb98731e4 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,5 @@ /libmpdemux/ebml_types.h /libvo/vdpau_template.c /sub/osd_font.h +DOCS/man/*/mplayer.1 + diff --git a/DOCS/man/en/af.rst b/DOCS/man/en/af.rst new file mode 100644 index 0000000000..0f1f10d9b8 --- /dev/null +++ b/DOCS/man/en/af.rst @@ -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. diff --git a/DOCS/man/en/ao.rst b/DOCS/man/en/ao.rst new file mode 100644 index 0000000000..4f817774ed --- /dev/null +++ b/DOCS/man/en/ao.rst @@ -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 diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer-old.1 index 0e1ff45516..0e1ff45516 100644 --- a/DOCS/man/en/mplayer.1 +++ b/DOCS/man/en/mplayer-old.1 diff --git a/DOCS/man/en/mplayer.rst b/DOCS/man/en/mplayer.rst new file mode 100644 index 0000000000..621df0431c --- /dev/null +++ b/DOCS/man/en/mplayer.rst @@ -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. diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst new file mode 100644 index 0000000000..0fea91078c --- /dev/null +++ b/DOCS/man/en/options.rst @@ -0,0 +1,2517 @@ +--a52drc=<level> + Select the Dynamic Range Compression level for AC-3 audio streams. <level> + is a float value ranging from 0 to 1, where 0 means no compression and 1 + (which is the default) means full compression (make loud passages more + silent and vice versa). Values up to 2 are also accepted, but are purely + experimental. This option only shows an effect if the AC-3 stream contains + the required range compression information. + +--abs=<value> + (``--ao=oss`` only) (OBSOLETE) + Override audio driver/card buffer size detection. + +--ac=<[-\|+]codec1,[-\|+]codec2,...[,]> + Specify a priority list of audio codecs to be used, according to their + codec name in codecs.conf. Use a '-' before the codec name to omit it. + Use a '+' before the codec name to force it, this will likely crash! If + the list has a trailing ',' MPlayer will fall back on codecs not contained + in the list. + + *NOTE*: See ``--ac=help`` for a full list of available codecs. + + *EXAMPLE*: + + :``--ac=mp3acm``: Force the l3codeca.acm MP3 codec. + :``--ac=mad,``: Try libmad first, then fall back on others. + :``--ac=hwac3,a52,``: Try hardware AC-3 passthrough, software AC-3, then + others. + :``--ac=hwdts,``: Try hardware DTS passthrough, then fall back on + others. + :``--ac=-ffmp3,``: Skip FFmpeg's MP3 decoder. + +--adapter=<value> + Set the graphics card that will receive the image. You can get a list of + available cards when you run this option with ``-v``. Currently only works + with the directx video output driver. + +--af=<filter1[=parameter1:parameter2:...],filter2,...> + Specify a list of audio filters to apply to the audio stream. See + :ref:`audio_filters` for details and descriptions of the available filters. + The option variants ``--af-add``, ``--af-pre``, ``--af-del`` and + ``--af-clr`` exist to modify a previously specified list, but you + shouldn't need these for typical use. + +--af-adv=<force=(0-7):list=(filters)> + See also ``--af``. + Specify advanced audio filter options: + + force=<0-7> + Forces the insertion of audio filters to one of the following: + + 0 + Use completely automatic filter insertion (currently identical to + 1). + 1 + Optimize for accuracy (default). + 2 + Optimize for speed. *Warning*: Some features in the audio filters + may silently fail, and the sound quality may drop. + 3 + Use no automatic insertion of filters and no optimization. + *Warning*: It may be possible to crash MPlayer using this setting. + 4 + Use automatic insertion of filters according to 0 above, but use + floating point processing when possible. + 5 + Use automatic insertion of filters according to 1 above, but use + floating point processing when possible. + 6 + Use automatic insertion of filters according to 2 above, but use + floating point processing when possible. + 7 + Use no automatic insertion of filters according to 3 above, and + use floating point processing when possible. + + list=<filters> + Same as ``--af``. + +--afm=<driver1,driver2,...> + Specify a priority list of audio codec families to be used, according to + their codec name in codecs.conf. Falls back on the default codecs if none + of the given codec families work. + + *NOTE*: See ``--afm=help`` for a full list of available codec families. + + *EXAMPLE*: + + :``--afm=ffmpeg``: Try FFmpeg's libavcodec codecs first. + :``--afm=acm,dshow``: Try Win32 codecs first. + +--aid=<ID> + Select audio channel (MPEG: 0-31, AVI/OGM: 1-99, ASF/RM: 0-127, VOB(AC-3): + 128-159, VOB(LPCM): 160-191, MPEG-TS 17-8190). MPlayer prints the + available audio IDs when run in verbose (-v) mode. When playing an MPEG-TS + stream, MPlayer will use the first program (if present) with the chosen + audio stream. See also ``--alang``. + +--alang=<languagecode[,languagecode,...]> + Specify a priority list of audio languages to use. Different container + formats employ different language codes. DVDs use ISO 639-1 two letter + language codes, Matroska, MPEG-TS and NUT use ISO 639-2 three letter + language codes while OGM uses a free-form identifier. MPlayer prints the + available languages when run in verbose (``-v``) mode. See also ``--aid``. + + *EXAMPLE*: + + ``mplayer dvd://1 --alang=hu,en`` + Chooses the Hungarian language track on a DVD and falls back on + English if Hungarian is not available. + ``mplayer --alang=jpn example.mkv`` + Plays a Matroska file in Japanese. + +--ao=<driver1[:suboption1[=value]:...],driver2,...[,]> + Specify a priority list of audio output drivers to be used. For + interactive use you'd normally specify a single one to use, but in + configuration files specifying a list of fallbacks may make sense. See + :ref:`audio_outputs` for details and descriptions of available drivers. + +--ar, --no-ar + Enable/disable AppleIR remote support. Enabled by default. + +--aspect=<ratio> + Override movie aspect ratio, in case aspect information is incorrect or + missing in the file being played. See also ``--noaspect``. + + *EXAMPLE*: + + - ``--aspect=4:3`` or ``--aspect=1.3333`` + - ``--aspect=16:9`` or ``--aspect=1.7777`` + +--ass, --no-ass + Use libass to render all text subtitles. This enables support for the + native styling of SSA/ASS subtitles, and also support for some styling + features in other subtitle formats by conversion to ASS markup. Enabled by + default if the player was compiled with libass support. + + *NOTE*: Some of the other subtitle options were written for the old + non-libass subtitle rendering system and may not work the same way or at + all with libass rendering enabled. + +--ass-border-color=<value> + Sets the border (outline) color for text subtitles. The color format is + RRGGBBAA. + +--ass-bottom-margin=<value> + Adds a black band at the bottom of the frame. The SSA/ASS renderer can + place subtitles there (with ``--ass-use-margins``). + +--ass-color=<value> + Sets the color for text subtitles. The color format is RRGGBBAA. + +--ass-font-scale=<value> + Set the scale coefficient to be used for fonts in the SSA/ASS renderer. + +--ass-force-style=<[Style.]Param=Value[,...]> + Override some style or script info parameters. + + *EXAMPLE*: + + - ``--ass-force-style=FontName=Arial,Default.Bold=1`` + - ``--ass-force-style=PlayResY=768`` + +--ass-hinting=<type> + Set hinting type. <type> can be: + + :0: no hinting + :1: FreeType autohinter, light mode + :2: FreeType autohinter, normal mode + :3: font native hinter + :0-3 + 4: The same, but hinting will only be performed if the OSD is + rendered at screen resolution and will therefore not be scaled. + + The default value is 0 (no hinting). + +--ass-line-spacing=<value> + Set line spacing value for SSA/ASS renderer. + +--ass-styles=<filename> + Load all SSA/ASS styles found in the specified file and use them for + rendering text subtitles. The syntax of the file is exactly like the ``[V4 + Styles]`` / ``[V4+ Styles]`` section of SSA/ASS. + +--ass-top-margin=<value> + Adds a black band at the top of the frame. The SSA/ASS renderer can place + toptitles there (with ``--ass-use-margins``). + +--ass-use-margins + Enables placing toptitles and subtitles in black borders when they are + available. + +--ass-vsfilter-aspect-compat + Stretch SSA/ASS subtitles when playing anamorphic videos for compatibility + with traditional VSFilter behavior. This switch has no effect when the + video is stored with square pixels. + + The renderer historically most commonly used for the SSA/ASS subtitle + formats, VSFilter, had questionable behavior that resulted in subtitles + being stretched too if the video was stored in anamorphic format that + required scaling for display. This behavior is usually undesirable and + newer VSFilter versions may behave differently. However, many existing + scripts compensate for the stretching by modifying things in the opposite + direction. Thus if such scripts are displayed "correctly" they will not + appear as intended. This switch enables emulation of the old VSFilter + behavior (undesirable but expected by many existing scripts). + + Enabled by default. + +--audio-demuxer=<[+]name> + Force audio demuxer type when using ``--audiofile``. Use a '+' before the + name to force it, this will skip some checks! Give the demuxer name as + printed by ``--audio-demuxer=help``. ``--audio-demuxer=audio`` forces MP3. + +--audiofile=<filename> + Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a + movie. + +--audiofile-cache=<kBytes> + Enables caching for the stream used by ``--audiofile``, using the + specified amount of memory. + +--ausid=<ID> + Select audio substream channel. Currently the valid range is 0x55..0x75 + and applies only to MPEG-TS when handled by the native demuxer (not by + libavformat). The format type may not be correctly identified because of + how this information (or lack thereof) is embedded in the stream, but it + will demux correctly the audio streams when multiple substreams are + present. MPlayer prints the available substream IDs when run with + ``--identify``. See also ``--alang``. + +--autoq=<quality> + Used with ``--vf=[s]pp``. + Dynamically changes the level of postprocessing depending on the 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 ``--vf=[s]pp`` + without parameters in order for this to work. + +--autosub, --no-autosub + Load additional subtitle files matching the video filename. Enabled by + default. See also ``--sub-fuzziness``. + +--autosync=<factor> + 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. An + uneven video framerate 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. + +--bandwidth=<Bytes> + Specify the maximum bandwidth for network streaming (for servers that are + able to send content in different bitrates). Useful if you want to watch + live streamed media behind a slow connection. With Real RTSP streaming, it + is also used to set the maximum delivery bandwidth allowing faster cache + filling and stream dumping. + +--benchmark + Prints some statistics on CPU usage and dropped frames at the end of + playback. Use in combination with ``--nosound`` and ``--vo=null`` for + benchmarking only the video codec. + + *NOTE*: With this option MPlayer will also ignore frame duration when + playing only video (you can think of that as infinite fps). + +--bluray-angle=<ID> + Some Blu-ray discs contain scenes that can be viewed from multiple angles. + Here you can tell MPlayer which angles to use (default: 1). + +--bluray-chapter=<ID> + (Blu-ray only) + Tells MPlayer which Blu-ray chapter to start the current title from + (default: 1). + +--bluray-device=<path> + (Blu-ray only) + Specify the Blu-ray disc location. Must be a directory with Blu-ray + structure. + +--border, --no-border + Play movie with window border and decorations. Since this is on by + default, use ``--no-border`` to disable the standard window decorations. + +--bpp=<depth> + Override the autodetected color depth. Only supported by the fbdev, dga, + svga, vesa video output drivers. + +--brightness=<-100-100> + Adjust the brightness of the video signal (default: 0). Not supported by + all video output drivers. + +--cache=<kBytes> + Enable caching of the input stream (if not already enabled) and set the + size of the cache in kilobytes. Caching is enabled by default (with a + default cache size) for network streams. May be useful when playing files + from slow media, but can also have negative effects, especially with file + formats that require a lot of seeking, such as mp4. See also ``--nocache``. + +--cache-min=<percentage> + Playback will start when the cache has been filled up to <percentage> of + the total. + +--cache-seek-min=<percentage> + If a seek is to be made to a position within <percentage> of the cache + size from the current position, MPlayer will wait for the cache to be + filled to this position rather than performing a stream seek (default: + 50). + +--capture + Allows capturing the primary stream (not additional audio tracks or other + kind of streams) into the file specified by ``--dumpfile`` or by default. + If this option is given, capturing can be started and stopped by pressing + the key bound to this function (see section `INTERACTIVE CONTROL`_). Same + as for ``--dumpstream``, this will likely not produce usable results for + anything else than MPEG streams. Note that, due to cache latencies, + captured data may begin and end somewhat delayed compared to what you see + displayed. + +--cdda=<option1:option2> + This option can be used to tune the CD Audio reading feature of MPlayer. + + Available options are: + + speed=<value> + Set CD spin speed. + + paranoia=<0-2> + Set paranoia level. Values other than 0 seem to break playback of + anything but the first track. + + :0: disable checking (default) + :1: overlap checking only + :2: full data correction and verification + + generic-dev=<value> + Use specified generic SCSI device. + + sector-size=<value> + Set atomic read size. + + overlap=<value> + Force minimum overlap search during verification to <value> sectors. + + 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. + + toc-offset=<value> + Add <value> sectors to the values reported when addressing tracks. May + be negative. + + (no)skip + (Never) accept imperfect data reconstruction. + +--cdrom-device=<path> + Specify the CD-ROM device (default: ``/dev/cdrom``). + +--channels=<number> + Request the number of playback channels (default: 2). MPlayer asks the + decoder to decode the audio into as many channels as specified. Then it is + up to the decoder to fulfill the requirement. This is usually only + important when playing videos with AC-3 audio (like DVDs). In that case + liba52 does the decoding by default and correctly downmixes the audio into + the requested number of channels. To directly control the number of output + channels independently of how many channels are decoded, use the channels + filter (``--af=channels``). + + *NOTE*: This option is honored by codecs (AC-3 only), filters (surround) + and audio output drivers (OSS at least). + + Available options are: + + :2: stereo + :4: surround + :6: full 5.1 + :8: full 7.1 + +--chapter=<start[-end]> + Specify which chapter to start playing at. Optionally specify which + chapter to end playing at (default: 1). + +--chapter-merge-threshold=<number> + Threshold for merging almost consecutive ordered chapter parts in + milliseconds (default: 100). Some Matroska files with ordered chapters + have inaccurate chapter end timestamps, causing a small gap between the + end of one chapter and the start of the next one when they should match. + If the end of one playback part is less than the given threshold away from + the start of the next one then keep playing video normally over the + chapter change instead of doing a seek. + +--codecpath=<dir> + Specify a directory for binary codecs. + +--codecs-file=<filename> + Override the standard search path and use the specified file instead of + the builtin codecs.conf. + +--colormatrix=<colorspace> + Controls the YUV to RGB color space conversion when playing video. There + are various standards. Normally, BT.601 should be used for SD video, and + BT.709 for HD video. (This is done by default.) Using incorrect color space + results in slightly under or over saturated and shifted colors. + + The color space conversion is additionally influenced by the related + options --colormatrix-input-range and --colormatrix-output-range. + + These options are not always supported. Different video outputs provide + varying degrees of support. The gl and vdpau video output drivers usually + offer full support. The xv output can set the color space if the system + video driver supports it, but not input and output levels. The scale video + filter can configure color space and input levels, but only if the output + format is RGB (if the video output driver supports RGB output, you can + force this with ``-vf scale,format=rgba``). + + If this option is set to ``auto`` (which is the default), the color space + will be selected automatically. This is done using a simple heuristic that + attempts to distinguish SD and HD video. If the video is larger than + 1279x576 pixels, BT.709 (HD) will be used; otherwise BT.601 (SD) is + selected. + + Available color spaces are: + + :auto: automatic selection (default) + :BT.601: ITU-R BT.601 (SD) + :BT.709: ITU-R BT.709 (HD) + :SMPTE-240M: SMPTE-240M + :sd: alias for BT.601 + :hd: alias for BT.709 + :0: compatibility alias for auto (do not use) + :1: compatibility alias for BT.601 (do not use) + :2: compatibility alias for BT.709 (do not use) + :3: compatibility alias for SMPTE-240M (do not use) + +--colormatrix-input-range=<color-range> + YUV color levels used with YUV to RGB conversion. This option is only + necessary when playing broken files, which don't follow standard color + levels. + + The same limitations as with --colormatrix apply. + + Available color ranges are: + + :auto: automatic selection (normally limited range) (default) + :limited: limited range (16-235 for luma, 16-240 for chroma) + :full: full range (16-235 for luma, 0-255 for chroma) + +--colormatrix-output-range=<color-range> + RGB color levels used with YUV to RGB conversion. Normally, output devices + such as PC monitors use full range color levels. However, some TVs and + video monitors expect studio level RGB. Providing full range output to a + device expecting studio level input results in crushed blacks and whites, + the reverse in dim grey blacks and dim whites. + + The same limitations as with --colormatrix apply. + + Available color ranges are: + + :auto: automatic selection (equals to full range) (default) + :limited: limited range (16-235 per component), studio levels + :full: full range (0-255 per component), PC levels + +--colorkey=<number> + Changes the colorkey to an RGB value of your choice. 0x000000 is black and + 0xffffff is white. Only supported by the fbdev, svga, vesa, xmga, xover, + xv (see ``--vo=xv:ck``) and directx video output drivers. See also + ``--nocolorkey``. + +--consolecontrols, --no-consolecontrols + ``--no-consolecontrols`` prevents the player from reading key events from + standard input. Useful when reading data from standard input. This is + automatically enabled when ``-`` is found on the command line. There are + situations where you have to set it manually, e.g. if you open + ``/dev/stdin`` (or the equivalent on your system), use stdin in a playlist + or intend to read from stdin later on via the loadfile or loadlist slave + commands. + +--contrast=<-100-100> + Adjust the contrast of the video signal (default: 0). Not supported by all + video output drivers. + +--cookies, --no-cookies + (network only) + Support cookies when making HTTP requests. Disabled by default. + +--cookies-file=<filename> + (network only) + Read HTTP cookies from <filename> (default: ``~/.mozilla/`` and + ``~/.netscape/``) and skip reading from default locations. The file is + assumed to be in Netscape format. + +--correct-pts, --no-correct-pts + Switches MPlayer to a mode where timestamps for video frames are + calculated differently and video filters which add new frames or modify + timestamps of existing ones are supported. Now enabled automatically for + most common file formats. The more accurate timestamps can be visible for + example when playing subtitles timed to scene changes with the ``--ass`` + option. Without ``--correct-pts`` the subtitle timing will typically be + off by some frames. This option does not work correctly with some demuxers + and codecs. + +--crash-debug + DEBUG CODE. + Automatically attaches gdb upon crash or **SIGTRAP**. Support must be + compiled in by configuring with ``--enable-crash-debug``. + +--cursor-autohide-delay=<number> + Make mouse cursor automatically hide after given number of milliseconds. + A value of -1 will disable cursor autohide. A value of -2 means the cursor + will stay hidden. Supported by video output drivers which use X11 or + OS X Cocoa. + +--delay=<sec> + audio delay in seconds (positive or negative float value) Negative values + delay the audio, and positive values delay the video. + +--demuxer=<[+]name> + Force demuxer type. Use a '+' before the name to force it, this will skip + some checks! Give the demuxer name as printed by ``--demuxer=help``. + +--display=<name> + (X11 only) + Specify the hostname and display number of the X server you want to + display on. + + *EXAMPLE*: + + ``--display=xtest.localdomain:0`` + +--double, --no-double + Double buffering. The option to disable this exists mostly for debugging + purposes and should not normally be used. + +--doubleclick-time + Time in milliseconds to recognize two consecutive button presses as a + double-click (default: 300). Set to 0 to let your windowing system decide + what a double-click is (``--vo=directx`` only). + +--dr + Turns on direct rendering (not supported by all codecs and video outputs) + + *WARNING*: May cause OSD/SUB corruption! + +--dumpaudio + Dumps raw compressed audio stream to ``./stream.dump`` (useful with + MPEG/AC-3, in most other cases the resulting file will not be playable). + If you give more than one of ``--dumpaudio``, ``--dumpvideo``, + ``--dumpstream`` on the command line only the last one will work. + +--dumpfile=<filename> + Specify which file MPlayer should dump to. Should be used together with + ``--dumpaudio`` / ``--dumpvideo`` / ``--dumpstream`` / ``--capture``. + +--dumpjacosub + Convert the given subtitle (specified with the ``--sub`` option) to the + time-based JACOsub subtitle format. Creates a ``dumpsub.js`` file in the + current directory. + +--dumpmicrodvdsub + Convert the given subtitle (specified with the ``--sub`` option) to the + MicroDVD subtitle format. Creates a dumpsub.sub file in the current + directory. + +--dumpmpsub + Convert the given subtitle (specified with the ``--sub`` option) to + MPlayer's subtitle format, MPsub. Creates a dump.mpsub file in the current + directory. + +--dumpsami + Convert the given subtitle (specified with the ``--sub`` option) to the + time-based SAMI subtitle format. Creates a ``dumpsub.smi`` file in the + current directory. + +--dumpsrtsub + Convert the given subtitle (specified with the ``--sub`` option) to the + time-based SubViewer (SRT) subtitle format. Creates a ``dumpsub.srt`` file + in the current directory. + + *NOTE*: Some broken hardware players choke on SRT subtitle files with Unix + line endings. If you are unlucky enough to have such a box, pass your + subtitle files through ``unix2dos`` or a similar program to replace Unix + line endings with DOS/Windows line endings. + +--dumpstream + Dumps the raw stream to ``./stream.dump``. Useful when ripping from DVD or + network. If you give more than one of ``--dumpaudio``, ``--dumpvideo``, + ``--dumpstream`` on the command line only the last one will work. + +--dumpsub + BETA CODE. + Dumps the subtitle substream from VOB streams. Also see the **--dump*sub** + options. + +--dumpvideo + Dump raw compressed video stream to ``./stream.dump`` (not very usable). + If you give more than one of ``--dumpaudio``, ``--dumpvideo``, + ``--dumpstream`` on the command line only the last one will work. + +--dvbin=<options> + Pass the following parameters to the DVB input module, in order to + override the default ones: + + :card=<1-4>: Specifies using card number 1-4 (default: 1). + :file=<filename>: Instructs MPlayer to read the channels list from + <filename>. Default is + ``~/.mplayer/channels.conf.{sat,ter,cbl,atsc}`` (based + on your card type) or ``~/.mplayer/channels.conf`` as a + last resort. + :timeout=<1-30>: Maximum number of seconds to wait when trying to tune a + frequency before giving up (default: 30). + +--dvd-device=<path> + Specify the DVD device or .iso filename (default: ``/dev/dvd``). You can + also specify a directory that contains files previously copied directly + from a DVD (with e.g. vobcopy). + +--dvd-speed=<speed> + Try to limit DVD speed (default: 0, no change). DVD base speed is 1385 + kB/s, so a 8x drive can read at speeds up to 11080 kB/s. Slower speeds + make the drive more quiet. For watching DVDs 2700 kB/s should be quiet and + fast enough. MPlayer resets the speed to the drive default value on close. + Values of at least 100 mean speed in kB/s. Values less than 100 mean + multiples of 1385 kB/s, i.e. ``--dvd-speed=8`` selects 11080 kB/s. + + *NOTE*: You need write access to the DVD device to change the speed. + +--dvdangle=<ID> + Some DVD discs contain scenes that can be viewed from multiple angles. + Here you can tell MPlayer which angles to use (default: 1). + +--edition=<ID> + (Matroska files only) + Specify the edition (set of chapters) to use, where 0 is the first. If set + to -1 (the default), MPlayer will choose the first edition declared as a + default, or if there is no default, the first edition defined. + +--edlout=<filename> + Creates a new file and writes edit decision list (EDL) records to it. + During playback, the user hits 'i' to mark the start or end of a skip + block. This provides a starting point from which the user can fine-tune + EDL entries later. See http://www.mplayerhq.hu/DOCS/HTML/en/edl.html for + details. + +--embeddedfonts, --no-embeddedfonts + Use fonts embedded in Matroska container files and ASS scripts (default: + enabled). These fonts can be used for SSA/ASS subtitle rendering + (``--ass`` option). + +--endpos=<[[hh:]mm:]ss[.ms]> + Stop at given time. + + *NOTE*: When used in conjunction with ``--ss`` option, ``--endpos`` time + will shift forward by seconds specified with ``--ss``. + + *EXAMPLE*: + + ``--endpos=56`` + Stop at 56 seconds. + ``--endpos=01:10:00`` + Stop at 1 hour 10 minutes. + ``--ss=10 --endpos=56`` + Stop at 1 minute 6 seconds. + +--extbased, --no-extbased + Enabled by default. + Disables extension-based demuxer selection. By default, when the 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 the demuxer. + Always falls back on content-based demuxer selection. + +--fbmode=<modename> + (``--vo=fbdev`` only) + Change video mode to the one that is labeled as <modename> in + ``/etc/fb.modes``. + + *NOTE*: VESA framebuffer does not support mode changing. + +--fbmodeconfig=<filename> + (``--vo=fbdev`` only) + Override framebuffer mode configuration file (default: ``/etc/fb.modes``). + +--ffactor=<number> + Resample the font alphamap. Can be: + + :0: plain white fonts + :0.75: very narrow black outline (default) + :1: narrow black outline + :10: bold black outline + +--field-dominance=<-1-1> + Set first field for interlaced content. Useful for deinterlacers that + double the framerate: ``--vf=tfields=1``, ``--vf=yadif=1`` and + ``--vo=vdpau:deint``. + + :-1: auto (default): If the decoder does not export the appropriate + information, it falls back to 0 (top field first). + :0: top field first + :1: bottom field first + +--fixed-vo, --no-fixed-vo + ``--fixed-vo`` enforces a fixed video system for multiple files (one + (un)initialization for all files). Therefore only one window will be + opened for all files. Now enabled by default, use ``--no-fixed-vo`` to + disable and create a new window whenever the video stream changes. Some of + the older drivers may not be *fixed-vo* compliant. + +--flip + Flip image upside-down. + +--flip-hebrew + Turns on flipping subtitles using FriBiDi. + +--flip-hebrew-commas, --no-flip-hebrew-commas + Enabled by default. + Change FriBiDi's assumptions about the placements of commas in subtitles. + Use this if commas in subtitles are shown at the start of a sentence + instead of at the end. + +--font=<pattern-or-filename> + Specify font to use for OSD and for subtitles that do not themselves + specify a particular font. See also ``--subfont``. With fontconfig enabled + the argument is a fontconfig pattern and the default is ``sans``. Without + fontconfig the argument is a filename and the default is + ``~/.mplayer/subfont.ttf`` with freetype enabled, or + ``~/.mplayer/font/font.desc`` without it. + + *EXAMPLE*: + + - ``--font=~/.mplayer/arial-14/font.desc`` (no fontconfig or freetype) + - ``--font=~/.mplayer/arialuni.ttf`` (no fontconfig) + - ``--font='Bitstream Vera Sans'`` (usual case with fontconfig) + - ``--font='Bitstream Vera Sans:style=Bold'`` (usual case with fontconfig) + +--fontconfig, --no-fontconfig + Enables the use of fontconfig managed fonts. Enabled by default. + +--force-window-position + Forcefully move MPlayer's video output window to default location whenever + there is a change in video parameters, video stream or file. This used to + be the default behavior. Currently only affects X11 VOs. + +--forcedsubsonly + Display only forced subtitles for the DVD subtitle stream selected by e.g. + ``--slang``. + +--forceidx + Force index rebuilding. Useful for files with broken index (A/V desync, + etc). This will enable seeking in files where seeking was not possible. + + *NOTE*: This option only works if the underlying media supports seeking + (i.e. not with stdin, pipe, etc). + +--format=<format> + Select the sample format used for output from the audio filter layer to + the sound card. The values that <format> can adopt are listed below in the + description of the ``format`` audio filter. + +--fps=<float> + Override video framerate. Useful if the original value is wrong or missing. + +--framedrop + 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. May produce unwatchably choppy output. See also + ``--hardframedrop``. + +--frames=<number> + Play/convert only first <number> frames, then quit. + +--fribidi-charset=<name> + Specifies the character set that will be passed to FriBiDi when decoding + non-UTF-8 subtitles (default: ISO8859-8). + +--fs + Fullscreen playback (centers movie, and paints black bands around it). + +--fsmode-dontuse=<0-31> + OBSOLETE, use the ``--fs`` option. + Try this option if you still experience fullscreen problems. + +--fstype=<type1,type2,...> + (X11 only) + Specify a priority list of fullscreen modes to be used. You can negate the + modes by prefixing them with '-'. If you experience problems like the + fullscreen window being covered by other windows try using a different + order. + + *NOTE*: See ``--fstype=help`` for a full list of available modes. + + The available types are: + + above + Use the ``_NETWM_STATE_ABOVE`` hint if available. + below + Use the ``_NETWM_STATE_BELOW`` hint if available. + fullscreen + Use the ``_NETWM_STATE_FULLSCREEN`` hint if available. + layer + Use the ``_WIN_LAYER`` hint with the default layer. + layer=<0...15> + Use the ``_WIN_LAYER`` hint with the given layer number. + netwm + Force NETWM style. + none + Clear the list of modes; you can add modes to enable afterward. + stays_on_top + Use ``_NETWM_STATE_STAYS_ON_TOP`` hint if available. + + *EXAMPLE*: + + ``--fstype=layer,stays_on_top,above,fullscreen`` + Default order, will be used as a fallback if incorrect or + unsupported modes are specified. + ``--fstype=fullscreen`` + Fixes fullscreen switching on OpenBox 1.x. + +--gamma=<-100-100> + Adjust the gamma of the video signal (default: 0). Not supported by all + video output drivers. + +--gapless-audio + Try to play consecutive audio files with no silence or disruption at the + point of file change. This feature is implemented in a simple manner and + relies on audio output device buffering to continue playback while moving + from one file to another. If playback of the new file starts slowly, for + example because it's played from a remote network location or because you + have specified cache settings that require time for the initial cache + fill, then the buffered audio may run out before playback of the new file + can start. + + *NOTE*: The audio device is opened using parameters chosen according to + the first file played and is then kept open for gapless playback. This + means that if the first file for example has a low samplerate then the + following files may get resampled to the same low samplerate, resulting in + reduced sound quality. If you play files with different parameters, + consider using options such as ``--srate`` and ``--format`` to explicitly + select what the shared output format will be. + +--geometry=<x[%][:y[%]]>, --geometry=<[WxH][+-x+-y]> + Adjust where the output is on the screen initially. The x and y + specifications are in pixels measured from the top-left of the screen to + the top-left of the image being displayed, however if a percentage sign is + given after the argument it turns the value into a percentage of the + screen size in that direction. It also supports the standard X11 + ``--geometry`` option format, in which e.g. +10-50 means "place 10 pixels + from the left border and 50 pixels from the lower border" and "--20+-10" + means "place 20 pixels beyond the right and 10 pixels beyond the top + border". If an external window is specified using the ``--wid`` option, + then the x and y coordinates are relative to the top-left corner of the + window rather than the screen. The coordinates are relative to the screen + given with ``--xineramascreen`` for the video output drivers that fully + support ``--xineramascreen`` (direct3d, gl, vdpau, x11, xv, corevideo). + + *NOTE*: May not be supported by some of the older VO drivers. + + *EXAMPLE*: + + ``50:40`` + Places the window at x=50, y=40. + ``50%:50%`` + Places the window in the middle of the screen. + ``100%`` + Places the window at the middle of the right edge of the screen. + ``100%:100%`` + Places the window at the bottom right corner of the screen. + +--grabpointer, --no-grabpointer + ``-no-grabpointer`` tells the player to not grab the mouse pointer after a + video mode change (``--vm``). Useful for multihead setups. + +--hardframedrop + More intense frame dropping (breaks decoding). Leads to image distortion! + +--heartbeat-cmd + Command that is executed every 30 seconds during playback via *system()* - + i.e. using the shell. + + *NOTE*: mplayer uses this command without any checking, it is your + responsibility to ensure it does not cause security problems (e.g. make + sure to use full paths if "." is in your path like on Windows). It also + only works when playing video (i.e. not with ``--novideo`` but works with + ``-vo=null``). + + This can be "misused" to disable screensavers that do not support the + proper X API (see also ``--stop-xscreensaver``). If you think this is too + complicated, ask the author of the screensaver program to support the + proper X APIs. + + *EXAMPLE for xscreensaver*: ``mplayer --heartbeat-cmd="xscreensaver-command + -deactivate" file`` + + *EXAMPLE for GNOME screensaver*: ``mplayer + --heartbeat-cmd="gnome-screensaver-command -p" file`` + +--help + Show short summary of options and key bindings. + +--hr-mp3-seek + Only affects the internal ``audio`` demuxer, which is not used by default + for mp3 files any more. The equivalent functionality is always enabled + with the now default libavformat demuxer for mp3. Hi-res MP3 seeking. + Enabled when playing from an external MP3 file, as we need to seek to the + very exact position to keep A/V sync. Can be slow especially when seeking + backwards since it has to rewind to the beginning to find an exact frame + position. + +--hr-seek=<off|absolute|always> + Select when to use precise seeks that are not limited to keyframes. Such + seeks require decoding video from the previous keyframe up to the target + position and so can take some time depending on decoding performance. For + some video formats precise seeks are disabled. This option selects the + default choice to use for seeks; it's possible to explicitly override that + default in the definition of key bindings and in slave mode commands. + + :off: Never use precise seeks. + :absolute: Use precise seeks if the seek is to an absolute position in the + file, such as a chapter seek, but not for relative seeks like + the default behavior of arrow keys (default). + :always: Use precise seeks whenever possible. + +--hr-seek-demuxer-offset=<seconds> + This option exists to work around failures to do precise seeks (as in + ``--hr-seek``) caused by bugs or limitations in the demuxers for some file + formats. Some demuxers fail to seek to a keyframe before the given target + position, going to a later position instead. The value of this option is + subtracted from the time stamp given to the demuxer. Thus if you set this + option to 1.5 and try to do a precise seek to 60 seconds, the demuxer is + told to seek to time 58.5, which hopefully reduces the chance that it + erroneously goes to some time later than 60 seconds. The downside of + setting this option is that precise seeks become slower, as video between + the earlier demuxer position and the real target may be unnecessarily + decoded. + +--http-header-fields=<field1,field2> + Set custom HTTP fields when accessing HTTP stream. + + *EXAMPLE*: + + ``mplayer --http-header-fields='Field1: value1','Field2: value2' http://localhost:1234`` + + Will generate HTTP request: + + | GET / HTTP/1.0 + | Host: localhost:1234 + | User-Agent: MPlayer + | Icy-MetaData: 1 + | Field1: value1 + | Field2: value2 + | Connection: close + +--hue=<-100-100> + Adjust the hue of the video signal (default: 0). You can get a colored + negative of the image with this option. Not supported by all video output + drivers. + +--identify + Shorthand for ``--msglevel=identify=4``. Show file parameters in an easily + parseable format. Also prints more detailed information about subtitle and + audio track languages and IDs. In some cases you can get more information + by using ``--msglevel=identify=6``. For example, for a DVD or Blu-ray it + will list the chapters and time length of each title, as well as a disk + ID. Combine this with ``--frames=0`` to suppress all video output. The + wrapper script ``TOOLS/midentify.sh`` suppresses the other MPlayer output + and (hopefully) shellescapes the filenames. + +--idle + Makes MPlayer wait idly instead of quitting when there is no file to play. + Mostly useful in slave mode where MPlayer can be controlled through input + commands (see also ``--slave``). + +--idx + Rebuilds index of files if no index was found, allowing seeking. Useful + with broken/incomplete downloads, or badly created files. Now this is done + automatically by the demuxers used for most video formats, meaning that + this switch has no effect in the typical case. See also ``--forceidx``. + + *NOTE*: This option only works if the underlying media supports seeking + (i.e. not with stdin, pipe, etc). + +--ifo=<file> + Indicate the VOBsub IFO file that will be used to load palette and frame + size for VOBsub subtitles. + +--ignore-start + Ignore the specified starting time for streams in AVI files. This + nullifies stream delays. + +--include=<configuration-file> + Specify configuration file to be parsed after the default ones. + +--initial-audio-sync, --no-initial-audio-sync + When starting a video file or after events such as seeking MPlayer will by + default modify the audio stream to make it start from the same timestamp + as video, by either inserting silence at the start or cutting away the + first samples. Disabling this option makes the player behave like older + MPlayer versions did: video and audio are both started immediately even if + their start timestamps differ, and then video timing is gradually adjusted + if necessary to reach correct synchronization later. + +--input=<commands> + This option can be used to configure certain parts of the input system. + Paths are relative to ``~/.mplayer/``. + + *NOTE*: Autorepeat is currently only supported by joysticks. + + Available commands are: + + conf=<filename> + Specify input configuration file other than the default + ``~/.mplayer/input.conf``. ``~/.mplayer/<filename>`` is assumed if no + full path is given. + + ar-dev=<device> + Device to be used for Apple IR Remote (default is autodetected, Linux + only). + + ar-delay + Delay in milliseconds before we start to autorepeat a key (0 to + disable). + + ar-rate + Number of key presses to generate per second on autorepeat. + + (no)default-bindings + Use the key bindings that MPlayer ships with by default. + + keylist + Prints all keys that can be bound to commands. + + cmdlist + Prints all commands that can be bound to keys. + + js-dev + Specifies the joystick device to use (default: ``/dev/input/js0``). + + file=<filename> + Read commands from the given file. Mostly useful with a FIFO. + See also ``--slave``. + + *NOTE*: When the given file is a FIFO MPlayer opens both ends so you + can do several `echo "seek 10" > mp_pipe` and the pipe will stay + valid. + +--ipv4-only-proxy + Skip any HTTP proxy for IPv6 addresses. It will still be used for IPv4 + connections. + +--joystick, --no-joystick + Enable/disable joystick support. Enabled by default. + +--keepaspect, --no-keepaspect + Keep window aspect ratio when resizing windows. Enabled by default. By + default MPlayer tries to keep the correct video aspect ratio by + instructing the window manager to maintain window aspect when resizing, + and by adding black bars if the window manager nevertheless allows window + shape to change. This option disables window manager aspect hints and + scales the video to completely fill the window without regard for aspect + ratio. + +--key-fifo-size=<2-65000> + Specify the size of the FIFO that buffers key events (default: 7). If it + is too small some events may be lost. The main disadvantage of setting it + to a very large value is that if you hold down a key triggering some + particularly slow command then the player may be unresponsive while it + processes all the queued commands. + +--lavdopts=<option1:option2:...> + Specify libavcodec decoding parameters. Separate multiple options with a + colon. + + *EXAMPLE*: ``--lavdopts=gray:skiploopfilter=all:skipframe=nonref`` + + Available options are: + + bitexact + Only use bit-exact algorithms in all decoding steps (for codec + testing). + + bug=<value> + Manually work around encoder bugs. + + :0: nothing + :1: autodetect bugs (default) + :2: (msmpeg4v3): some old lavc generated msmpeg4v3 files (no + autodetection) + :4: (mpeg4): Xvid interlacing bug (autodetected if fourcc==XVIX) + :8: (mpeg4): UMP4 (autodetected if fourcc==UMP4) + :16: (mpeg4): padding bug (autodetected) + :32: (mpeg4): illegal vlc bug (autodetected per fourcc) + :64: (mpeg4): Xvid and DivX qpel bug (autodetected per + fourcc/version) + :128: (mpeg4): old standard qpel (autodetected per fourcc/version) + :256: (mpeg4): another qpel bug (autodetected per fourcc/version) + :512: (mpeg4): direct-qpel-blocksize bug (autodetected per + fourcc/version) + :1024: (mpeg4): edge padding bug (autodetected per fourcc/version) + + debug=<value> + Display debugging information. + + :0: disabled + :1: picture info + :2: rate control + :4: bitstream + :8: macroblock (MB) type + :16: per-block quantization parameter (QP) + :32: motion vector + :0x0040: motion vector visualization (use ``--no-slices``) + :0x0080: macroblock (MB) skip + :0x0100: startcode + :0x0200: PTS + :0x0400: error resilience + :0x0800: memory management control operations (H.264) + :0x1000: bugs + :0x2000: Visualize quantization parameter (QP), lower QP are tinted + greener. + :0x4000: Visualize block types. + + ec=<value> + Set error concealment strategy. + + :1: Use strong deblock filter for damaged MBs. + :2: iterative motion vector (MV) search (slow) + :3: all (default) + + fast (MPEG-2, MPEG-4, and H.264 only) + Enable optimizations which do not comply to the specification and + might potentially cause problems, like simpler dequantization, simpler + motion compensation, assuming use of the default quantization matrix, + assuming YUV 4:2:0 and skipping a few checks to detect damaged + bitstreams. + + gray + grayscale only decoding (a bit faster than with color) + + idct=<0-99> + For best decoding quality use the same IDCT algorithm for decoding and + encoding. This may come at a price in accuracy, though. + + lowres=<number>[,<w>] + Decode at lower resolutions. Low resolution decoding is not supported + by all codecs, and it will often result in ugly artifacts. This is not + a bug, but a side effect of not decoding at full resolution. + + :0: disabled + :1: 1/2 resolution + :2: 1/4 resolution + :3: 1/8 resolution + + If <w> is specified lowres decoding will be used only if the width of + the video is major than or equal to <w>. + + o=<key>=<value>[,<key>=<value>[,...]] + Pass AVOptions to libavcodec decoder. Note, a patch to make the o= + unneeded and pass all unknown options through the AVOption system is + welcome. A full list of AVOptions can be found in the FFmpeg manual. + + *EXAMPLE*: ``o=debug=pict`` + + sb=<number> (MPEG-2 only) + Skip the given number of macroblock rows at the bottom. + + st=<number> (MPEG-2 only) + Skip the given number of macroblock rows at the top. + + skiploopfilter=<skipvalue> (H.264 only) + Skips the loop filter (AKA deblocking) during H.264 decoding. Since + the filtered frame is supposed to be used as reference for decoding + dependent frames this has a worse effect on quality than not doing + deblocking on e.g. MPEG-2 video. But at least for high bitrate HDTV + this provides a big speedup with no visible quality loss. + + <skipvalue> can be one of the following: + + :none: Never skip. + :default: Skip useless processing steps (e.g. 0 size packets in AVI). + :nonref: Skip frames that are not referenced (i.e. not used for + decoding other frames, the error cannot "build up"). + :bidir: Skip B-Frames. + :nonkey: Skip all frames except keyframes. + :all: Skip all frames. + + skipidct=<skipvalue> (MPEG-1/2 only) + Skips the IDCT step. This degrades quality a lot of in almost all + cases (see skiploopfilter for available skip values). + + skipframe=<skipvalue> + Skips decoding of frames completely. Big speedup, but jerky motion and + sometimes bad artifacts (see skiploopfilter for available skip + values). + + threads=<0-16> + Number of threads to use for decoding. Whether threading is actually + supported depends on codec. 0 means autodetect number of cores on the + machine and use that, up to the maximum of 16. (default: 0) + + vismv=<value> + Visualize motion vectors. + + :0: disabled + :1: Visualize forward predicted MVs of P-frames. + :2: Visualize forward predicted MVs of B-frames. + :4: Visualize backward predicted MVs of B-frames. + + vstats + Prints some statistics and stores them in ``./vstats_*.log``. + +--lavfdopts=<option1:option2:...> + Specify parameters for libavformat demuxers (``--demuxer=lavf``). Separate + multiple options with a colon. + + Available suboptions are: + + analyzeduration=<value> + Maximum length in seconds to analyze the stream properties. + format=<value> + Force a specific libavformat demuxer. + o=<key>=<value>[,<key>=<value>[,...]] + Pass AVOptions to libavformat demuxer. + + Note, a patch to make the *o=* unneeded and pass all unknown options + through the AVOption system is welcome. A full list of AVOptions can + be found in the FFmpeg manual. Note that some options may conflict + with MPlayer options. + + *EXAMPLE*: ``o=fflags=+ignidx`` + probesize=<value> + Maximum amount of data to probe during the detection phase. In the + case of MPEG-TS this value identifies the maximum number of TS packets + to scan. + cryptokey=<hexstring> + Encryption key the demuxer should use. This is the raw binary data of + the key converted to a hexadecimal string. + +--lirc, --no-lirc + Enable/disable LIRC support. Enabled by default. + +--lircconf=<filename> + (LIRC only) + Specifies a configuration file for LIRC (default: ``~/.lircrc``). + +--list-options + Prints all available options. + +--list-properties + Print a list of the available properties. + +--loadidx=<filename> + The file from which to read the video index data saved by ``--saveidx``. + This index will be used for seeking, overriding any index data contained + in the AVI itself. MPlayer will not prevent you from loading an index file + generated from a different AVI, but this is sure to cause unfavorable + results. + + *NOTE*: This option is obsolete now that MPlayer has OpenDML support. + +--loop=<number> + Loops movie playback <number> times. 0 means forever. + +--mc=<seconds/frame> + Maximum A-V sync correction per frame (in seconds) + +--mf=<option1:option2:...> + Used when decoding from multiple PNG or JPEG files. + + Available options are: + + :w=<value>: input file width (default: autodetect) + :h=<value>: input file height (default: autodetect) + :fps=<value>: output fps (default: 25) + :type=<value>: input file type (available: jpeg, png, tga, sgi) + +--mixer=<device> + Use a mixer device different from the default ``/dev/mixer``. For ALSA + this is the mixer name. + +--mixer-channel=<name[,index]> + (``--ao=oss`` and ``--ao=alsa`` only) + This option will tell MPlayer to use a different channel for controlling + volume than the default PCM. Options for OSS include **vol, pcm, line**. + For a complete list of options look for ``SOUND_DEVICE_NAMES`` in + ``/usr/include/linux/soundcard.h``. For ALSA you can use the names e.g. + alsamixer displays, like **Master, Line, PCM**. + + *NOTE*: ALSA mixer channel names followed by a number must be specified in + the <name,number> format, i.e. a channel labeled 'PCM 1' in alsamixer must + be converted to PCM,1. + +--monitor-dotclock=<range[,range,...]> + Used with ``--vo=fbdev`` and ``--vo=vesa`` only. + Specify the dotclock or pixelclock range of the monitor. + +--monitor-hfreq=<range[,range,...]> + Used with ``--vo=fbdev`` and ``--vo=vesa`` only. + Specify the horizontal frequency range of the monitor. + +--monitor-vfreq=<range[,range,...]> + Used with ``--vo=fbdev`` and ``--vo=vesa`` only. + Specify the vertical frequency range of the monitor. + +--monitoraspect=<ratio> + Set the aspect ratio of your monitor or TV screen. A value of 0 disables a + previous setting (e.g. in the config file). Overrides the + ``--monitorpixelaspect`` setting if enabled. + See also ``--monitorpixelaspect`` and ``--aspect``. + + *EXAMPLE*: + + - ``--monitoraspect=4:3`` or ``--monitoraspect=1.3333`` + - ``--monitoraspect=16:9`` or ``--monitoraspect=1.7777`` + +--monitorpixelaspect=<ratio> + Set the aspect of a single pixel of your monitor or TV screen (default: + 1). A value of 1 means square pixels (correct for (almost?) all LCDs). See + also ``--monitoraspect`` and ``--aspect``. + +--mouse-movements + Permit MPlayer to receive pointer events reported by the video output + driver. Necessary to select the buttons in DVD menus. Supported for + X11-based VOs (x11, xv, etc) and the gl, direct3d and corevideo VOs. + +--mouseinput, --no-mouseinput + Enabled by default. Disable mouse button press/release input + (mozplayerxp's context menu relies on this option). + +--msgcharset=<charset> + Convert console messages to the specified character set (default: + autodetect). Text will be in the encoding specified with the --charset + configure option. Set this to "noconv" to disable conversion (for e.g. + iconv problems). + + *NOTE*: The option takes effect after command line parsing has finished. + The ``MPLAYER_CHARSET`` environment variable can help you get rid of the + first lines of garbled output. + +--msgcolor + Enable colorful console output on terminals that support ANSI color. + +--msglevel=<module1=level1:module2=level2:...> + Control verbosity directly for each module. The *all* module changes the + verbosity of all the modules not explicitly specified on the command line. + + See ``--msglevel=help`` for a list of all modules. + + *NOTE*: Some messages are printed before the command line is parsed and + are therefore not affected by ``--msglevel``. To control these messages + you have to use the ``MPLAYER_VERBOSE`` environment variable; see its + description below for details. + + Available levels: + + :-1: complete silence + :0: fatal messages only + :1: error messages + :2: warning messages + :3: short hints + :4: informational messages + :5: status messages (default) + :6: verbose messages + :7: debug level 2 + :8: debug level 3 + :9: debug level 4 + +--msgmodule + Prepend module name in front of each console message. + +--name + Set the window class name for X11-based video output methods. + +--ni + (Internal AVI demuxer which is not used by default only) + Force usage of non-interleaved AVI parser (fixes playback of some bad AVI + files). + +--noaspect + Ignore aspect ratio information from video file and assume the video has + square pixels. See also ``--aspect``. + +--nobps + (Internal AVI demuxer which is not used by default only) + Do not use average byte/second value for A-V sync. Helps with some AVI + files with broken header. + +--nocache + Turn off input stream caching. See ``--cache``. + +--nocolorkey + Disables colorkeying. Only supported by the fbdev, svga, vesa, xmga, + xover, xv (see ``--vo=xv:ck``) and directx video output drivers. + +--noconfig=<options> + Do not parse selected configuration files. + + *NOTE*: If ``--include`` or ``--use-filedir-conf`` options are specified + at the command line, they will be honoured. + + Available options are: + + :all: all configuration files + :system: system configuration file + :user: user configuration file + +--noidx + Do not use index present in the file even if one is present. + +--nosound + Do not play sound. Useful for benchmarking. + +--nosub + Disables any otherwise auto-selected internal subtitles (as e.g. the + Matroska/mkv demuxer supports). Use ``--no-autosub`` to disable the + loading of external subtitle files. + +--novideo + Do not play video. With some demuxers this may not work. In those cases + you can try ``--vc=null --vo=null`` instead; but ``--vc=null`` is always + unreliable. + +--ontop + Makes the player window stay on top of other windows. Supported by video + output drivers which use X11, except SDL, as well as directx, corevideo + and ggi. + +--ordered-chapters, --no-ordered-chapters + Enabled by default. + Disable support for Matroska ordered chapters. MPlayer will not load or + search for video segments from other files, and will also ignore any + chapter order specified for the main file. + +--osd-duration=<time> + Set the duration of the OSD messages in ms (default: 1000). + +--osd-fractions=<0-2> + Set how fractions of seconds of the current timestamp are printed on the + OSD: + + :0: Do not display fractions (default). + :1: Show the first two decimals. + :2: Show approximate frame count within current second. This frame count + is not accurate but only an approximation. For variable fps, the + approximation is known to be far off the correct frame count. + +--osdlevel=<0-3> + Specifies which mode the OSD should start in. + + :0: subtitles only + :1: volume + seek (default) + :2: volume + seek + timer + percentage + :3: volume + seek + timer + percentage + total time + +--overlapsub + Allows the next subtitle to be displayed while the current one is still + visible (default is to enable the support only for specific formats). + +--panscan=<0.0-1.0> + Enables pan-and-scan functionality (cropping the sides of e.g. a 16:9 + movie to make it fit a 4:3 display without black bands). The range + controls how much of the image is cropped. May not work with all video + output drivers. + + *NOTE*: Values between -1 and 0 are allowed as well, but highly + experimental and may crash or worse. Use at your own risk! + +--panscanrange=<-19.0-99.0> + (experimental) + Change the range of the pan-and-scan functionality (default: 1). Positive + values mean multiples of the default range. Negative numbers mean you can + zoom in up to a factor of ``--panscanrange=+1``. E.g. ``--panscanrange=-3`` + allows a zoom factor of up to 4. This feature is experimental. Do not + report bugs unless you are using ``--vo=gl``. + +--passwd=<password> + Used with some network protocols. Specify password for HTTP authentication. + See also ``--user``. + +--playing-msg=<string> + Print out a string before starting playback. The following expansions are + supported: + + ${NAME} + Expand to the value of the property ``NAME``. + ?(NAME:TEXT) + Expand ``TEXT`` only if the property ``NAME`` is available. + ?(!NAME:TEXT) + Expand ``TEXT`` only if the property ``NAME`` is not available. + +--playlist=<filename> + Play files according to a playlist file (ASX, Winamp, SMIL, or + one-file-per-line format). + + *WARNING*: The way MPlayer parses and uses playlist files is not safe + against maliciously constructed files. Such files may trigger harmful + actions. This has been the case for all MPlayer versions, but + unfortunately this fact was not well documented earlier, and some people + have even misguidedly recommended use of ``--playlist`` with untrusted + sources. Do NOT use ``--playlist`` with random internet sources or files + you don't trust! + + *NOTE*: This option is considered an entry so options found after it will + apply only to the elements of this playlist. + + FIXME: This needs to be clarified and documented thoroughly. + +--pp=<quality> + This option only works when decoding video with Win32 DirectShow DLLs with + internal postprocessingi routines. See also ``--vf=pp``. Set the DLL + postprocess level. The valid range of ``--pp`` values varies by codec, it + is mostly 0-6, where 0=disable, 6=slowest/best. + +--pphelp + Show a summary about the available postprocess filters and their usage. + See also ``--vf=pp``. + +--prefer-ipv4 + Use IPv4 on network connections. Falls back on IPv6 automatically. + +--prefer-ipv6 + Use IPv6 on network connections. Falls back on IPv4 automatically. + +--priority=<prio> + (Windows only.) + Set process priority for MPlayer according to the predefined priorities + available under Windows. + + Possible values of <prio>: + idle|belownormal|normal|abovenormal|high|realtime + + *WARNING*: Using realtime priority can cause system lockup. + +--profile=<profile1,profile2,...> + Use the given profile(s), ``--profile=help`` displays a list of the + defined profiles. + +--psprobe=<bytecount> + When playing an MPEG-PS or MPEG-PES streams, this option lets you specify + how many bytes in the stream you want MPlayer to scan in order to identify + the video codec used. This option is needed to play EVO or VDR files + containing H.264 streams. + +--pts-association-mode=<auto|decode|sort> + Select the method used to determine which container packet timestamp + corresponds to a particular output frame from the video decoder. Normally + you shouldn't need to change this option. + + :auto: Try to pick a working mode from the ones below automatically + (default) + :decoder: Use decoder reordering functionality. + :sort: Maintain a buffer of unused pts values and use the lowest value + for the frame. + +--pvr=<option1:option2:...> + This option tunes various encoding properties of the PVR capture module. + It has to be used with any hardware MPEG encoder based card supported by + the V4L2 driver. The Hauppauge WinTV PVR-150/250/350/500 and all IVTV + based cards are known as PVR capture cards. Be aware that only Linux + 2.6.18 kernel and above is able to handle MPEG stream through V4L2 layer. + For hardware capture of an MPEG stream and watching it with MPlayer, use + ``pvr://`` as a movie URL. + + Available options are: + + aspect=<0-3> + Specify input aspect ratio: + + :0: 1:1 + :1: 4:3 (default) + :2: 16:9 + :3: 2.21:1 + + arate=<32000-48000> + Specify encoding audio rate (default: 48000 Hz, available: 32000, + 44100 and 48000 Hz). + + alayer=<1-3> + Specify MPEG audio layer encoding (default: 2). + + abitrate=<32-448> + Specify audio encoding bitrate in kbps (default: 384). + + amode=<value> + Specify audio encoding mode. Available preset values are 'stereo', + 'joint_stereo', 'dual' and 'mono' (default: stereo). + + vbitrate=<value> + Specify average video bitrate encoding in Mbps (default: 6). + + vmode=<value> + Specify video encoding mode: + + :vbr: Variable BitRate (default) + :cbr: Constant BitRate + + vpeak=<value> + Specify peak video bitrate encoding in Mbps (only useful for VBR + encoding, default: 9.6). + + fmt=<value> + Choose an MPEG format for encoding: + + :ps: MPEG-2 Program Stream (default) + :ts: MPEG-2 Transport Stream + :mpeg1: MPEG-1 System Stream + :vcd: Video CD compatible stream + :svcd: Super Video CD compatible stream + :dvd: DVD compatible stream + +--quiet + Make console output less verbose; in particular, prevents the status line + (i.e. A: 0.7 V: 0.6 A-V: 0.068 ...) from being displayed. Particularly + useful on slow terminals or broken ones which do not properly handle + carriage return (i.e. \\r). + +--radio=<option1:option2:...> + These options set various parameters of the radio capture module. For + listening to radio with MPlayer use ``radio://<frequency>`` (if channels + option is not given) or ``radio://<channel_number>`` (if channels option + is given) as a movie URL. You can see allowed frequency range by running + MPlayer with ``-v``. To start the grabbing subsystem, use + ``radio://<frequency or channel>/capture``. If the capture keyword is not + given you can listen to radio using the line-in cable only. Using capture + to listen is not recommended due to synchronization problems, which makes + this process uncomfortable. + + Available options are: + + device=<value> + Radio device to use (default: ``/dev/radio0`` for Linux and + ``/dev/tuner0`` for \*BSD). + + driver=<value> + Radio driver to use (default: v4l2 if available, otherwise v4l). + Currently, v4l and v4l2 drivers are supported. + + volume=<0..100> + sound volume for radio device (default 100) + + freq_min=<value> (\*BSD BT848 only) + minimum allowed frequency (default: 87.50) + + freq_max=<value> (\*BSD BT848 only) + maximum allowed frequency (default: 108.00) + + channels=<frequency>-<name>,<frequency>-<name>,... + Set channel list. Use _ for spaces in names (or play with quoting ;-). + The channel names will then be written using OSD and the slave + commands radio_step_channel and radio_set_channel will be usable for a + remote control (see LIRC). If given, number in movie URL will be + treated as channel position in channel list. + + *EXAMPLE*: ``radio://1``, ``radio://104.4``, ``radio_set_channel 1`` + + adevice=<value> (radio capture only) + Name of device to capture sound from. Without such a name capture will + be disabled, even if the capture keyword appears in the URL. For ALSA + devices use it in the form ``hw=<card>.<device>``. If the device name + contains a '=', the module will use ALSA to capture, otherwise OSS. + + arate=<value> (radio capture only) + Rate in samples per second (default: 44100). + + *NOTE*: When using audio capture set also ``--rawaudio=rate=<value>`` + option with the same value as arate. If you have problems with sound + speed (runs too quickly), try to play with different rate values (e.g. + 48000, 44100, 32000,...). + + achannels=<value> (radio capture only) + Number of audio channels to capture. + +--rawaudio=<option1:option2:...> + This option lets you play raw audio files. You have to use + ``--demuxer=rawaudio`` as well. It may also be used to play audio CDs + which are not 44kHz 16-bit stereo. For playing raw AC-3 streams use + ``--rawaudio=format=0x2000 --demuxer=rawaudio``. + + Available options are: + + :channels=<value>: number of channels + :rate=<value>: rate in samples per second + :samplesize=<value>: sample size in bytes + :bitrate=<value>: bitrate for rawaudio files + :format=<value>: fourcc in hex + +--rawvideo=<option1:option2:...> + This option lets you play raw video files. You have to use + ``--demuxer=rawvideo`` as well. + + Available options are: + + :fps=<value>: rate in frames per second (default: 25.0) + :sqcif|qcif|cif|4cif|pal|ntsc: set standard image size + :w=<value>: image width in pixels + :h=<value>: image height in pixels + :i420|yv12|yuy2|y8: set colorspace + :format=<value>: colorspace (fourcc) in hex or string + constant. Use ``--rawvideo=format=help`` + for a list of possible strings. + :size=<value>: frame size in Bytes + + *EXAMPLE*: + + - ``mplayer foreman.qcif --demuxer=rawvideo --rawvideo qcif`` Play the + famous "foreman" sample video. + + - ``mplayer sample-720x576.yuv --demuxer=rawvideo --rawvideo w=720:h=576`` + Play a raw YUV sample. + +--really-quiet + Display even less output and status messages than with ``--quiet``. + +--referrer=<string> + Specify a referrer path or URL for HTTP requests. + +--refreshrate=<Hz> + Set the monitor refreshrate in Hz. Currently only supported by + ``--vo=directx`` combined with the ``--vm`` option. + +--reuse-socket + (udp:// only) + Allows a socket to be reused by other processes as soon as it is closed. + +--rootwin + Play movie in the root window (desktop background). Desktop background + images may cover the movie window, though. May not work with all video + output drivers. + +--rtc + Turns on usage of the Linux RTC (realtime clock - ``/dev/rtc``) as timing + mechanism. This wakes up the process every 1/1024 seconds to check the + current time. Useless with modern Linux kernels configured for desktop use + as they already wake up the process with similar accuracy when using + normal timed sleep. + +--rtc-device=<device> + Use the specified device for RTC timing. + +--rtsp-destination + Used with ``rtsp://`` URLs to force the destination IP address to be + bound. This option may be useful with some RTSP server which do not send + RTP packets to the right interface. If the connection to the RTSP server + fails, use ``-v`` to see which IP address MPlayer tries to bind to and try + to force it to one assigned to your computer instead. + +--rtsp-port + Used with ``rtsp://`` URLs to force the client's port number. This option + may be useful if you are behind a router and want to forward the RTSP + stream from the server to a specific client. + +--rtsp-stream-over-http + (LIVE555 only) + Used with ``http://`` URLs to specify that the resulting incoming RTP and + RTCP packets be streamed over HTTP. + +--rtsp-stream-over-tcp + (LIVE555 and NEMESI only) + 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.live555.com/mplayer/). + +--saturation=<-100-100> + Adjust the saturation of the video signal (default: 0). You can get + grayscale output with this option. Not supported by all video output + drivers. + +--saveidx=<filename> + Force index rebuilding and dump the index to <filename>. Currently this + only works with AVI files. + + *NOTE*: This option is obsolete now that MPlayer has OpenDML support. + +--sb=<n> + Seek to byte position. Useful for playback from CD-ROM images or VOB files + with junk at the beginning. See also ``--ss``. + +--screenh=<pixels> + Specify the screen height for video output drivers which do not know the + screen resolution like fbdev, x11 and TV-out. + +--screenw=<pixels> + Specify the screen width for video output drivers which do not know the + screen resolution like fbdev, x11 and TV-out. + +--show-profile=<profile> + Show the description and content of a profile. + +--shuffle + Play files in random order. + +--sid=<ID> + Display the subtitle stream specified by <ID> (0-31). MPlayer prints the + available subtitle IDs when run in verbose (``-v``) mode. If you cannot + select one of the subtitles on a DVD, try ``--vobsubid``. + See also ``--slang``, ``--vobsubid``, ``--nosub``. + +--slang=<languagecode[,languagecode,...]> + Specify a priority list of subtitle languages to use. Different container + formats employ different language codes. DVDs use ISO 639-1 two letter + language codes, Matroska uses ISO 639-2 three letter language codes while + OGM uses a free-form identifier. MPlayer prints the available languages + when run in verbose (``-v``) mode. See also ``--sid``. + + *EXAMPLE*: + + - ``mplayer dvd://1 --slang=hu,en`` chooses the Hungarian subtitle track on + a DVD and falls back on English if Hungarian is not available. + - ``mplayer --slang=jpn example.mkv`` plays a Matroska file with Japanese + subtitles. + +--slave + Switches on slave mode, in which MPlayer works as a backend for other + programs. Instead of intercepting keyboard events, MPlayer will read + commands separated by a newline (\n) from stdin. See also ``--input``, + suboption ``file``. + + *NOTE*: See ``DOCS/tech/slave.txt`` for a description of slave commands. + Also, this is not intended to disable other inputs, e.g. via the video + window. If you want to do that, use something like + ``--input=nodefault-bindings:conf=/dev/null``. + +--slices, --no-slices + Drawing video by 16-pixel height slices/bands, instead draws the + whole frame in a single run. May be faster or slower, depending on video + card and available cache. It has effect only with libmpeg2 and libavcodec + codecs. Enabled by default if applicable; usually disabled when threading + is used. + +--softsleep + Time frames by repeatedly checking the current time instead of asking + the kernel to wake up MPlayer at the correct time. Useful if your kernel + timing is imprecise and you cannot use the RTC either. Comes at the + price of higher CPU consumption. + +--softvol + Force the use of the software mixer, instead of using the sound card + mixer. + +--softvol-max=<10.0-10000.0> + Set the maximum amplification level in percent (default: 110). A value of + 200 will allow you to adjust the volume up to a maximum of double the + current level. With values below 100 the initial volume (which is 100%) + will be above the maximum, which e.g. the OSD cannot display correctly. + +--speed=<0.01-100> + Slow down or speed up playback by the factor given as parameter. + +--spuaa=<mode> + Antialiasing/scaling mode for DVD/VOBsub. A value of 16 may be added to + <mode> in order to force scaling even when original and scaled frame size + already match. This can be employed to e.g. smooth subtitles with gaussian + blur. Available modes are: + + :0: none (fastest, very ugly) + :1: approximate (broken?) + :2: full (slow) + :3: bilinear (default, fast and not too bad) + :4: uses swscaler gaussian blur (looks very good) + +--spualign=<-1-2> + Specify how SPU (DVD/VOBsub) subtitles should be aligned. + + :-1: Original position + :0: Align at top (original behavior, default). + :1: Align at center. + :2: Align at bottom. + +--spugauss=<0.0-3.0> + Variance parameter of gaussian used by ``--spuaa=4``. Higher means more + blur (default: 1.0). + +--srate=<Hz> + Select the output sample rate to be used (of course sound cards have + limits on this). If the sample frequency selected is different from that + of the current media, the resample or lavcresample audio filter will be + inserted into the audio filter layer to compensate for the difference. The + type of resampling can be controlled by the ``--af-adv`` option. + +--ss=<time> + Seek to given time position. + + *EXAMPLE*: + + ``--ss=56`` + Seeks to 56 seconds. + ``--ss=01:10:00`` + Seeks to 1 hour 10 min. + +--ssf=<mode> + Specifies software scaler parameters. + + :lgb=<0-100>: gaussian blur filter (luma) + :cgb=<0-100>: gaussian blur filter (chroma) + :ls=<-100-100>: sharpen filter (luma) + :cs=<-100-100>: sharpen filter (chroma) + :chs=<h>: chroma horizontal shifting + :cvs=<v>: chroma vertical shifting + + *EXAMPLE*: ``--vf=scale=-ssf=lgb=3.0`` + +--sstep=<sec> + Skip <sec> seconds after every frame. Since MPlayer will only seek to + the next keyframe unless you use ``--hr-seek`` this may be inexact. + +--stereo=<mode> + Select type of MP2/MP3 stereo output. + + :0: stereo + :1: left channel + :2: right channel + +--stop-xscreensaver + (X11 only) + Turns off xscreensaver at startup and turns it on again on exit. If your + screensaver supports neither the XSS nor XResetScreenSaver API please use + ``--heartbeat-cmd`` instead. + +--sub=<subtitlefile1,subtitlefile2,...> + Use/display these subtitle files. Only one file can be displayed at the + same time. + +--sub-bg-alpha=<0-255> + Specify the alpha channel value for subtitles and OSD backgrounds. Big + values mean more transparency. 0 means completely transparent. + +--sub-bg-color=<0-255> + Specify the color value for subtitles and OSD backgrounds. Currently + subtitles are grayscale so this value is equivalent to the intensity of + the color. 255 means white and 0 black. + +--sub-demuxer=<[+]name> + Force subtitle demuxer type for ``--subfile``. Using a '+' before the name + will force it, this will skip some checks! Give the demuxer name as + printed by ``--sub-demuxer=help``. + +--sub-fuzziness=<mode> + Adjust matching fuzziness when searching for subtitles: + + :0: exact match + :1: Load all subs containing movie name. + :2: Load all subs in the current and ``--sub-paths`` directories. + +--sub-no-text-pp + Disables any kind of text post processing done after loading the + subtitles. Used for debug purposes. + +--sub-paths=<path1:path2:...> + Specify extra directories where to search for subtitles matching the + video. Multiple directories can be separated by ":" (";" on Windows). + Paths can be relative or absolute. Relative paths are interpreted relative + to video file directory. + + *EXAMPLE*: Assuming that ``/path/to/movie/movie.avi`` is played and + ``--sub-paths=sub:subtitles:/tmp/subs`` is specified, MPlayer searches for + subtitle files in these directories: + + - ``/path/to/movie/`` + - ``/path/to/movie/sub/`` + - ``/path/to/movie/subtitles/`` + - ``/tmp/subs/`` + - ``~/.mplayer/sub/`` + +--subalign=<0-2> + Specify which edge of the subtitles should be aligned at the height given + by ``--subpos``. + + :0: Align subtitle top edge (original behavior). + :1: Align subtitle center. + :2: Align subtitle bottom edge (default). + +--subcc=<1-4> + Display DVD Closed Caption (CC) subtitles from the specified channel. + These are *not* the VOB subtitles, these are special ASCII subtitles for + the hearing impaired encoded in the VOB userdata stream on most region 1 + DVDs. CC subtitles have not been spotted on DVDs from other regions so + far. + +--subcp=<codepage> + If your system supports ``iconv(3)``, you can use this option to specify + the subtitle codepage. + + *EXAMPLE*: + - ``--subcp=latin2`` + - ``--subcp=cp1250`` + + If the player was compiled with ENCA support you can use special syntax + to use that. + + ``--subcp=enca:<language>:<fallback codepage>`` + + You can specify your language using a two letter language code to make + ENCA detect the codepage automatically. If unsure, enter anything and + watch mplayer ``-v`` output for available languages. Fallback codepage + specifies the codepage to use, when autodetection fails. + + *EXAMPLE*: + + - ``--subcp=enca:cs:latin2`` guess the encoding, assuming the subtitles + are Czech, fall back on latin 2, if the detection fails. + - ``--subcp=enca:pl:cp1250`` guess the encoding for Polish, fall back on + cp1250. + +--subdelay=<sec> + Delays subtitles by <sec> seconds. Can be negative. + +--subfile=<filename> + (BETA CODE) + Currently useless. Same as ``--audiofile``, but for subtitle streams + (OggDS?). + +--subfont=<pattern-or-filename> + Sets the subtitle font (see ``--font``). If no ``--subfont`` is given, + ``--font`` is used for subtitles too. + +--subfont-autoscale=<0-3> + Sets the autoscale mode. + + *NOTE*: 0 means that text scale and OSD scale are font heights in points. + + The mode can be: + + :0: no autoscale + :1: proportional to movie height + :2: proportional to movie width + :3: proportional to movie diagonal (default) + +--subfont-blur=<0-8> + Sets the font blur radius (default: 2). + +--subfont-encoding=<value> + Sets the font encoding. When set to 'unicode', all the glyphs from the + font file will be rendered and unicode will be used (default: unicode). + +--subfont-osd-scale=<0-100> + Sets the autoscale coefficient of the OSD elements (default: 4). + +--subfont-outline=<0-8> + Sets the font outline thickness (default: 2). + +--subfont-text-scale=<0-100> + Sets the subtitle text autoscale coefficient as percentage of the screen + size (default: 3.5). + +--subfps=<rate> + Specify the framerate of the subtitle file (default: movie fps). + + *NOTE*: <rate> > movie fps speeds the subtitles up for frame-based + subtitle files and slows them down for time-based ones. + +--subpos=<0-100> + Specify the position of subtitles on the screen. The value is the vertical + position of the subtitle in % of the screen height. + Can be useful with ``--vf=expand``. + +--subwidth=<10-100> + Specify the maximum width of subtitles on the screen. Useful for TV-out. + The value is the width of the subtitle in % of the screen width. + +--sws=<n> + Specify the software scaler algorithm to be used with the ``--zoom`` + option. This affects video output drivers which lack hardware + acceleration, e.g. x11. See also ``--vf=scale`` and ``--zoom``. + + Available types are: + + :0: fast bilinear + :1: bilinear + :2: bicubic (good quality) (default) + :3: experimental + :4: nearest neighbor (bad quality) + :5: area + :6: luma bicubic / chroma bilinear + :7: gauss + :8: sincR + :9: lanczos + :10: natural bicubic spline + + *NOTE*: Some ``--sws`` options are tunable. The description of the scale + video filter has further information. + +--term-osd, --no-term-osd + Display OSD messages on the console when no video output is available. + Enabled by default. + +--term-osd-esc=<string> + Specify the escape sequence to use before writing an OSD message on the + console. The escape sequence should move the pointer to the beginning of + the line used for the OSD and clear it (default: ``^[[A\r^[[K``). + +--title + Set the window title. Supported by X11-based video output drivers. + See also ``--use-filename-title``. + +--tskeepbroken + Tells MPlayer not to discard TS packets reported as broken in the stream. + Sometimes needed to play corrupted MPEG-TS files. + +--tsprobe=<bytecount> + When playing an MPEG-TS stream, this option lets you specify how many + bytes in the stream you want MPlayer to search for the desired audio and + video IDs. + +--tsprog=<1-65534> + When playing an MPEG-TS stream, you can specify with this option which + program (if present) you want to play. Can be used with ``--vid`` and + ``--aid``. + +--tv=<option1:option2:...> + This option tunes various properties of the TV capture module. For + watching TV with MPlayer, use ``tv://`` or ``tv://<channel_number>`` or + even ``tv://<channel_name>`` (see option channels for channel_name below) + as a movie URL. You can also use ``tv:///<input_id>`` to start watching a + movie from a composite or S-Video input (see option input for details). + + Available options are: + + noaudio + no sound + + automute=<0-255> (v4l and v4l2 only) + If signal strength reported by device is less than this value, audio + and video will be muted. In most cases automute=100 will be enough. + Default is 0 (automute disabled). + + driver=<value> + See ``--tv=driver=help`` for a list of compiled-in TV input drivers. + available: dummy, v4l, v4l2, bsdbt848 (default: autodetect) + + device=<value> + Specify TV device (default: ``/dev/video0``). NOTE: For the bsdbt848 + driver you can provide both bktr and tuner device names separating + them with a comma, tuner after bktr (e.g. ``--tv + device=/dev/bktr1,/dev/tuner1``). + + input=<value> + Specify input (default: 0 (TV), see console output for available + inputs). + + freq=<value> + Specify the frequency to set the tuner to (e.g. 511.250). Not + compatible with the channels parameter. + + outfmt=<value> + Specify the output format of the tuner with a preset value supported + by the V4L driver (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420) + or an arbitrary format given as hex value. Try outfmt=help for a list + of all available formats. + + width=<value> + output window width + + height=<value> + output window height + + fps=<value> + framerate at which to capture video (frames per second) + + buffersize=<value> + maximum size of the capture buffer in megabytes (default: dynamical) + + norm=<value> + For bsdbt848 and v4l, PAL, SECAM, NTSC are available. For v4l2, see + the console output for a list of all available norms, also see the + normid option below. + + normid=<value> (v4l2 only) + Sets the TV norm to the given numeric ID. The TV norm depends on the + capture card. See the console output for a list of available TV norms. + + channel=<value> + Set tuner to <value> channel. + + chanlist=<value> + available: argentina, australia, china-bcast, europe-east, + europe-west, france, ireland, italy, japan-bcast, japan-cable, + newzealand, russia, southafrica, us-bcast, us-cable, us-cable-hrc + + channels=<chan>-<name>[=<norm>],<chan>-<name>[=<norm>],... + Set names for channels. + + *NOTE*: If <chan> is an integer greater than 1000, it will be treated + as frequency (in kHz) rather than channel name from frequency table. + Use _ for spaces in names (or play with quoting ;-). The channel names + will then be written using OSD, and the slave commands + tv_step_channel, tv_set_channel and tv_last_channel will be usable for + a remote control (see LIRC). Not compatible with the frequency + parameter. + + *NOTE*: The channel number will then be the position in the 'channels' + list, beginning with 1. + + *EXAMPLE*: ``tv://1``, ``tv://TV1``, ``tv_set_channel 1``, + ``tv_set_channel TV1`` + + [brightness|contrast|hue|saturation]=<-100-100> + Set the image equalizer on the card. + + audiorate=<value> + Set input audio sample rate. + + forceaudio + Capture audio even if there are no audio sources reported by v4l. + + alsa + Capture from ALSA. + + amode=<0-3> + Choose an audio mode: + + :0: mono + :1: stereo + :2: language 1 + :3: language 2 + + forcechan=<1-2> + By default, the count of recorded audio channels is determined + automatically by querying the audio mode from the TV card. This option + allows forcing stereo/mono recording regardless of the amode option + and the values returned by v4l. This can be used for troubleshooting + when the TV card is unable to report the current audio mode. + + adevice=<value> + Set an audio device. <value> should be ``/dev/xxx`` for OSS and a + hardware ID for ALSA. You must replace any ':' by a '.' in the + hardware ID for ALSA. + + audioid=<value> + Choose an audio output of the capture card, if it has more than one. + + [volume|bass|treble|balance]=<0-65535> (v4l1) + + [volume|bass|treble|balance]=<0-100> (v4l2) + These options set parameters of the mixer on the video capture card. + They will have no effect, if your card does not have one. For v4l2 50 + maps to the default value of the control, as reported by the driver. + + gain=<0-100> (v4l2) + Set gain control for video devices (usually webcams) to the desired + value and switch off automatic control. A value of 0 enables automatic + control. If this option is omitted, gain control will not be modified. + + immediatemode=<bool> + A value of 0 means capture and buffer audio and video together. A + value of 1 (default) means to do video capture only and let the audio + go through a loopback cable from the TV card to the sound card. + + mjpeg + Use hardware MJPEG compression (if the card supports it). When using + this option, you do not need to specify the width and height of the + output window, because MPlayer will determine it automatically from + the decimation value (see below). + + decimation=<1|2|4> + choose the size of the picture that will be compressed by hardware + MJPEG compression: + + :1: full size + + - 704x576 PAL + - 704x480 NTSC + + :2: medium size + + - 352x288 PAL + - 352x240 NTSC + + :4: small size + + - 176x144 PAL + - 176x120 NTSC + + quality=<0-100> + Choose the quality of the JPEG compression (< 60 recommended for full + size). + + tdevice=<value> + Specify TV teletext device (example: ``/dev/vbi0``) (default: none). + + tformat=<format> + Specify TV teletext display format (default: 0): + + :0: opaque + :1: transparent + :2: opaque with inverted colors + :3: transparent with inverted colors + + tpage=<100-899> + Specify initial TV teletext page number (default: 100). + + tlang=<-1-127> + Specify default teletext language code (default: 0), which will be + used as primary language until a type 28 packet is received. Useful + when the teletext system uses a non-latin character set, but language + codes are not transmitted via teletext type 28 packets for some + reason. To see a list of supported language codes set this option to + -1. + + hidden_video_renderer (dshow only) + Terminate stream with video renderer instead of Null renderer + (default: off). Will help if video freezes but audio does not. + + *NOTE*: May not work with ``--vo=directx`` and ``--vf=crop`` + combination. + + hidden_vp_renderer (dshow only) + Terminate VideoPort pin stream with video renderer instead of removing + it from the graph (default: off). Useful if your card has a VideoPort + pin and video is choppy. + + *NOTE*: May not work with ``--vo=directx`` and ``--vf=crop`` + combination. + + system_clock (dshow only) + Use the system clock as sync source instead of the default graph clock + (usually the clock from one of the live sources in graph). + + normalize_audio_chunks (dshow only) + Create audio chunks with a time length equal to video frame time + length (default: off). Some audio cards create audio chunks about 0.5s + in size, resulting in choppy video when using immediatemode=0. + +--tvscan=<option1:option2:...> + Tune the TV channel scanner. MPlayer will also print value for "-tv + channels=" option, including existing and just found channels. + + Available suboptions are: + + autostart + Begin channel scanning immediately after startup (default: disabled). + + period=<0.1-2.0> + Specify delay in seconds before switching to next channel (default: + 0.5). Lower values will cause faster scanning, but can detect inactive + TV channels as active. + + threshold=<1-100> + Threshold value for the signal strength (in percent), as reported by + the device (default: 50). A signal strength higher than this value will + indicate that the currently scanning channel is active. + +--unicode + Tells MPlayer to handle the subtitle file as unicode. + +--unrarexec=<filename> + Specify the path to the unrar executable so MPlayer can use it to access + rar-compressed VOBsub files (default: not set, so the feature is off). The + path must include the executable's filename, i.e. + ``/usr/local/bin/unrar``. Not supported on MingW. + +--use-filedir-conf + Look for a file-specific configuration file in the same directory as the + file that is being played. + + *WARNING*: May be dangerous if playing from untrusted media. + +--use-filename-title + Set the window title using the media filename, when not set with + ``--title``. Supported by X11-based video output drivers. See also + ``--title``. + +--user=<username> + Used with some network protocols. + Specify username for HTTP authentication. See also ``--passwd``. + +--user-agent=<string> + Use <string> as user agent for HTTP streaming. + +--utf8 + Tells MPlayer to handle the subtitle file as UTF-8. + +-v + Increment verbosity level, one level for each ``-v`` found on the command + line. + +--vc=<[-\|+]codec1,[-\|+]codec2,...[,]> + Specify a priority list of video codecs to be used, according to their + codec name in ``codecs.conf``. Use a '-' before the codec name to omit it. + Use a '+' before the codec name to force it, this will likely crash! If + the list has a trailing ',' MPlayer will fall back on codecs not contained + in the list. + + *NOTE*: See ``--vc=help`` for a full list of available codecs. + + *EXAMPLE*: + + :``--vc=divx``: Force Win32/VfW DivX codec, no fallback. + :``--vc=-divxds,-divx,``: Skip Win32 DivX codecs. + :``--vc=ffmpeg12,mpeg12,``: Try libavcodec's MPEG-1/2 codec, then + libmpeg2, then others. + +--vf=<filter1[=parameter1:parameter2:...],filter2,...> + Specify a list of video filters to apply to the video stream. See + :ref:`video_filters` for details and descriptions of the available filters. + The option variants ``--vf-add``, ``--vf-pre``, ``--vf-del`` and + ``--vf-clr`` exist to modify a previously specified list, but you + shouldn't need these for typical use. + +--vfm=<driver1,driver2,...> + Specify a priority list of video codec families to be used, according to + their names in codecs.conf. Falls back on the default codecs if none of + the given codec families work. + + *NOTE*: See ``--vfm=help`` for a full list of available codec families. + + *EXAMPLE*: + + :``--vfm=ffmpeg,dshow,vfw``: + Try the libavcodec, then Directshow, then VfW codecs and fall back on + others, if they do not work. + :``--vfm=xanim``: + Try XAnim codecs first. + +--vid=<ID> + Select video channel (MPG: 0-15, ASF: 0-255, MPEG-TS: 17-8190). When + playing an MPEG-TS stream, MPlayer will use the first program (if present) + with the chosen video stream. + +--vivo=<suboption> + (DEBUG CODE) + Force audio parameters for the VIVO demuxer (for debugging purposes). + FIXME: Document this. + +--vm + Try to change to a different video mode. Supported by the dga, x11, xv, + sdl and directx video output drivers. If used with the directx video + output driver the ``--screenw``, ``--screenh``, ``--bpp`` and + ``--refreshrate`` options can be used to set the new display mode. + +--vo=<driver1[:suboption1[=value]:...],driver2,...[,]> + Specify a priority list of video output drivers to be used. For + interactive use you'd normally specify a single one to use, but in + configuration files specifying a list of fallbacks may make sense. See + :ref:`video_outputs` for details and descriptions of available drivers. + +--vobsub=<file> + Specify a VOBsub file to use for subtitles. Has to be the full pathname + without extension, i.e. without the ``.idx``, ``.ifo`` or ``.sub``. + +--vobsubid=<0-31> + Specify the VOBsub subtitle ID. + +--volstep=<0-100> + Set the step size of mixer volume changes in percent of the whole range + (default: 3). + +--volume=<-1-100> + Set the startup volume in the mixer, either hardware or software (if used + with ``--softvol``). A value of -1 (the default) will not change the + volume. See also ``--af=volume``. + +--vsync + Enables VBI for the vesa, dfbmga and svga video output drivers. + +--wid=<ID> + (X11, OpenGL and DirectX only) + This tells MPlayer to attach to an existing window. Useful to embed + MPlayer in a browser (e.g. the plugger extension). Earlier this option + always filled the given window completely, thus aspect scaling, panscan, + etc were no longer handled by MPlayer but had to be managed by the + application that created the window. Now aspect is maintained by default. + If you don't want that use ``--no-keepaspect``. + +--x=<width> + Scale image to width <width> (if software/hardware scaling is available). + Disables aspect calculations. + +--xineramascreen=<-2-...> + In Xinerama configurations (i.e. a single desktop that spans across + multiple displays) this option tells MPlayer which screen to display the + movie on. A value of -2 means fullscreen across the whole virtual display + (in this case Xinerama information is completely ignored), -1 means + fullscreen on the display the window currently is on. The initial position + set via the ``--geometry`` option is relative to the specified screen. + Will usually only work with ``--fstype=-fullscreen`` or ``--fstype=none``. + This option is not suitable to only set the startup screen (because it + will always display on the given screen in fullscreen mode), + ``--geometry`` is the best that is available for that purpose currently. + Supported by at least the direct3d, gl, x11, xv and corevideo video output + drivers. + +--xvidopts=<option1:option2:...> + Specify additional parameters when decoding with Xvid. + + *NOTE*: Since libavcodec is faster than Xvid you might want to use the + libavcodec postprocessing filter (``--vf=pp``) and decoder + (``--vfm=ffmpeg``) instead. + + Xvid's internal postprocessing filters: + + :deblock-chroma (see also ``--vf=pp``): chroma deblock filter + :deblock-luma (see also ``--vf=pp``): luma deblock filter + :dering-luma (see also ``--vf=pp``): luma deringing filter + :dering-chroma (see also ``--vf=pp``): chroma deringing filter + :filmeffect (see also ``--vf=noise``): + Adds artificial film grain to the video. May increase perceived + quality, while lowering true quality. + + rendering methods: + + :dr2: Activate direct rendering method 2. + :nodr2: Deactivate direct rendering method 2. + +--xy=<value> + + :value<=8: Scale image by factor <value>. + :value>8: Set width to value and calculate height to keep correct aspect + ratio. + +--y=<height> + Scale image to height <height> (if software/hardware scaling is available). + Disables aspect calculations. + +--zoom + Allow software scaling, where available. This will allow scaling with + output drivers (like x11, fbdev) that do not support hardware scaling + where MPlayer disables scaling by default for performance reasons. diff --git a/DOCS/man/en/vf.rst b/DOCS/man/en/vf.rst new file mode 100644 index 0000000000..cf5b8386b9 --- /dev/null +++ b/DOCS/man/en/vf.rst @@ -0,0 +1,1452 @@ +.. _video_filters: + +VIDEO FILTERS +============= + +Video filters allow you to modify the video stream and its properties. The +syntax is: + +--vf=<filter1[=parameter1:parameter2:...],filter2,...> + Setup a chain of video filters. + +Many parameters are optional and set to default values if omitted. To +explicitly use a default value set a parameter to '-1'. Parameters w:h means +width x height in pixels, x:y means x;y position counted from the upper left +corner of the bigger image. + +*NOTE*: To get a full list of available video filters, see ``--vf=help``. + +Video filters are managed in lists. There are a few commands to manage the +filter list. + +--vf-add=<filter1[,filter2,...]> + Appends the filters given as arguments to the filter list. + +--vf-pre=<filter1[,filter2,...]> + Prepends the filters given as arguments to the filter list. + +--vf-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). + +--vf-clr + Completely empties the filter list. + +With filters that support it, you can access parameters by their name. + +--vf=<filter>=help + Prints the parameter names and parameter value ranges for a particular + filter. + +--vf=<filter=named_parameter1=value1[:named_parameter2=value2:...]> + Sets a named parameter to the given value. Use on and off or yes and no to + set flag parameters. + +Available filters are: + +crop[=w:h:x:y] + Crops the given part of the image and discards the rest. Useful to remove + black bands from widescreen movies. + + <w>,<h> + Cropped width and height, defaults to original width and height. + <x>,<y> + Position of the cropped picture, defaults to center. + +cropdetect[=limit:round[:reset]] + Calculates necessary cropping parameters and prints the recommended + parameters to stdout. + + <limit> + Threshold, which can be optionally specified from nothing (0) to + everything (255) (default: 24). + <round> + Value which the width/height should be divisible by (default: 16). The + offset is automatically adjusted to center the video. Use 2 to get + only even dimensions (needed for 4:2:2 video). 16 is best when + encoding to most video codecs. + <reset> + Counter that determines after how many frames cropdetect will reset + the previously detected largest video area and start over to detect + the current optimal crop area (default: 0). This can be useful when + channel logos distort the video area. 0 indicates never reset and + return the largest area encountered during playback. + +rectangle[=w:h:x:y] + Draws a rectangle of the requested width and height at the specified + coordinates over the image and prints current rectangle parameters to the + console. This can be used to find optimal cropping parameters. If you bind + the ``input.conf`` directive 'change_rectangle' to keystrokes, you can + move and resize the rectangle on the fly. + + <w>,<h> + width and height (default: -1, maximum possible width where boundaries + are still visible.) + <x>,<y> + top left corner position (default: -1, uppermost leftmost) + +expand[=w:h:x:y:osd:aspect:round] + Expands (not scales) movie resolution to the given value and places the + unscaled original at coordinates x, y. Can be used for placing + subtitles/OSD in the resulting black bands. + + <w>,<h> + Expanded width,height (default: original width,height). Negative + values for w and h are treated as offsets to the original size. + + *EXAMPLE*: + + `expand=0:-50:0:0` + Adds a 50 pixel border to the bottom of the picture. + + <x>,<y> + position of original image on the expanded image (default: center) + + <osd> + OSD/subtitle rendering + + :0: disable (default) + :1: enable + + <aspect> + Expands to fit an aspect instead of a resolution (default: 0). + + *EXAMPLE*: + + `expand=800:::::4/3` + Expands to 800x600, unless the source is higher resolution, in + which case it expands to fill a 4/3 aspect. + + <round> + Rounds up to make both width and height divisible by <r> (default: 1). + +flip + Flips the image upside down. See also ``--flip``. + +mirror + Mirrors the image on the Y axis. + +rotate[=<0-7>] + Rotates the image by 90 degrees and optionally flips it. For values + between 4-7 rotation is only done if the movie geometry is portrait and + not landscape. + + :0: Rotate by 90 degrees clockwise and flip (default). + :1: Rotate by 90 degrees clockwise. + :2: Rotate by 90 degrees counterclockwise. + :3: Rotate by 90 degrees counterclockwise and flip. + +scale[=w:h[:interlaced[:chr_drop[:par[:par2[:presize[:noup[:arnd]]]]]]]] + Scales the image with the software scaler (slow) and performs a YUV<->RGB + colorspace conversion (see also ``--sws``). + + <w>,<h> + scaled width/height (default: original width/height) + + *NOTE*: If ``--zoom`` is used, and underlying filters (including + libvo) are incapable of scaling, it defaults to d_width/d_height! + + :0: scaled d_width/d_height + :-1: original width/height + :-2: Calculate w/h using the other dimension and the prescaled + aspect ratio. + :-3: Calculate w/h using the other dimension and the original + aspect ratio. + :-(n+8): Like -n above, but rounding the dimension to the closest + multiple of 16. + + <interlaced> + Toggle interlaced scaling. + + :0: off (default) + :1: on + + <chr_drop> + chroma skipping + + :0: Use all available input lines for chroma. + :1: Use only every 2. input line for chroma. + :2: Use only every 4. input line for chroma. + :3: Use only every 8. input line for chroma. + + <par>[:<par2>] (see also ``--sws``) + Set some scaling parameters depending on the type of scaler selected + with ``--sws``. + + | --sws=2 (bicubic): B (blurring) and C (ringing) + | 0.00:0.60 default + | 0.00:0.75 VirtualDub's "precise bicubic" + | 0.00:0.50 Catmull-Rom spline + | 0.33:0.33 Mitchell-Netravali spline + | 1.00:0.00 cubic B-spline + + --sws=7 (gaussian): sharpness (0 (soft) - 100 (sharp)) + + --sws=9 (lanczos): filter length (1-10) + + <presize> + Scale to preset sizes. + + :qntsc: 352x240 (NTSC quarter screen) + :qpal: 352x288 (PAL quarter screen) + :ntsc: 720x480 (standard NTSC) + :pal: 720x576 (standard PAL) + :sntsc: 640x480 (square pixel NTSC) + :spal: 768x576 (square pixel PAL) + + <noup> + Disallow upscaling past the original dimensions. + + :0: Allow upscaling (default). + :1: Disallow upscaling if one dimension exceeds its original value. + :2: Disallow upscaling if both dimensions exceed their original values. + + <arnd> + Accurate rounding for the vertical scaler, which may be faster or + slower than the default rounding. + + :0: Disable accurate rounding (default). + :1: Enable accurate rounding. + +dsize[=aspect|w:h:aspect-method:r] + Changes the intended display size/aspect at an arbitrary point in the + filter chain. Aspect can be given as a fraction (4/3) or floating point + number (1.33). Alternatively, you may specify the exact display width and + height desired. Note that this filter does *not* do any scaling itself; it + just affects what later scalers (software or hardware) will do when + auto-scaling to correct aspect. + + <w>,<h> + New display width and height. + + Can also be these special values: + + :0: original display width and height + :-1: original video width and height (default) + :-2: Calculate w/h using the other dimension and the original display + aspect ratio. + :-3: Calculate w/h using the other dimension and the original video + aspect ratio. + + *EXAMPLE*: + + ``dsize=800:-2`` + Specifies a display resolution of 800x600 for a 4/3 aspect video, + or 800x450 for a 16/9 aspect video. + + <aspect-method> + Modifies width and height according to original aspect ratios. + + :-1: Ignore original aspect ratio (default). + :0: Keep display aspect ratio by using <w> and <h> as maximum + resolution. + :1: Keep display aspect ratio by using <w> and <h> as minimum + resolution. + :2: Keep video aspect ratio by using <w> and <h> as maximum + resolution. + :3: Keep video aspect ratio by using <w> and <h> as minimum + resolution. + + *EXAMPLE*: + + ``dsize=800:600:0`` + Specifies a display resolution of at most 800x600, or smaller, in + order to keep aspect. + + <r> + Rounds up to make both width and height divisible by <r> (default: 1). + +yvu9 + Forces software YVU9 to YV12 colorspace conversion. Deprecated in favor of + the software scaler. + +yuvcsp + Clamps YUV color values to the CCIR 601 range without doing real + conversion. + +palette + RGB/BGR 8 -> 15/16/24/32bpp colorspace conversion using palette. + +format[=fourcc[:outfourcc]] + Restricts the colorspace for the next filter without doing any conversion. + Use together with the scale filter for a real conversion. + + *NOTE*: For a list of available formats see ``format=fmt=help``. + + <fourcc> + format name like rgb15, bgr24, yv12, etc (default: yuy2) + <outfourcc> + Format name that should be substituted for the output. If this is not + 100% compatible with the <fourcc> value it will crash. + + *EXAMPLE* + + ====================== ===================== + Valid Invalid (will crash) + ====================== ===================== + ``format=rgb24:bgr24`` ``format=rgb24:yv12`` + ``format=yuyv:yuy2`` + ====================== ===================== + +noformat[=fourcc] + Restricts the colorspace for the next filter without doing any conversion. + Unlike the format filter, this will allow any colorspace except the one + you specify. + + *NOTE*: For a list of available formats see ``noformat=fmt=help``. + + <fourcc> + format name like rgb15, bgr24, yv12, etc (default: yv12) + +pp[=filter1[:option1[:option2...]]/[-]filter2...] + Enables the specified chain of postprocessing subfilters. Subfilters must + be separated by '/' and can be disabled by prepending a '-'. Each + subfilter and some options have a short and a long name that can be used + interchangeably, i.e. dr/dering are the same. All subfilters share common + options to determine their scope: + + a/autoq + Automatically switch the subfilter off if the CPU is too slow. + c/chrom + Do chrominance filtering, too (default). + y/nochrom + Do luminance filtering only (no chrominance). + n/noluma + Do chrominance filtering only (no luminance). + + *NOTE*: ``--pphelp`` shows a list of available subfilters. + + Available subfilters are: + + hb/hdeblock[:difference[:flatness]] + horizontal deblocking filter + + :<difference>: Difference factor where higher values mean more + deblocking (default: 32). + :<flatness>: Flatness threshold where lower values mean more + deblocking (default: 39). + + vb/vdeblock[:difference[:flatness]] + vertical deblocking filter + + :<difference>: Difference factor where higher values mean more + deblocking (default: 32). + :<flatness>: Flatness threshold where lower values mean more + deblocking (default: 39). + + ha/hadeblock[:difference[:flatness]] + accurate horizontal deblocking filter + + :<difference>: Difference factor where higher values mean more + deblocking (default: 32). + :<flatness>: Flatness threshold where lower values mean more + deblocking (default: 39). + + va/vadeblock[:difference[:flatness]] + accurate vertical deblocking filter + + :<difference>: Difference factor where higher values mean more + deblocking (default: 32). + :<flatness>: Flatness threshold where lower values mean more + deblocking (default: 39). + + The horizontal and vertical deblocking filters share the difference and + flatness values so you cannot set different horizontal and vertical + thresholds. + + h1/x1hdeblock + experimental horizontal deblocking filter + + v1/x1vdeblock + experimental vertical deblocking filter + + dr/dering + deringing filter + + tn/tmpnoise[:threshold1[:threshold2[:threshold3]]] + temporal noise reducer + + :<threshold1>: larger -> stronger filtering + :<threshold2>: larger -> stronger filtering + :<threshold3>: larger -> stronger filtering + + al/autolevels[:f/fullyrange] + automatic brightness / contrast correction + + :f/fullyrange: Stretch luminance to (0-255). + + lb/linblenddeint + Linear blend deinterlacing filter that deinterlaces the given block by + filtering all lines with a (1 2 1) filter. + + li/linipoldeint + Linear interpolating deinterlacing filter that deinterlaces the given + block by linearly interpolating every second line. + + ci/cubicipoldeint + Cubic interpolating deinterlacing filter deinterlaces the given block + by cubically interpolating every second line. + + md/mediandeint + Median deinterlacing filter that deinterlaces the given block by + applying a median filter to every second line. + + fd/ffmpegdeint + FFmpeg deinterlacing filter that deinterlaces the given block by + filtering every second line with a (-1 4 2 4 -1) filter. + + l5/lowpass5 + Vertically applied FIR lowpass deinterlacing filter that deinterlaces + the given block by filtering all lines with a (-1 2 6 2 -1) filter. + + fq/forceQuant[:quantizer] + Overrides the quantizer table from the input with the constant + quantizer you specify. + + :<quantizer>: quantizer to use + + de/default + default pp filter combination (hb:a,vb:a,dr:a) + + fa/fast + fast pp filter combination (h1:a,v1:a,dr:a) + + ac + high quality pp filter combination (ha:a:128:7,va:a,dr:a) + + *EXAMPLE*: + + ``--vf=pp=hb/vb/dr/al`` + horizontal and vertical deblocking, deringing and automatic + brightness/contrast + + ``--vf=pp=de/-al`` + default filters without brightness/contrast correction + + ``--vf=pp=default/tmpnoise:1:2:3`` + Enable default filters & temporal denoiser. + + ``--vf=pp=hb:y/vb:a`` + Horizontal deblocking on luminance only, and switch vertical + deblocking on or off automatically depending on available CPU time. + +spp[=quality[:qp[:mode]]] + Simple postprocessing filter that compresses and decompresses the image at + several (or - in the case of quality level 6 - all) shifts and averages + the results. + + <quality> + 0-6 (default: 3) + + <qp> + Force quantization parameter (default: 0, use QP from video). + + <mode> + + :0: hard thresholding (default) + :1: soft thresholding (better deringing, but blurrier) + :4: like 0, but also use B-frames' QP (may cause flicker) + :5: like 1, but also use B-frames' QP (may cause flicker) + +uspp[=quality[:qp]] + Ultra simple & slow postprocessing filter that compresses and decompresses + the image at several (or - in the case of quality level 8 - all) shifts + and averages the results. + + The way this differs from the behavior of spp is that uspp actually + encodes & decodes each case with libavcodec Snow, whereas spp uses a + simplified intra only 8x8 DCT similar to MJPEG. + + <quality> + 0-8 (default: 3) + + <qp> + Force quantization parameter (default: 0, use QP from video). + +fspp[=quality[:qp[:strength[:bframes]]]] + faster version of the simple postprocessing filter + + <quality> + 4-5 (equivalent to spp; default: 4) + + <qp> + Force quantization parameter (default: 0, use QP from video). + + <-15-32> + Filter strength, lower values mean more details but also more + artifacts, while higher values make the image smoother but also + blurrier (default: 0 - PSNR optimal). + + <bframes> + 0: do not use QP from B-frames (default) + 1: use QP from B-frames too (may cause flicker) + +pp7[=qp[:mode]] + Variant of the spp filter, similar to spp=6 with 7 point DCT where only + the center sample is used after IDCT. + + <qp> + Force quantization parameter (default: 0, use QP from video). + + <mode> + :0: hard thresholding + :1: soft thresholding (better deringing, but blurrier) + :2: medium thresholding (default, good results) + +qp=equation + quantization parameter (QP) change filter + + <equation> + some equation like ``2+2*sin(PI*qp)`` + +geq=equation + generic equation change filter + + <equation> + Some equation, e.g. ``p(W-X\,Y)`` to flip the image horizontally. You + can use whitespace to make the equation more readable. There are a + couple of constants that can be used in the equation: + + :PI: the number pi + :E: the number e + :X / Y: the coordinates of the current sample + :W / H: width and height of the image + :SW / SH: width/height scale depending on the currently filtered plane, + e.g. 1,1 and 0.5,0.5 for YUV 4:2:0. + :p(x,y): returns the value of the pixel at location x/y of the current + plane. + +test + Generate various test patterns. + +rgbtest[=width:height] + Generate an RGB test pattern useful for detecting RGB vs BGR issues. You + should see a red, green and blue stripe from top to bottom. + + <width> + Desired width of generated image (default: 0). 0 means width of input + image. + + <height> + Desired height of generated image (default: 0). 0 means height of + input image. + +lavc[=quality:fps] + Fast software YV12 to MPEG-1 conversion with libavcodec for use with + DVB/DXR3/IVTV/V4L2. + + <quality> + :1-31: fixed qscale + :32-: fixed bitrate in kbits + + <fps> + force output fps (float value) (default: 0, autodetect based on height) + +dvbscale[=aspect] + Set up optimal scaling for DVB cards, scaling the x axis in hardware and + calculating the y axis scaling in software to keep aspect. Only useful + together with expand and scale. + + <aspect> + Control aspect ratio, calculate as ``DVB_HEIGHT*ASPECTRATIO`` (default: + ``576*4/3=768``), set it to ``576*(16/9)=1024`` for a 16:9 TV. + + *EXAMPLE*: + + ``--vf=dvbscale,scale=-1:0,expand=-1:576:-1:-1:1,lavc`` + FIXME: Explain what this does. + +noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]] + Adds noise. + + :<0-100>: luma noise + :<0-100>: chroma noise + :u: uniform noise (gaussian otherwise) + :t: temporal noise (noise pattern changes between frames) + :a: averaged temporal noise (smoother, but a lot slower) + :h: high quality (slightly better looking, slightly slower) + :p: mix random noise with a (semi)regular pattern + +denoise3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp] + This filter aims to reduce image noise producing smooth images and making + still images really still (This should enhance compressibility.). + + <luma_spatial> + spatial luma strength (default: 4) + <chroma_spatial> + spatial chroma strength (default: 3) + <luma_tmp> + luma temporal strength (default: 6) + <chroma_tmp> + chroma temporal strength (default: + ``luma_tmp*chroma_spatial/luma_spatial``) + +hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp] + High precision/quality version of the denoise3d filter. Parameters and + usage are the same. + +ow[=depth[:luma_strength[:chroma_strength]]] + Overcomplete Wavelet denoiser. + + <depth> + Larger depth values will denoise lower frequency components more, but + slow down filtering (default: 8). + <luma_strength> + luma strength (default: 1.0) + <chroma_strength> + chroma strength (default: 1.0) + +eq[=brightness:contrast] (OBSOLETE) + Software equalizer with interactive controls just like the hardware + equalizer, for cards/drivers that do not support brightness and contrast + controls in hardware. + + <-100-100> + initial brightness + <-100-100> + initial contrast + +eq2[=gamma:contrast:brightness:saturation:rg:gg:bg:weight] + Alternative software equalizer that uses lookup tables (very slow), + allowing gamma correction in addition to simple brightness and contrast + adjustment. Note that it uses the same MMX optimized code as ``--vf=eq`` + if all gamma values are 1.0. The parameters are given as floating point + values. + + <0.1-10> + initial gamma value (default: 1.0) + <-2-2> + initial contrast, where negative values result in a negative image + (default: 1.0) + <-1-1> + initial brightness (default: 0.0) + <0-3> + initial saturation (default: 1.0) + <0.1-10> + gamma value for the red component (default: 1.0) + <0.1-10> + gamma value for the green component (default: 1.0) + <0.1-10> + gamma value for the blue component (default: 1.0) + <0-1> + The weight parameter can be used to reduce the effect of a high gamma + value on bright image areas, e.g. keep them from getting overamplified + and just plain white. A value of 0.0 turns the gamma correction all + the way down while 1.0 leaves it at its full strength (default: 1.0). + +hue[=hue:saturation] + Software equalizer with interactive controls just like the hardware + equalizer, for cards/drivers that do not support hue and saturation + controls in hardware. + + <-180-180> + initial hue (default: 0.0) + <-100-100> + initial saturation, where negative values result in a negative chroma + (default: 1.0) + +halfpack[=f] + Convert planar YUV 4:2:0 to half-height packed 4:2:2, downsampling luma + but keeping all chroma samples. Useful for output to low-resolution + display devices when hardware downscaling is poor quality or is not + available. Can also be used as a primitive luma-only deinterlacer with + very low CPU usage. + + <f> + By default, halfpack averages pairs of lines when downsampling. Any + value different from 0 or 1 gives the default (averaging) behavior. + + :0: Only use even lines when downsampling. + :1: Only use odd lines when downsampling. + +ilpack[=mode] + When interlaced video is stored in YUV 4:2:0 formats, chroma interlacing + does not line up properly due to vertical downsampling of the chroma + channels. This filter packs the planar 4:2:0 data into YUY2 (4:2:2) format + with the chroma lines in their proper locations, so that in any given + scanline, the luma and chroma data both come from the same field. + + <mode> + Select the sampling mode. + + :0: nearest-neighbor sampling, fast but incorrect + :1: linear interpolation (default) + +decimate[=max:hi:lo:frac] + Drops frames that do not differ greatly from the previous frame in order + to reduce framerate. The main use of this filter is for very-low- bitrate + encoding (e.g. streaming over dialup modem), but it could in theory be + used for fixing movies that were inverse-telecined incorrectly. + + <max> + Sets the maximum number of consecutive frames which can be dropped (if + positive), or the minimum interval between dropped frames (if + negative). + <hi>,<lo>,<frac> + A frame is a candidate for dropping if no 8x8 region differs by more + than a threshold of <hi>, and if not more than <frac> portion (1 + meaning the whole image) differs by more than a threshold of <lo>. + Values of <hi> and <lo> are for 8x8 pixel blocks and represent actual + pixel value differences, so a threshold of 64 corresponds to 1 unit of + difference for each pixel, or the same spread out differently over the + block. + +dint[=sense:level] + The drop-deinterlace (dint) filter detects and drops the first from a set + of interlaced video frames. + + <0.0-1.0> + relative difference between neighboring pixels (default: 0.1) + <0.0-1.0> + What part of the image has to be detected as interlaced to drop the + frame (default: 0.15). + +lavcdeint (OBSOLETE) + FFmpeg deinterlacing filter, same as ``--vf=pp=fd`` + +kerndeint[=thresh[:map[:order[:sharp[:twoway]]]]] + Donald Graft's adaptive kernel deinterlacer. Deinterlaces parts of a video + if a configurable threshold is exceeded. + + <0-255> + threshold (default: 10) + <map> + :0: Ignore pixels exceeding the threshold (default). + :1: Paint pixels exceeding the threshold white. + + <order> + :0: Leave fields alone (default). + :1: Swap fields. + + <sharp> + :0: Disable additional sharpening (default). + :1: Enable additional sharpening. + + <twoway> + :0: Disable twoway sharpening (default). + :1: Enable twoway sharpening. + +unsharp[=l|cWxH:amount[:l|cWxH:amount]] + unsharp mask / gaussian blur + + l + Apply effect on luma component. + + c + Apply effect on chroma components. + + <width>x<height> + width and height of the matrix, odd sized in both directions (min = + 3x3, max = 13x11 or 11x13, usually something between 3x3 and 7x7) + + amount + Relative amount of sharpness/blur to add to the image (a sane range + should be -1.5-1.5). + + :<0: blur + :>0: sharpen + +swapuv + Swap U & V plane. + +il[=d|i][s][:[d|i][s]] + (De)interleaves lines. The goal of this filter is to add the ability to + process interlaced images pre-field without deinterlacing them. You can + filter your interlaced DVD and play it on a TV without breaking the + interlacing. While deinterlacing (with the postprocessing filter) removes + interlacing permanently (by smoothing, averaging, etc) deinterleaving + splits the frame into 2 fields (so called half pictures), so you can + process (filter) them independently and then re-interleave them. + + :d: deinterleave (placing one above the other) + :i: interleave + :s: swap fields (exchange even & odd lines) + +fil[=i|d] + (De)interleaves lines. This filter is very similar to the il filter but + much faster, the main disadvantage is that it does not always work. + Especially if combined with other filters it may produce randomly messed + up images, so be happy if it works but do not complain if it does not for + your combination of filters. + + :d: Deinterleave fields, placing them side by side. + :i: Interleave fields again (reversing the effect of fil=d). + +field[=n] + Extracts a single field from an interlaced image using stride arithmetic + to avoid wasting CPU time. The optional argument n specifies whether to + extract the even or the odd field (depending on whether n is even or odd). + +detc[=var1=value1:var2=value2:...] + Attempts to reverse the 'telecine' process to recover a clean, + non-interlaced stream at film framerate. This was the first and most + primitive inverse telecine filter to be added to MPlayer. It works by + latching onto the telecine 3:2 pattern and following it as long as + possible. This makes it suitable for perfectly-telecined material, even in + the presence of a fair degree of noise, but it will fail in the presence + of complex post-telecine edits. Development on this filter is no longer + taking place, as ivtc, pullup, and filmdint are better for most + applications. The following arguments (see syntax above) may be used to + control detc's behavior: + + <dr> + Set the frame dropping mode. + + :0: Do not drop frames to maintain fixed output framerate (default). + :1: Always drop a frame when there have been no drops or telecine + merges in the past 5 frames. + :2: Always maintain exact 5:4 input to output frame ratio. + + <am> + Analysis mode. + + :0: Fixed pattern with initial frame number specified by <fr>. + :1: aggressive search for telecine pattern (default) + + <fr> + Set initial frame number in sequence. 0-2 are the three clean + progressive frames; 3 and 4 are the two interlaced frames. The + default, -1, means 'not in telecine sequence'. The number specified + here is the type for the imaginary previous frame before the movie + starts. + + <t0>, <t1>, <t2>, <t3> + Threshold values to be used in certain modes. + +ivtc[=1] + Experimental 'stateless' inverse telecine filter. Rather than trying to + lock on to a pattern like the detc filter does, ivtc makes its decisions + independently for each frame. This will give much better results for + material that has undergone heavy editing after telecine was applied, but + as a result it is not as forgiving of noisy input, for example TV capture. + The optional parameter (ivtc=1) corresponds to the dr=1 option for the + detc filter, and should not be used with MPlayer. Further development on + ivtc has stopped, as the pullup and filmdint filters appear to be much + more accurate. + +pullup[=jl:jr:jt:jb:sb:mp] + Third-generation pulldown reversal (inverse telecine) filter, capable of + handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001 + fps progressive content. The pullup filter is designed to be much more + robust than detc or ivtc, by taking advantage of future context in making + its decisions. Like ivtc, pullup is stateless in the sense that it does + not lock onto a pattern to follow, but it instead looks forward to the + following fields in order to identify matches and rebuild progressive + frames. It is still under development, but believed to be quite accurate. + + jl, jr, jt, and jb + These options set the amount of "junk" to ignore at the left, right, + top, and bottom of the image, respectively. Left/right are in units of + 8 pixels, while top/bottom are in units of 2 lines. The default is 8 + pixels on each side. + + sb (strict breaks) + Setting this option to 1 will reduce the chances of pullup generating + an occasional mismatched frame, but it may also cause an excessive + number of frames to be dropped during high motion sequences. + Conversely, setting it to -1 will make pullup match fields more + easily. This may help processing of video where there is slight + blurring between the fields, but may also cause there to be interlaced + frames in the output. + + mp (metric plane) + This option may be set to 1 or 2 to use a chroma plane instead of the + luma plane for doing pullup's computations. This may improve accuracy + on very clean source material, but more likely will decrease accuracy, + especially if there is chroma noise (rainbow effect) or any grayscale + video. The main purpose of setting mp to a chroma plane is to reduce + CPU load and make pullup usable in realtime on slow machines. + +filmdint[=options] + Inverse telecine filter, similar to the pullup filter above. It is + designed to handle any pulldown pattern, including mixed soft and hard + telecine and limited support for movies that are slowed down or sped up + from their original framerate for TV. Only the luma plane is used to find + the frame breaks. If a field has no match, it is deinterlaced with simple + linear approximation. If the source is MPEG-2, this must be the first + filter to allow access to the field-flags set by the MPEG-2 decoder. + Depending on the source MPEG, you may be fine ignoring this advice, as + long as you do not see lots of "Bottom-first field" warnings. With no + options it does normal inverse telecine. When this filter is used with + MPlayer, it will result in an uneven framerate during playback, but it is + still generally better than using pp=lb or no deinterlacing at all. + Multiple options can be specified separated by /. + + crop=<w>:<h>:<x>:<y> + Just like the crop filter, but faster, and works on mixed hard and + soft telecined content as well as when y is not a multiple of 4. If x + or y would require cropping fractional pixels from the chroma planes, + the crop area is extended. This usually means that x and y must be + even. + + io=<ifps>:<ofps> + For each ifps input frames the filter will output ofps frames. This + could be used to filter movies that are broadcast on TV at a frame + rate different from their original framerate. + + luma_only=<n> + If n is nonzero, the chroma plane is copied unchanged. This is useful + for YV12 sampled TV, which discards one of the chroma fields. + + mmx2=<n> + On x86, if n=1, use MMX2 optimized functions, if n=2, use 3DNow! + optimized functions, otherwise, use plain C. If this option is not + specified, MMX2 and 3DNow! are auto-detected, use this option to + override auto-detection. + + fast=<n> + The larger n will speed up the filter at the expense of accuracy. The + default value is n=3. If n is odd, a frame immediately following a + frame marked with the REPEAT_FIRST_FIELD MPEG flag is assumed to be + progressive, thus filter will not spend any time on soft-telecined + MPEG-2 content. This is the only effect of this flag if MMX2 or 3DNow! + is available. Without MMX2 and 3DNow, if n=0 or 1, the same + calculations will be used as with n=2 or 3. If n=2 or 3, the number of + luma levels used to find the frame breaks is reduced from 256 to 128, + which results in a faster filter without losing much accuracy. If n=4 + or 5, a faster, but much less accurate metric will be used to find the + frame breaks, which is more likely to misdetect high vertical detail + as interlaced content. + + verbose=<n> + If n is nonzero, print the detailed metrics for each frame. Useful for + debugging. + + dint_thres=<n> + Deinterlace threshold. Used during de-interlacing of unmatched frames. + Larger value means less deinterlacing, use n=256 to completely turn + off deinterlacing. Default is n=8. + + comb_thres=<n> + Threshold for comparing a top and bottom fields. Defaults to 128. + + diff_thres=<n> + Threshold to detect temporal change of a field. Default is 128. + + sad_thres=<n> + Sum of Absolute Difference threshold, default is 64. + +divtc[=options] + Inverse telecine for deinterlaced video. If 3:2-pulldown telecined video + has lost one of the fields or is deinterlaced using a method that keeps + one field and interpolates the other, the result is a juddering video that + has every fourth frame duplicated. This filter is intended to find and + drop those duplicates and restore the original film framerate. Two + different modes are available: One pass mode is the default and is + straightforward to use, but has the disadvantage that any changes in the + telecine phase (lost frames or bad edits) cause momentary judder until the + filter can resync again. Two pass mode avoids this by analyzing the whole + video beforehand so it will have forward knowledge about the phase changes + and can resync at the exact spot. These passes do *not* correspond to pass + one and two of the encoding process. You must run an extra pass using + divtc pass one before the actual encoding throwing the resulting video + away. Use ``--nosound --ovc=raw -o /dev/null`` to avoid wasting CPU power + for this pass. You may add something like ``crop=2:2:0:0`` after divtc to + speed things up even more. Then use divtc pass two for the actual + encoding. If you use multiple encoder passes, use divtc pass two for all + of them. The options are: + + pass=1|2 + Use two pass mode. + + file=<filename> + Set the two pass log filename (default: ``framediff.log``). + + threshold=<value> + Set the minimum strength the telecine pattern must have for the filter + to believe in it (default: 0.5). This is used to avoid recognizing + false pattern from the parts of the video that are very dark or very + still. + + window=<numframes> + Set the number of past frames to look at when searching for pattern + (default: 30). Longer window improves the reliability of the pattern + search, but shorter window improves the reaction time to the changes + in the telecine phase. This only affects the one pass mode. The two + pass mode currently uses fixed window that extends to both future and + past. + + phase=0|1|2|3|4 + Sets the initial telecine phase for one pass mode (default: 0). The + two pass mode can see the future, so it is able to use the correct + phase from the beginning, but one pass mode can only guess. It catches + the correct phase when it finds it, but this option can be used to fix + the possible juddering at the beginning. The first pass of the two + pass mode also uses this, so if you save the output from the first + pass, you get constant phase result. + + deghost=<value> + Set the deghosting threshold (0-255 for one pass mode, -255-255 for + two pass mode, default 0). If nonzero, deghosting mode is used. This + is for video that has been deinterlaced by blending the fields + together instead of dropping one of the fields. Deghosting amplifies + any compression artifacts in the blended frames, so the parameter + value is used as a threshold to exclude those pixels from deghosting + that differ from the previous frame less than specified value. If two + pass mode is used, then negative value can be used to make the filter + analyze the whole video in the beginning of pass-2 to determine + whether it needs deghosting or not and then select either zero or the + absolute value of the parameter. Specify this option for pass-2, it + makes no difference on pass-1. + +phase[=t|b|p|a|u|T|B|A|U][:v] + Delay interlaced video by one field time so that the field order changes. + The intended use is to fix PAL movies that have been captured with the + opposite field order to the film-to-video transfer. The options are: + + t + Capture field order top-first, transfer bottom-first. Filter will + delay the bottom field. + + b + Capture bottom-first, transfer top-first. Filter will delay the top + field. + + p + Capture and transfer with the same field order. This mode only exists + for the documentation of the other options to refer to, but if you + actually select it, the filter will faithfully do nothing ;-) + + a + Capture field order determined automatically by field flags, transfer + opposite. Filter selects among t and b modes on a frame by frame basis + using field flags. If no field information is available, then this + works just like u. + + u + Capture unknown or varying, transfer opposite. Filter selects among t + and b on a frame by frame basis by analyzing the images and selecting + the alternative that produces best match between the fields. + + T + Capture top-first, transfer unknown or varying. Filter selects among t + and p using image analysis. + + B + Capture bottom-first, transfer unknown or varying. Filter selects + among b and p using image analysis. + + A + Capture determined by field flags, transfer unknown or varying. Filter + selects among t, b and p using field flags and image analysis. If no + field information is available, then this works just like U. This is + the default mode. + + U + Both capture and transfer unknown or varying. Filter selects among t, + b and p using image analysis only. + + v + Verbose operation. Prints the selected mode for each frame and the + average squared difference between fields for t, b, and p + alternatives. + +telecine[=start] + Apply 3:2 'telecine' process to increase framerate by 20%. This most + likely will not work correctly with MPlayer. The optional start parameter + tells the filter where in the telecine pattern to start (0-3). + +tinterlace[=mode] + Temporal field interlacing - merge pairs of frames into an interlaced + frame, halving the framerate. Even frames are moved into the upper field, + odd frames to the lower field. This can be used to fully reverse the + effect of the tfields filter (in mode 0). Available modes are: + + :0: Move odd frames into the upper field, even into the lower field, + generating a full-height frame at half framerate. + :1: Only output odd frames, even frames are dropped; height unchanged. + :2: Only output even frames, odd frames are dropped; height unchanged. + :3: Expand each frame to full height, but pad alternate lines with black; + framerate unchanged. + :4: Interleave even lines from even frames with odd lines from odd frames. + Height unchanged at half framerate. + +tfields[=mode[:field_dominance]] + Temporal field separation - split fields into frames, doubling the output + framerate. + + <mode> + :0: Leave fields unchanged (will jump/flicker). + :1: Interpolate missing lines. (The algorithm used might not be so + good.) + :2: Translate fields by 1/4 pixel with linear interpolation (no jump). + :4: Translate fields by 1/4 pixel with 4tap filter (higher quality) + (default). + + <field_dominance> (DEPRECATED) + :-1: auto (default) Only works if the decoder exports the appropriate + information and no other filters which discard that information + come before tfields in the filter chain, otherwise it falls back + to 0 (top field first). + :0: top field first + :1: bottom field first + + *NOTE*: This option will possibly be removed in a future version. Use + ``--field-dominance`` instead. + +yadif=[mode[:field_dominance]] + Yet another deinterlacing filter + + <mode> + :0: Output 1 frame for each frame. + :1: Output 1 frame for each field. + :2: Like 0 but skips spatial interlacing check. + :3: Like 1 but skips spatial interlacing check. + + <field_dominance> (DEPRECATED) + Operates like tfields. + + *NOTE*: This option will possibly be removed in a future version. Use + ``--field-dominance`` instead. + +mcdeint=[mode[:parity[:qp]]] + Motion compensating deinterlacer. It needs one field per frame as input + and must thus be used together with tfields=1 or yadif=1/3 or equivalent. + + <mode> + :0: fast + :1: medium + :2: slow, iterative motion estimation + :3: extra slow, like 2 plus multiple reference frames + + <parity> + 0 or 1 selects which field to use (note: no autodetection yet!). + + <qp> + Higher values should result in a smoother motion vector field but less + optimal individual vectors. + +boxblur=radius:power[:radius:power] + box blur + + <radius> + blur filter strength + <power> + number of filter applications + +sab=radius:pf:colorDiff[:radius:pf:colorDiff] + shape adaptive blur + + <radius> + blur filter strength (~0.1-4.0) (slower if larger) + <pf> + prefilter strength (~0.1-2.0) + <colorDiff> + maximum difference between pixels to still be considered (~0.1-100.0) + +smartblur=radius:strength:threshold[:radius:strength:threshold] + smart blur + + <radius> + blur filter strength (~0.1-5.0) (slower if larger) + <strength> + blur (0.0-1.0) or sharpen (-1.0-0.0) + <threshold> + filter all (0), filter flat areas (0-30) or filter edges (-30-0) + +perspective=x0:y0:x1:y1:x2:y2:x3:y3:t + Correct the perspective of movies not filmed perpendicular to the screen. + + <x0>,<y0>,... + coordinates of the top left, top right, bottom left, bottom right + corners + <t> + linear (0) or cubic resampling (1) + +2xsai + Scale and smooth the image with the 2x scale and interpolate algorithm. + +1bpp + 1bpp bitmap to YUV/BGR 8/15/16/32 conversion + +down3dright[=lines] + Reposition and resize stereoscopic images. Extracts both stereo fields and + places them side by side, resizing them to maintain the original movie + aspect. + + <lines> + number of lines to select from the middle of the image (default: 12) + +bmovl=hidden:opaque:fifo + The bitmap overlay filter reads bitmaps from a FIFO and displays them on + top of the movie, allowing some transformations on the image. See also + ``TOOLS/bmovl-test.c`` for a small bmovl test program. + + <hidden> + Set the default value of the 'hidden' flag (0=visible, 1=hidden). + <opaque> + Set the default value of the 'opaque' flag (0=transparent, 1=opaque). + <fifo> + path/filename for the FIFO (named pipe connecting ``mplayer + --vf=bmovl`` to the controlling application) + + FIFO commands are: + + RGBA32 width height xpos ypos alpha clear + followed by width*height*4 Bytes of raw RGBA32 data. + ABGR32 width height xpos ypos alpha clear + followed by width*height*4 Bytes of raw ABGR32 data. + RGB24 width height xpos ypos alpha clear + followed by width*height*3 Bytes of raw RGB24 data. + BGR24 width height xpos ypos alpha clear + followed by width*height*3 Bytes of raw BGR24 data. + ALPHA width height xpos ypos alpha + Change alpha transparency of the specified area. + CLEAR width height xpos ypos + Clear area. + OPAQUE + Disable all alpha transparency. Send "ALPHA 0 0 0 0 0" to enable it + again. + HIDE + Hide bitmap. + SHOW + Show bitmap. + + Arguments are: + + <width>, <height> + image/area size + <xpos>, <ypos> + Start blitting at position x/y. + <alpha> + Set alpha difference. If you set this to -255 you can then send a + sequence of ALPHA-commands to set the area to -225, -200, -175 etc for + a nice fade-in-effect! ;) + + :0: same as original + :255: Make everything opaque. + :-255: Make everything transparent. + + <clear> + Clear the framebuffer before blitting. + + :0: The image will just be blitted on top of the old one, so you do + not need to send 1.8MB of RGBA32 data every time a small part of + the screen is updated. + :1: clear + +framestep=I|[i]step + Renders only every nth frame or every intra frame (keyframe). + + If you call the filter with I (uppercase) as the parameter, then *only* + keyframes are rendered. For DVDs it generally means one in every 15/12 + frames (IBBPBBPBBPBBPBB), for AVI it means every scene change or every + keyint value. + + When a keyframe is found, an 'I!' string followed by a newline character + is printed, leaving the current line of MPlayer output on the screen, + because it contains the time (in seconds) and frame number of the keyframe + (You can use this information to split the AVI.). + + If you call the filter with a numeric parameter 'step' then only one in + every 'step' frames is rendered. + + If you put an 'i' (lowercase) before the number then an 'I!' is printed + (like the I parameter). + + If you give only the i then nothing is done to the frames, only I! is + printed. + +tile=xtiles:ytiles:output:start:delta + Tile a series of images into a single, bigger image. If you omit a + parameter or use a value less than 0, then the default value is used. You + can also stop when you are satisfied (``... --vf=tile=10:5 ...``). It is + probably a good idea to put the scale filter before the tile :-) + + The parameters are: + + <xtiles> + number of tiles on the x axis (default: 5) + <ytiles> + number of tiles on the y axis (default: 5) + <output> + Render the tile when 'output' number of frames are reached, where + 'output' should be a number less than xtile * ytile. Missing tiles are + left blank. You could, for example, write an 8 * 7 tile every 50 + frames to have one image every 2 seconds @ 25 fps. + <start> + outer border thickness in pixels (default: 2) + <delta> + inner border thickness in pixels (default: 4) + +delogo[=x:y:w:h:t] + Suppresses a TV station logo by a simple interpolation of the surrounding + pixels. Just set a rectangle covering the logo and watch it disappear (and + sometimes something even uglier appear - your mileage may vary). + + <x>,<y> + top left corner of the logo + <w>,<h> + width and height of the cleared rectangle + <t> + Thickness of the fuzzy edge of the rectangle (added to w and h). When + set to -1, a green rectangle is drawn on the screen to simplify + finding the right x,y,w,h parameters. + file=<file> + You can specify a text file to load the coordinates from. Each line + must have a timestamp (in seconds, and in ascending order) and the + "x:y:w:h:t" coordinates (*t* can be omitted). + +remove-logo=/path/to/logo_bitmap_file_name.pgm + Suppresses a TV station logo, using a PGM or PPM image file to determine + which pixels comprise the logo. The width and height of the image file + must match those of the video stream being processed. Uses the filter + image and a circular blur algorithm to remove the logo. + + ``/path/to/logo_bitmap_file_name.pgm`` + [path] + filename of the filter image. + +screenshot + Allows acquiring screenshots of the movie using slave mode commands that + can be bound to keypresses. See the slave mode documentation and the + ``INTERACTIVE CONTROL`` section for details. Files named ``shotNNNN.png`` + will be saved in the working directory, using the first available number - + no files will be overwritten. The filter has no overhead when not used. It + does however break playback in some cases, especially VDPAU hardware + decoding is incompatible with the filter. Thus it is not completely safe to + add the filter to default configuration "just in case you might want to + take screenshots". Make sure that the screenshot filter is added after all + other filters whose effect you want to record on the saved image. E.g. it + should be the last filter if you want to have an exact screenshot of what + you see on the monitor. + +ass + Moves SSA/ASS subtitle rendering to an arbitrary point in the filter + chain. See the ``--ass`` option. + + *EXAMPLE*: + + ``--vf=ass,screenshot`` + Moves SSA/ASS rendering before the screenshot filter. Screenshots + taken this way will contain subtitles. + +blackframe[=amount:threshold] + Detect frames that are (almost) completely black. Can be useful to detect + chapter transitions or commercials. Output lines consist of the frame + number of the detected frame, the percentage of blackness, the frame type + and the frame number of the last encountered keyframe. + + <amount> + Percentage of the pixels that have to be below the threshold (default: + 98). + + <threshold> + Threshold below which a pixel value is considered black (default: 32). + +stereo3d[=in:out] + Stereo3d converts between different stereoscopic image formats. + + <in> + Stereoscopic image format of input. Possible values: + + sbsl or side_by_side_left_first + side by side parallel (left eye left, right eye right) + sbsr or side_by_side_right_first + side by side crosseye (right eye left, left eye right) + abl or above_below_left_first + above-below (left eye above, right eye below) + abl or above_below_right_first + above-below (right eye above, left eye below) + ab2l or above_below_half_height_left_first + above-below with half height resolution (left eye above, right eye + below) + ab2r or above_below_half_height_right_first + above-below with half height resolution (right eye above, left eye + below) + + <out> + Stereoscopic image format of output. Possible values are all the input + formats as well as: + + arcg or anaglyph_red_cyan_gray + anaglyph red/cyan gray (red filter on left eye, cyan filter on + right eye) + arch or anaglyph_red_cyan_half_color + anaglyph red/cyan half colored (red filter on left eye, cyan filter + on right eye) + arcc or anaglyph_red_cyan_color + anaglyph red/cyan color (red filter on left eye, cyan filter on + right eye) + arcd or anaglyph_red_cyan_dubois + anaglyph red/cyan color optimized with the least squares + projection of dubois (red filter on left eye, cyan filter on right + eye) + agmg or anaglyph_green_magenta_gray + anaglyph green/magenta gray (green filter on left eye, magenta + filter on right eye) + agmh or anaglyph_green_magenta_half_color + anaglyph green/magenta half colored (green filter on left eye, + magenta filter on right eye) + agmc or anaglyph_green_magenta_color + anaglyph green/magenta colored (green filter on left eye, magenta + filter on right eye) + aybg or anaglyph_yellow_blue_gray + anaglyph yellow/blue gray (yellow filter on left eye, blue filter + on right eye) + aybh or anaglyph_yellow_blue_half_color + anaglyph yellow/blue half colored (yellow filter on left eye, blue + filter on right eye) + aybc or anaglyph_yellow_blue_color + anaglyph yellow/blue colored (yellow filter on left eye, blue + filter on right eye) + irl or interleave_rows_left_first + Interleaved rows (left eye has top row, right eye starts on next + row) + irr or interleave_rows_right_first + Interleaved rows (right eye has top row, left eye starts on next + row) + ml or mono_left + mono output (left eye only) + mr or mono_right + mono output (right eye only) + +gradfun[=strength[:radius]] + Fix the banding artifacts that are sometimes introduced into nearly flat + regions by truncation to 8bit colordepth. Interpolates the gradients that + should go where the bands are, and dithers them. + + This filter is designed for playback only. Do not use it prior to lossy + compression, because compression tends to lose the dither and bring back + the bands. + + <strength> + Maximum amount by which the filter will change any one pixel. Also the + threshold for detecting nearly flat regions (default: 1.2). + + <radius> + Neighborhood to fit the gradient to. Larger radius makes for smoother + gradients, but also prevents the filter from modifying pixels near + detailed regions (default: 16). + +fixpts[=options] + Fixes the presentation timestamps (PTS) of the frames. By default, the PTS + passed to the next filter is dropped, but the following options can change + that: + + print + Print the incoming PTS. + + fps=<fps> + Specify a frame per second value. + + start=<pts> + Specify an initial value for the PTS. + + autostart=<n> + Uses the *n*\th incoming PTS as the initial PTS. All previous PTS are + kept, so setting a huge value or -1 keeps the PTS intact. + + autofps=<n> + Uses the *n*\th incoming PTS after the end of autostart to determine + the framerate. + + *EXAMPLE*: + + ``--vf=fixpts=fps=24000/1001,ass,fixpts`` + Generates a new sequence of PTS, uses it for ASS subtitles, then drops + it. Generating a new sequence is useful when the timestamps are reset + during the program; this is frequent on DVDs. Dropping it may be + necessary to avoid confusing encoders. + + *NOTE*: Using this filter together with any sort of seeking (including + ``--ss``) may make demons fly out of your nose. diff --git a/DOCS/man/en/vo.rst b/DOCS/man/en/vo.rst new file mode 100644 index 0000000000..fd587c5460 --- /dev/null +++ b/DOCS/man/en/vo.rst @@ -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`` @@ -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 |