aboutsummaryrefslogtreecommitdiffhomepage
path: root/DOCS/man
diff options
context:
space:
mode:
authorGravatar Martin Herkt <lachs0r@srsfckn.biz>2013-07-08 18:02:14 +0200
committerGravatar Martin Herkt <lachs0r@srsfckn.biz>2013-07-08 18:02:46 +0200
commit09d2dd7c3ab1cc650ede12f00affbba4b73b970b (patch)
tree525e8e400199ca61c59175e5e874e709138c7cba /DOCS/man
parent1a8ab1d6adb8d849ed6f1b8a31baf0ef31242e4a (diff)
manpage: proofread and fix formatting
Diffstat (limited to 'DOCS/man')
-rw-r--r--DOCS/man/en/af.rst446
-rw-r--r--DOCS/man/en/ao.rst122
-rw-r--r--DOCS/man/en/changes.rst171
-rw-r--r--DOCS/man/en/encode.rst116
-rw-r--r--DOCS/man/en/input.rst416
-rw-r--r--DOCS/man/en/mpv.rst197
-rw-r--r--DOCS/man/en/options.rst1763
-rw-r--r--DOCS/man/en/vf.rst674
-rw-r--r--DOCS/man/en/vo.rst465
9 files changed, 2246 insertions, 2124 deletions
diff --git a/DOCS/man/en/af.rst b/DOCS/man/en/af.rst
index 81e99905d0..3a6eaa6e37 100644
--- a/DOCS/man/en/af.rst
+++ b/DOCS/man/en/af.rst
@@ -1,79 +1,74 @@
-.. _audio_filters:
-
AUDIO FILTERS
=============
Audio filters allow you to modify the audio stream and its properties. The
syntax is:
---af=<filter1[=parameter1:parameter2:...],filter2,...>
+``--af=<filter1[=parameter1:parameter2:...],filter2,...>``
Setup a chain of audio filters.
-*NOTE*: To get a full list of available audio filters, see ``--af=help``.
+.. 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.
+filter list:
---af-add=<filter1[,filter2,...]>
+``--af-add=<filter1[,filter2,...]>``
Appends the filters given as arguments to the filter list.
---af-pre=<filter1[,filter2,...]>
+``--af-pre=<filter1[,filter2,...]>``
Prepends the filters given as arguments to the filter list.
---af-del=<index1[,index2,...]>
+``--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
+``--af-clr``
Completely empties the filter list.
Available filters are:
-lavrresample[=option1:option2:...]
+``lavrresample[=option1:option2:...]``
This filter uses libavresample (or libswresample, depending on the build)
to change sample rate, sample format, or channel layout of the audio stream.
- This filter is automatically enabled if the audio output doesn't support
+ This filter is automatically enabled if the audio output does not support
the audio configuration of the file being played.
It supports only the following sample formats: u8, s16ne, s32ne, floatne.
- srate=<srate>
- the output sample rate
- length=<length>
- length of the filter with respect to the lower sampling rate (default:
+ ``srate=<srate>``
+ The output sample rate.
+ ``length=<length>``
+ Length of the filter with respect to the lower sampling rate. (default:
16)
- phase_shift=<count>
- log2 of the number of polyphase entries (..., 10->1024, 11->2048,
+ ``phase_shift=<count>``
+ Log2 of the number of polyphase entries. (..., 10->1024, 11->2048,
12->4096, ...) (default: 10->1024)
- cutoff=<cutoff>
- cutoff frequency (0.0-1.0), default set depending upon filter length
- linear
- if set then filters will be linearly interpolated between polyphase
- entries (default: no)
- no-detach
- don't detach if input and output audio format/rate/channels are the
- same. You should add this option if you specify additional parameters,
- as automatically inserted lavrresample instances will use the
- default settings.
-
-lavcac3enc[=tospdif[:bitrate[:minchn]]]
+ ``cutoff=<cutoff>``
+ Cutoff frequency (0.0-1.0), default set depending upon filter length.
+ ``linear``
+ If set then filters will be linearly interpolated between polyphase
+ entries. (default: no)
+ ``no-detach``
+ Do not detach if input and output audio format/rate/channels match.
+ You should add this option if you specify additional parameters, as
+ automatically inserted lavrresample instances will use the default
+ settings.
+
+``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>
+ outputting to S/PDIF. If the input sample rate is not 48 kHz, 44.1 kHz or
+ 32 kHz, it will be resampled to 48 kHz.
+
+ ``<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.
+ passthrough when ``<tospdif>`` is set non-zero.
+ ``<bitrate>``
+ The bitrate use for the AC-3 stream. Set it to either 384 or 384000
+ to get 384 kbps.
Valid values: 32, 40, 48, 56, 64, 80, 96, 112, 128,
160, 192, 224, 256, 320, 384, 448, 512, 576, 640.
@@ -87,41 +82,41 @@ lavcac3enc[=tospdif[:bitrate[:minchn]]]
:5ch: 448
:6ch: 448
- <minchn>
- If the input channel number is less than <minchn>, the filter will
+ ``<minchn>``
+ If the input channel number is less than ``<minchn>``, the filter will
detach itself (default: 5).
-sweep[=speed]
+``sweep[=speed]``
Produces a sine sweep.
- <0.0-1.0>
+ ``<0.0-1.0>``
Sine function delta, use very low values to hear the sweep.
-sinesuppress[=freq:decay]
+``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.
+ noise on low quality audio equipment. It only works on mono input.
- <freq>
+ ``<freq>``
The frequency of the sine which should be removed (in Hz) (default:
50)
- <decay>
+ ``<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
+``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.
+ applicable only to 2-channel audio.
- fcut=<300-1000>
+ ``fcut=<300-1000>``
Set cut frequency in Hz.
- feed=<10-150>
+ ``feed=<10-150>``
Set feed level for low frequencies in 0.1*dB.
- profile=<value>
+ ``profile=<value>``
Several profiles are available for convenience:
:default: will be used if nothing else was specified (fcut=700,
@@ -129,11 +124,11 @@ bs2b[=option1:option2:...]
: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.
+ 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
+``hrtf[=flag]``
+ Head-related transfer function: Converts multichannel audio to 2-channel
output for headphones, preserving the spatiality of the sound.
==== ===================================
@@ -144,8 +139,8 @@ hrtf[=flag]
0 no matrix decoding (default)
==== ===================================
-equalizer=[g1:g2:g3:...:g10]
- 10 octave band graphic equalizer, implemented using 10 IIR band pass
+``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:
@@ -169,48 +164,50 @@ equalizer=[g1:g2:g3:...:g10]
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.
+ the sound using a resampling filter before it reaches this filter.
- <g1>:<g2>:<g3>:...:<g10>
+ ``<g1>:<g2>:<g3>:...:<g10>``
floating point numbers representing the gain in dB for each frequency
band (-12-12)
- *EXAMPLE*:
+ .. admonition:: Example
- ``mpv --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.
+ ``mpv --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:...]
+``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
+ only ``<nch>`` is given, the default routing is used. It works as follows:
+ If the number of output channels is greater than the number of input
+ channels, empty channels are inserted (except when mixing from mono to
+ stereo; then the mono channel is duplicated). If the number of output
+ channels is less than the number of input channels, the exceeding
channels are truncated.
- <nch>
+ ``<nch>``
number of output channels (1-8)
- <nr>
+ ``<nr>``
number of routes (1-8)
- <from1:to1:from2:to2:from3:to3:...>
+ ``<from1:to1:from2:to2:from3:to3:...>``
Pairs of numbers between 0 and 7 that define where to route each
channel.
- *EXAMPLE*:
+ .. admonition:: Examples
- ``mpv --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.
+ ``mpv --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 were played back,
+ channels 2 and 3 would contain silence but 0 and 1 would still be
+ swapped.
- ``mpv --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.
+ ``mpv --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.
-force=in-format:in-srate:in-channels:out-format:out-srate:out-channels
+``force=in-format:in-srate:in-channels:out-format:out-srate:out-channels``
Force a specific audio format/configuration without actually changing the
audio data. Keep in mind that the filter system might auto-insert actual
conversion filters before or after this filter if needed.
@@ -220,49 +217,43 @@ force=in-format:in-srate:in-channels:out-format:out-srate:out-channels
actually doing a conversion. The data will be 'reinterpreted' by the
filters or audio outputs following this filter.
- <in-format>
+ ``<in-format>``
Force conversion to this format. See ``format`` filter for valid audio
format values.
- <in-srate>
+ ``<in-srate>``
Force conversion to a specific sample rate. The rate is an integer,
48000 for example.
- <in-channels>
+ ``<in-channels>``
Force mixing to a specific channel layout. See ``--channels`` option
for possible values.
- <out-format>
+ ``<out-format>``
- <out-srate>
+ ``<out-srate>``
- <out-channels>
+ ``<out-channels>``
-format[=format]
+``format[=format]``
Convert between different sample formats. Automatically enabled when
- needed by the sound card or another filter. See also ``--format``.
+ needed by the audio output or another filter. See also ``--format``.
- <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 mpv 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, mpeg2, and ac3.
+ endianness of the computer mpv 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,
+ mpeg2, and ac3.
-volume[=v[:sc[:fast]]]
+``volume[=v[:sc[:fast]]]``
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.
+ best to use the *Master* volume control of your sound card or the volume
+ knob on your amplifier.
This filter has a second feature: It measures the overall maximum sound
level and prints out that level when mpv exits. This feature currently
@@ -271,128 +262,131 @@ volume[=v[:sc[:fast]]]
*NOTE*: This filter is not reentrant and can therefore only be enabled
once for every audio stream.
- <v>
+ ``<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>
+ ``<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.
- <fast>
+ ``<fast>``
Force S16 sample format if set to 1. Lower quality, but might be faster
in some situations.
- *EXAMPLE*:
+ .. admonition:: Example
- ``mpv --af=volume=10.1:0 media.avi``
- Would amplify the sound by 10.1dB and hard-clip if the sound level is
- too high.
+ ``mpv --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:...]
+``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
+ 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>
+ ``<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*:
+ .. admonition:: Examples
+
+ ``mpv --af=pan=1:0.5:0.5 media.avi``
+ Would downmix from stereo to mono.
- ``mpv --af=pan=1:0.5:0.5 media.avi``
- Would down-mix from stereo to mono.
+ ``mpv --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).
- ``mpv --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).
+ .. note::
- *NOTE*: if you just want to force remixing to a certain output channel
- layout, it's easier to use the ``force`` filter. For example,
- ``mpv '--af=force=channels=5.1' '--channels=5.1'`` would always force
- remixing audio to 5.1 and output it like this.
+ If you just want to force remixing to a certain output channel
+ layout, it is easier to use the ``force`` filter. For example,
+ ``mpv '--af=force=channels=5.1' '--channels=5.1'`` would always
+ force remixing audio to 5.1 and output it like this.
-sub[=fc:ch]
+``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.
+ .. warning::
+
+ Disable this filter when you are playing media with an LFE channel
+ (e.g. 5.1 surround sound), otherwise this filter will disrupt the sound
+ to the subwoofer.
- <fc>
+ ``<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>
+ ``<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*:
+ .. admonition:: Example
- ``mpv --af=sub=100:4 --channels=5 media.avi``
- Would add a sub-woofer channel with a cutoff frequency of 100Hz to
- output channel 4.
+ ``mpv --af=sub=100:4 --channels=5 media.avi``
+ Would add a subwoofer channel with a cutoff frequency of 100Hz to
+ output channel 4.
-center
+``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>
+ ``<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
+ 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.
+``surround[=delay]``
+ Decoder for matrix encoded surround sound like Dolby Surround. Some files
+ with 2-channel audio actually contain matrix encoded surround sound.
- <delay>
+ ``<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*:
+ .. admonition:: Example
- ``mpv --af=surround=15 --channels=4 media.avi``
- Would add surround sound decoding with 15ms delay for the sound to the
- rear speakers.
+ ``mpv --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:...]
+``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,...
+ ``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:
+ 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
@@ -405,46 +399,47 @@ delay[=ch1:ch2:...]
3. Calculate the required delays in ms as ``d[i] = 1000*s[i]/342; i =
1...5``.
- *EXAMPLE*:
+ .. admonition:: Example
- ``mpv --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.
+ ``mpv --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 subwoofer by 0ms and the center channel by 7ms.
-export[=mmapped_file[:nsamples]]
+``export[=mmapped_file[:nsamples]]``
Exports the incoming signal to other processes using memory mapping
- (``mmap()``). Memory mapped areas contain a header:
+ (``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. \*/
+ 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.
+ The rest is payload (non-interleaved) 16-bit data.
- <mmapped_file>
- file to map data to (default: ``~/.mpv/mpv-af_export``)
- <nsamples>
- number of samples per channel (default: 512)
+ ``<mmapped_file>``
+ File to map data to (default: ``~/.mpv/mpv-af_export``).
+ ``<nsamples>``
+ number of samples per channel (default: 512).
- *EXAMPLE*:
+ .. admonition:: Example
- ``mpv --af=export=/tmp/mpv-af_export:1024 media.avi``
- Would export 1024 samples per channel to ``/tmp/mpv-af_export``.
+ ``mpv --af=export=/tmp/mpv-af_export:1024 media.avi``
+ Would export 1024 samples per channel to ``/tmp/mpv-af_export``.
-extrastereo[=mul]
+``extrastereo[=mul]``
(Linearly) increases the difference between left and right channels which
adds some sort of "live" effect to playback.
- <mul>
+ ``<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.
-drc[=method:target]
+``drc[=method:target]``
Applies dynamic range compression. This maximizes the volume by compressing
the audio signal's dynamic range.
- <method>
+ ``<method>``
Sets the used method.
1
@@ -454,41 +449,46 @@ drc[=method:target]
Use several samples to smooth the variations via the standard
weighted mean over past samples.
- <target>
+ ``<target>``
Sets the target amplitude as a fraction of the maximum for the sample
type (default: 0.25).
- *NOTE*: This filter can cause distortion with audio signals that have a
- very large dynamic range.
+ .. note::
-ladspa=file:label[:controls...]
+ This filter can cause distortion with audio signals that have a very
+ large dynamic range.
+
+``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>
+ ``<file>``
+ Specifies the LADSPA plugin library file.
+
+ .. note::
+
+ See also the note about the ``LADSPA_PATH`` variable in the
+ `ENVIRONMENT VARIABLES`_ section.
+ ``<label>``
Specifies the filter within the library. Some libraries contain only
- one filter, but others contain many of them. Entering 'help' here,
+ 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>``
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 mpv command line), all
available controls and their valid ranges are printed. This eliminates
the use of 'analyseplugin' from the LADSPA SDK.
-karaoke
+``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:...]
+``scaletempo[=option1:option2:...]``
Scales audio tempo without altering pitch, optionally synced to playback
speed (default).
@@ -498,22 +498,22 @@ scaletempo[=option1:option2:...]
optionally performs a short statistical analysis on the next 'search' ms
of audio to determine the best overlap position.
- scale=<amount>
+ ``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
+ ``stride=<amount>``
+ Length in milliseconds to output each stride. Too high of a value will
+ cause noticeable 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>
+ ``overlap=<percent>``
Percentage of stride to overlap. Decreasing improves performance.
(default: .20)
- search=<amount>
+ ``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>
+ ``speed=<tempo|pitch|both|none>``
Set response to speed change.
tempo
@@ -524,39 +524,45 @@ scaletempo[=option1:option2:...]
1.059463094352953`` to your ``input.conf`` to step by musical
semi-tones.
- *WARNING*: Loses sync with video.
+ .. warning::
+
+ Loses sync with video.
both
Scale both tempo and pitch.
none
Ignore speed changes.
- *EXAMPLE*:
+ .. admonition:: Examples
- ``mpv --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.
+ ``mpv --af=scaletempo --speed=1.2 media.ogg``
+ Would play media at 1.2x normal speed, with audio at normal
+ pitch. Changing playback speed would change audio tempo to match.
- ``mpv --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.
+ ``mpv --af=scaletempo=scale=1.2:speed=none --speed=1.2 media.ogg``
+ Would play media at 1.2x normal speed, with audio at normal
+ pitch, but changing playback speed would have no effect on audio
+ tempo.
- ``mpv --af=scaletempo=stride=30:overlap=.50:search=10 media.ogg``
- Would tweak the quality and performace parameters.
+ ``mpv --af=scaletempo=stride=30:overlap=.50:search=10 media.ogg``
+ Would tweak the quality and performace parameters.
- ``mpv --af=format=floatne,scaletempo media.ogg``
- Would make scaletempo use float code. Maybe faster on some platforms.
+ ``mpv --af=format=floatne,scaletempo media.ogg``
+ Would make scaletempo use float code. Maybe faster on some
+ platforms.
- ``mpv --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.
+ ``mpv --af=scaletempo=scale=1.2:speed=pitch audio.ogg``
+ Would play media at 1.2x normal speed, with audio at normal pitch.
+ Changing playback speed would change pitch, leaving audio tempo at
+ 1.2x.
-lavfi=graph
+``lavfi=graph``
Filter audio using ffmpeg's libavfilter.
- <graph>
+ ``<graph>``
Libavfilter graph. See ``lavfi`` video filter for details - the graph
syntax is the same.
- Warning: due to shortcomings in the current ``-af`` option parser code,
- the filter graph must not contain any ``,``.
+ .. warning::
+
+ Due to shortcomings in the current ``-af`` option parser code,
+ the filter graph must not contain any ``,``.
diff --git a/DOCS/man/en/ao.rst b/DOCS/man/en/ao.rst
index f8af559ee9..8ccb8a6711 100644
--- a/DOCS/man/en/ao.rst
+++ b/DOCS/man/en/ao.rst
@@ -1,20 +1,20 @@
-.. _audio_outputs:
-
AUDIO OUTPUT DRIVERS
====================
Audio output drivers are interfaces to different audio output facilities. The
syntax is:
---ao=<driver1[:suboption1[=value]:...],driver2,...[,]>
+``--ao=<driver1[:suboption1[=value]:...],driver2,...[,]>``
Specify a priority list of audio output drivers to be used.
-If the list has a trailing ',' mpv will fall back on drivers not contained
+If the list has a trailing ',', mpv 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.
+.. note::
+
+ See ``--ao=help`` for a list of compiled-in audio output drivers.
-*EXAMPLE*:
+.. admonition:: Examples
- ``--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
@@ -22,132 +22,132 @@ in the list. Suboptions are optional and can mostly be omitted.
Available audio output drivers are:
-alsa
+``alsa`` (Linux only)
ALSA 0.9/1.x audio output driver
- noblock
+ ``noblock``
Sets noblock-mode.
- device=<device>
+ ``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.
-oss
+``oss``
OSS audio output driver
- <dsp-device>
+ ``<dsp-device>``
Sets the audio output device (default: ``/dev/dsp``).
- <mixer-device>
+ ``<mixer-device>``
Sets the audio mixer device (default: ``/dev/mixer``).
- <mixer-channel>
- Sets the audio mixer channel (default: pcm).
+ ``<mixer-channel>``
+ Sets the audio mixer channel (default: ``pcm``).
-jack
- audio output through JACK (Jack Audio Connection Kit)
+``jack``
+ JACK (Jack Audio Connection Kit) audio output driver
- port=<name>
+ ``port=<name>``
Connects to the ports with the given name (default: physical ports).
- name=<client>
+ ``name=<client>``
Client name that is passed to JACK (default: mpv [<PID>]). Useful
if you want to have certain connections established automatically.
- (no-)estimate
+ ``(no-)estimate``
Estimate the audio delay, supposed to make the video playback smoother
(default: enabled).
- (no-)autostart
+ ``(no-)autostart``
Automatically start jackd if necessary (default: disabled). Note that
- this seems unreliable and will spam stdout with server messages.
- (no-)connect
+ this tends to be unreliable and will flood stdout with server messages.
+ ``(no-)connect``
Automatically create connections to output ports (default: enabled).
When enabled, the maximum number of output channels will be limited to
the number of available output ports.
- std-channel-layout=alsa|waveext|any
+ ``std-channel-layout=alsa|waveext|any``
Select the standard channel layout (default: alsa). JACK itself has no
notion of channel layouts (i.e. assigning which speaker a given
channel is supposed to map to) - it just takes whatever the application
outputs, and reroutes it to whatever the user defines. This means the
- user and the application is in charge of dealing with the channel
+ user and the application are in charge of dealing with the channel
layout. ``alsa`` uses the old MPlayer layout, which is inspired by
ALSA's standard layouts. In this mode, ao_jack will refuse to play 3
- or 7 channels (because these don't really have a defined meaning in
- MPlayer). ``waveext`` uses WAVE_FORMAT_EXTENSIBLE order, which even
+ or 7 channels (because these do not really have a defined meaning in
+ MPlayer). ``waveext`` uses WAVE_FORMAT_EXTENSIBLE order, which, even
though it was defined by Microsoft, is the standard on many systems.
The value ``any`` makes JACK accept whatever comes from the audio
filter chain, regardless of channel layout and without reordering. This
- mode is probably not very useful, other than debugging or when used
+ mode is probably not very useful, other than for debugging or when used
with fixed setups.
-coreaudio (Mac OS X only)
- native Mac OS X audio output driver
+``coreaudio`` (Mac OS X only)
+ Native Mac OS X audio output driver
- device_id=<id>
+ ``device_id=<id>``
ID of output device to use (0 = default device)
- help
+ ``help``
List all available output devices with their IDs.
-openal
+``openal``
Experimental OpenAL audio output driver
-pulse
+``pulse``
PulseAudio audio output driver
- [<host>][:<output sink>]
+ ``[<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).
-portaudio
- PortAudio audio output driver. This works on all platforms, and has extensive
- MS Windows support.
+``portaudio``
+ PortAudio audio output driver. This works on all platforms, and has
+ extensive MS Windows support.
- device
+ ``device``
Specify the subdevice to use. Giving ``help`` as device name lists all
devices found by PortAudio. Devices can be given as numeric values,
starting from ``1``.
-dsound (Windows only)
+``dsound`` (Windows only)
DirectX DirectSound audio output driver
- device=<devicenum>
+ ``device=<devicenum>``
Sets the device number to use. Playing a file with ``-v`` will show a
list of available devices.
-sdl
- SDL 1.2+ audio output driver. Should work everywhere where SDL 1.2 builds,
- but may require the SDL_AUDIODRIVER environment variable to be set
+``sdl``
+ SDL 1.2+ audio output driver. Should work on any platform supported by SDL
+ 1.2, but may require the ``SDL_AUDIODRIVER`` environment variable to be set
appropriately for your system.
- buflen=<length>
- Sets the audio buffer length in seconds. Is used only approximately,
- or even disaregarded entirely by the sound system. Playing a file with
- ``-v`` will show the requested and obtained exact buffer size. A value
- of 0 selects the sound system default.
+ ``buflen=<length>``
+ Sets the audio buffer length in seconds. Is used only as a hint by the
+ sound system. Playing a file with ``-v`` will show the requested and
+ obtained exact buffer size. A value of 0 selects the sound system
+ default.
- bufcnt=<count>
+ ``bufcnt=<count>``
Sets the number of extra audio buffers in mpv. Usually needs not be
changed.
-null
+``null``
Produces no audio output but maintains video playback speed. Use
``--no-audio`` for benchmarking.
-pcm
- raw PCM/wave file writer audio output
+``pcm``
+ Raw PCM/WAVE file writer audio output
- (no-)waveheader
- Include or do not include the wave header (default: included). When
+ ``(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
+ ``file=<filename>``
+ Write the sound to ``<filename>`` instead of the default
+ ``audiodump.wav``. If ``no-waveheader`` is specified, the default is
``audiodump.pcm``.
-rsound
- audio output to an RSound daemon
+``rsound``
+ Audio output to an RSound daemon
- host=<name/path>
+ ``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>
+ ``port=<number>``
Set the TCP port used for connecting to the server (default: 12345).
Not used if connecting to a Unix domain socket.
diff --git a/DOCS/man/en/changes.rst b/DOCS/man/en/changes.rst
index e6a20b6ddf..70f6fd71ec 100644
--- a/DOCS/man/en/changes.rst
+++ b/DOCS/man/en/changes.rst
@@ -1,5 +1,3 @@
-.. _changes:
-
CHANGES FROM OTHER VERSIONS OF MPLAYER
======================================
@@ -8,11 +6,11 @@ MPlayer (also called mplayer, mplayer-svn, mplayer1). Many changes
have been made. Some changes are incompatible, or completely change how the
player behaves.
-General Changes for MPlayer-svn to mplayer2
--------------------------------------------
+General Changes for MPlayer to mplayer2
+---------------------------------------
* Removal of the internal GUI, MEncoder, OSD menu
-* Better pause handling (don't unpause on a command)
+* Better pause handling (do not unpause on a command)
* Better MKV support (such as ordered chapters)
* vo_vdpau improvements
* Precise seeking support
@@ -83,60 +81,62 @@ Command Line Switches
syntax. ``-optname optvalue`` becomes ``--optname=optvalue``.
The old syntax will not be removed in the near future. However, the new
- syntax is mentioned in all documentation and so on, so it's a good thing to
+ syntax is mentioned in all documentation and so on, so it is a good thing to
know about this change.
(The new syntax was introduced in mplayer2.)
* In general, negating switches like ``-noopt`` now have to be written as
``-no-opt``, or better ``--no-opt``.
* Per-file options are not the default anymore. You can explicitly specify
- file local options. See ``Usage`` section.
+ file-local options. See ``Usage`` section.
* Table of renamed/replaced switches:
- =================================== ===================================
- Old New
- =================================== ===================================
- -no<opt> --no-<opt> (add a dash)
- -nosound --no-audio
- -use-filename-title --title="${filename}"
- -loop 0 --loop=inf
- -hardframedrop --framedrop=hard
- -osdlevel --osd-level
- -delay --audio-delay
- -subdelay --sub-delay
- -subpos --sub-pos
- -forcedsubsonly --sub-forced-only
- -ni --avi-ni
- -benchmark --untimed (no stats)
- -xineramascreen --screen (different values)
- -ss --start
- -endpos --length
- --cursor-autohide-delay --cursor-autohide
- -sub-fuzziness --autosub-match
- -subfont --sub-text-font
- -font --osd-font
- -subfont-* --sub-text-*, --osd-*
- -subfont-text-scale --sub-scale
- -spugauss --sub-gauss
- -vobsub --sub (pass the .idx file)
- -ass-bottom-margin --vf=sub=bottom:top
- -vc ffh264vdpau (etc.) --hwdec=vdpau
- -ac spdifac3 --ad=spdif:ac3 (see --ad=help)
- -afm hwac3 --ad=spdif:ac3,spdif:dts
- -x W, -y H --geometry=WxH + --no-keepaspect
- -xy W --autofit=W
- -a52drc level --ad-lavc-ac3drc=level
- -dumpstream --stream-dump=<filename>
- -capture --stream-capture=<filename>
- -stop-xscreensaver --stop-screensaver
- -subfile --sub
- -lavdopts ... --vd-lavc-...
- -lavfdopts --demuxer-lavf-...
- -rawaudio ... --demuxer-rawaudio-...
- -rawvideo ... --demuxer-rawvideo-...
- =================================== ===================================
-
-*NOTE*: ``-opt val`` becomes ``--opt=val``.
+ =========================== ========================================
+ Old New
+ =========================== ========================================
+ ``-no<opt>`` ``--no-<opt>`` (add a dash)
+ ``-nosound`` ``--no-audio``
+ ``-use-filename-title`` ``--title="${filename}"``
+ ``-loop 0`` ``--loop=inf``
+ ``-hardframedrop`` ``--framedrop=hard``
+ ``-osdlevel`` ``--osd-level``
+ ``-delay`` ``--audio-delay``
+ ``-subdelay`` ``--sub-delay``
+ ``-subpos`` ``--sub-pos``
+ ``-forcedsubsonly`` ``--sub-forced-only``
+ ``-ni`` ``--avi-ni``
+ ``-benchmark`` ``--untimed`` (no stats)
+ ``-xineramascreen`` ``--screen`` (different values)
+ ``-ss`` ``--start``
+ ``-endpos`` ``--length``
+ ``--cursor-autohide-delay`` ``--cursor-autohide``
+ ``-sub-fuzziness`` ``--autosub-match``
+ ``-subfont`` ``--sub-text-font``
+ ``-font`` ``--osd-font``
+ ``-subfont-*`` ``--sub-text-*``, ``--osd-*``
+ ``-subfont-text-scale`` ``--sub-scale``
+ ``-spugauss`` ``--sub-gauss``
+ ``-vobsub`` ``--sub`` (pass the .idx file)
+ ``-ass-bottom-margin`` ``--vf=sub=bottom:top``
+ ``-vc ffh264vdpau`` (etc.) ``--hwdec=vdpau``
+ ``-ac spdifac3`` ``--ad=spdif:ac3`` (see ``--ad=help``)
+ ``-afm hwac3`` ``--ad=spdif:ac3,spdif:dts``
+ ``-x W``, ``-y H`` ``--geometry=WxH`` + ``--no-keepaspect``
+ ``-xy W`` ``--autofit=W``
+ ``-a52drc level`` ``--ad-lavc-ac3drc=level``
+ ``-dumpstream`` ``--stream-dump=<filename>``
+ ``-capture`` ``--stream-capture=<filename>``
+ ``-stop-xscreensaver`` ``--stop-screensaver``
+ ``-subfile`` ``--sub``
+ ``-lavdopts ...`` ``--vd-lavc-...``
+ ``-lavfdopts`` ``--demuxer-lavf-...``
+ ``-rawaudio ...`` ``--demuxer-rawaudio-...``
+ ``-rawvideo ...`` ``--demuxer-rawvideo-...``
+ =========================== ========================================
+
+.. note::
+
+ ``-opt val`` becomes ``--opt=val``.
input.conf and Slave Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -153,52 +153,55 @@ input.conf and Slave Commands
+--------------------------------+----------------------------------------+
| Old | New |
+================================+========================================+
- | pt_step 1 [0|1] | playlist_next [weak|force] |
- | | (translation layer can't deal with |
+ | ``pt_step 1 [0|1]`` | ``playlist_next [weak|force]`` |
+ | | (translation layer cannot deal with |
| | whitespace) |
+--------------------------------+----------------------------------------+
- | pt_step -1 [0|1] | playlist_prev [weak|force] (same) |
+ | ``pt_step -1 [0|1]`` | ``playlist_prev [weak|force] (same)`` |
+--------------------------------+----------------------------------------+
- | switch_ratio [<ratio>] | set aspect <ratio> |
- | | set aspect 0 (to reset aspect) |
+ | ``switch_ratio [<ratio>]`` | ``set aspect <ratio>`` |
+ | | |
+ | | ``set aspect 0`` (to reset aspect) |
+--------------------------------+----------------------------------------+
- | step_property_osd <prop> <step>| cycle <prop> <step> (wraps), |
- | <dir> | add <prop> <step> (clamps). |
- | | <dir> parameter unsupported. Use |
- | | a negative step instead. |
+ | ``step_property_osd <prop>`` | ``cycle <prop> <step>`` (wraps), |
+ | ``<step> <dir>`` | ``add <prop> <step>`` (clamps). |
+ | | ``<dir>`` parameter unsupported. Use |
+ | | a negative ``<step>`` instead. |
+--------------------------------+----------------------------------------+
- | step_property <prop> <step> | Prefix cycle or add with no-osd: |
- | <dir> | no-osd cycle <prop> <step> |
+ | ``step_property <prop>`` | Prefix ``cycle`` or ``add`` with |
+ | ``<step> <dir>`` | ``no-osd``: ``no-osd cycle <prop>`` |
+ | | ``<step>`` |
+--------------------------------+----------------------------------------+
- | osd_show_property_text <text> | show_text <text> |
- | | The property expansion format string |
+ | ``osd_show_property_text`` | ``show_text <text>`` |
+ | ``<text>`` | The property expansion format string |
| | syntax slightly changed. |
+--------------------------------+----------------------------------------+
- | osd_show_text | Now does the same as |
- | | osd_show_property_text. Use the raw |
- | | prefix to disable property expansion. |
+ | ``osd_show_text`` | Now does the same as |
+ | | ``osd_show_property_text``. Use the |
+ | | ``raw`` prefix to disable property |
+ | | expansion. |
+--------------------------------+----------------------------------------+
- | show_tracks | show_text ${track-list} |
+ | ``show_tracks`` | ``show_text ${track-list}`` |
+--------------------------------+----------------------------------------+
- | show_chapters | show_text ${chapter-list} |
+ | ``show_chapters`` | ``show_text ${chapter-list}`` |
+--------------------------------+----------------------------------------+
Other
~~~~~
* The playtree has been removed. **mpv**'s internal playlist is a simple and
- flat list now. This makes the code easier, and makes **mpv** usage less
+ flat list now. This simplifies the code and makes **mpv** usage less
confusing.
* Slave mode is broken. This mode is entirely insane in the ``old`` versions of
- mplayer. A proper slave mode application needed tons of code and hacks to get
+ MPlayer. A proper slave mode application needed tons of code and hacks to get
it right. The main problem is that slave mode is a bad and incomplete
interface, and to get around that, applications parsed output messages
- intended for users. It's hard to know which messages exactly are parsed by
+ intended for users. It is hard to know which messages exactly are parsed by
slave mode applications. This makes it virtually impossible to improve
terminal output intended for users without possibly breaking something.
This is absolutely insane, and **mpv** will not try to keep slave mode
- compatible. If you're a developer of a slave mode application, contact us,
+ compatible. If you are a developer of a slave mode application, contact us,
and a new and better protocol can be developed.
Policy for Removed Features
@@ -210,22 +213,22 @@ likely to be not used by many, and causes problems otherwise, it will be
removed. Developers should not be burdened with fixing or cleaning up code that
has no actual use.
-It's always possible to add back removed features. File a feature request if a
-feature you relied on was removed, and you want it back. Though it might be
-rejected in the worst case, it's much more likely that it will be either added
+It is always possible to add back removed features. File a feature request if a
+feature you relied on has been removed, and you want it back. Though it might be
+rejected in the worst case, it is much more likely that it will be either added
back, or that a better solution will be implemented.
Why this Fork?
--------------
-* mplayer-svn wants to maintain old code, even if it's very bad code. It seems
- mplayer2 was forked, because mplayer-svn developers refused to get rid of
- all the cruft. The mplayer2 and mplayer-svn codebases also deviated enough to
- make a reunification unlikely.
-* mplayer2 development is slow, and it's hard to get in changes. Details
+* MPlayer wants to maintain old code, even if it is very bad code. It seems
+ mplayer2 was forked because MPlayer developers refused to get rid of all the
+ cruft. The mplayer2 and MPlayer codebases also deviated enough to make a
+ reunification unlikely.
+* mplayer2 development is slow, and it is hard to get in changes. Details
withheld as to not turn this into a rant.
-* mplayer-svn rarely merged from mplayer2, and mplayer2 practically stopped
- merging from mplayer-svn (not even code cleanups or new features are merged)
-* **mpv** intents to continuously merge from mplayer-svn and mplayer2, while
+* MPlayer rarely merged from mplayer2, and mplayer2 practically stopped
+ merging from MPlayer (not even code cleanups or new features are merged)
+* **mpv** intends to continuously merge from mplayer-svn and mplayer2, while
speeding up development. There is willingness for significant changes, even
if this means breaking compatibility.
diff --git a/DOCS/man/en/encode.rst b/DOCS/man/en/encode.rst
index 0676cb1479..3608bfa896 100644
--- a/DOCS/man/en/encode.rst
+++ b/DOCS/man/en/encode.rst
@@ -1,147 +1,151 @@
-.. _encode:
-
ENCODING
========
You can encode files from one format/codec to another using this facility.
--o <filename>
+``-o <filename>``
Enables encoding mode and specifies the output file name.
---of=<format>
- Specifies the output format (overrides autodetection by the extension of
- the file specified by -o). This can be a comma separated list of possible
- formats to try. See --of=help for a full list of supported formats.
+``--of=<format>``
+ Specifies the output format (overrides autodetection by the file name
+ extension of the file specified by ``-o``). This can be a comma separated
+ list of possible formats to try. See ``--of=help`` for a full list of
+ supported formats.
---ofopts=<options>
+``--ofopts=<options>``
Specifies the output format options for libavformat.
- See --ofopts=help for a full list of supported options.
+ See ``--ofopts=help`` for a full list of supported options.
Options are managed in lists. There are a few commands to manage the
options list.
- --ofopts-add=<options1[,options2,...]>
+ ``--ofopts-add=<options1[,options2,...]>``
Appends the options given as arguments to the options list.
- --ofopts-pre=<options1[,options2,...]>
+ ``--ofopts-pre=<options1[,options2,...]>``
Prepends the options given as arguments to the options list.
- --ofopts-del=<index1[,index2,...]>
+ ``--ofopts-del=<index1[,index2,...]>``
Deletes the options at the given indexes. Index numbers start at 0,
negative numbers address the end of the list (-1 is the last).
- --ofopts-clr
+ ``--ofopts-clr``
Completely empties the options list.
---ofps=<float value>
+``--ofps=<float value>``
Specifies the output format time base (default: 24000). Low values like 25
limit video fps by dropping frames.
---oautofps
+``--oautofps``
Sets the output format time base to the guessed frame rate of the input
- video (simulates mencoder behaviour, useful for AVI; may cause frame
- drops). Note that not all codecs and not all formats support VFR
- encoding, and some which do have bugs when a target bitrate is
- specified - use --ofps or --oautofps to force CFR encoding in these
- cases.
+ video (simulates mencoder behavior, useful for AVI; may cause frame drops).
+ Note that not all codecs and not all formats support VFR encoding, and some
+ which do have bugs when a target bitrate is specified - use ``--ofps`` or
+ ``--oautofps`` to force CFR encoding in these cases.
---omaxfps=<float value>
+``--omaxfps=<float value>``
Specifies the minimum distance of adjacent frames (default: 0, which means
unset). Content of lower frame rate is not readjusted to this frame rate;
content of higher frame rate is decimated to this frame rate.
---oharddup
- If set, the frame rate given by --ofps is attained not by skipping time
+``--oharddup``
+ If set, the frame rate given by ``--ofps`` is attained not by skipping time
codes, but by duplicating frames (constant frame rate mode).
---oneverdrop
+``--oneverdrop``
If set, frames are never dropped. Instead, time codes of video are
- readjusted to always increase. This may cause AV desync, though; to
- work around this, use a high-fps time base using --ofps and absolutely
- avoid --oautofps.
+ readjusted to always increase. This may cause AV desync, though; to work
+ around this, use a high-fps time base using ``--ofps`` and absolutely
+ avoid ``--oautofps``.
---oac=<codec>
+``--oac=<codec>``
Specifies the output audio codec. This can be a comma separated list of
- possible codecs to try. See --oac=help for a full list of supported codecs.
+ possible codecs to try. See ``--oac=help`` for a full list of supported
+ codecs.
---oaoffset=<value>
+``--oaoffset=<value>``
Shifts audio data by the given time (in seconds) by adding/removing
samples at the start.
---oacopts=<options>
+``--oacopts=<options>``
Specifies the output audio codec options for libavcodec.
- See --oacopts=help for a full list of supported options.
+ See ``--oacopts=help`` for a full list of supported options.
+
+ .. admonition:: Example
- EXAMPLE: "--oac=libmp3lame --oacopts=b=128000" selects 128kbps MP3
- encoding.
+ "``--oac=libmp3lame --oacopts=b=128000``"
+ selects 128kbps MP3 encoding.
Options are managed in lists. There are a few commands to manage the
options list.
- --oacopts-add=<options1[,options2,...]>
+ ``--oacopts-add=<options1[,options2,...]>``
Appends the options given as arguments to the options list.
- --oacopts-pre=<options1[,options2,...]>
+ ``--oacopts-pre=<options1[,options2,...]>``
Prepends the options given as arguments to the options list.
- --oacopts-del=<index1[,index2,...]>
+ ``--oacopts-del=<index1[,index2,...]>``
Deletes the options at the given indexes. Index numbers start at 0,
negative numbers address the end of the list (-1 is the last).
- --oacopts-clr
+ ``--oacopts-clr``
Completely empties the options list.
---oafirst
+``--oafirst``
Force the audio stream to become the first stream in the output. By default
the order is unspecified.
---ovc=<codec>
+``--ovc=<codec>``
Specifies the output video codec. This can be a comma separated list of
- possible codecs to try. See --ovc=help for a full list of supported codecs.
+ possible codecs to try. See ``--ovc=help`` for a full list of supported
+ codecs.
---ovoffset=<value>
+``--ovoffset=<value>``
Shifts video data by the given time (in seconds) by shifting the pts
values.
---ovcopts <options>
+``--ovcopts <options>``
Specifies the output video codec options for libavcodec.
See --ovcopts=help for a full list of supported options.
- EXAMPLE: "--ovc=mpeg4 --oacopts=qscale=5" selects constant quantizer scale
- 5 for MPEG-4 encoding.
+ .. admonition:: Examples
+
+ ``"--ovc=mpeg4 --oacopts=qscale=5"``
+ selects constant quantizer scale 5 for MPEG-4 encoding.
- EXAMPLE: "--ovc=libx264 --ovcopts=crf=23" selects VBR quality factor 23 for
- H.264 encoding.
+ ``"--ovc=libx264 --ovcopts=crf=23"``
+ selects VBR quality factor 23 for H.264 encoding.
Options are managed in lists. There are a few commands to manage the
options list.
- --ovcopts-add=<options1[,options2,...]>
+ ``--ovcopts-add=<options1[,options2,...]>``
Appends the options given as arguments to the options list.
- --ovcopts-pre=<options1[,options2,...]>
+ ``--ovcopts-pre=<options1[,options2,...]>``
Prepends the options given as arguments to the options list.
- --ovcopts-del=<index1[,index2,...]>
+ ``--ovcopts-del=<index1[,index2,...]>``
Deletes the options at the given indexes. Index numbers start at 0,
negative numbers address the end of the list (-1 is the last).
- --ovcopts-clr
+ ``--ovcopts-clr``
Completely empties the options list.
---ovfirst
+``--ovfirst``
Force the video stream to become the first stream in the output. By default
the order is unspecified.
---ocopyts
+``--ocopyts``
Copies input pts to the output video (not supported by some output
- container formats, e.g. avi). Discontinuities are still fixed.
+ container formats, e.g. AVI). Discontinuities are still fixed.
By default, audio pts are set to playback time and video pts are
synchronized to match audio pts, as some output formats do not support
anything else.
---orawts
+``--orawts``
Copies input pts to the output video (not supported by some output
- container formats, e.g. avi). In this modem discontinuities are not fixed
+ container formats, e.g. AVI). In this mode, discontinuities are not fixed
and all pts are passed through as-is. Never seek backwards or use multiple
input files in this mode!
diff --git a/DOCS/man/en/input.rst b/DOCS/man/en/input.rst
index 5b8a57ead1..7dab3bb1b4 100644
--- a/DOCS/man/en/input.rst
+++ b/DOCS/man/en/input.rst
@@ -1,11 +1,9 @@
-.. _input:
-
INPUT.CONF
==========
-The input.conf file consists of a list of key bindings, for example:
+The input.conf file consists of a list of key bindings, for example::
-| s screenshot # take a screenshot with the s key
+ s screenshot # take a screenshot with the s key
Each line maps a key to an input command. Keys are specified with their literal
value (upper case if combined with ``Shift``), or a name for special keys. For
@@ -14,16 +12,16 @@ with shift.
A list of special keys can be obtained with
-| **mpv** --input-keylist
+ ``mpv --input-keylist``
-In general, keys can be combined with ``Shift``, ``Ctrl`` and ``Alt``:
+In general, keys can be combined with ``Shift``, ``Ctrl`` and ``Alt``::
-| ctrl+q quit
+ ctrl+q quit
**mpv** can be started in input test mode, which displays key bindings and the
-commands they're bound to on the OSD, instead of running the commands:
+commands they're bound to on the OSD, instead of executing the commands::
-| **mpv** --input-test --demuxer=rawvideo --rawvideo=w=1280:h=720 /dev/zero
+ mpv --input-test --demuxer=rawvideo --rawvideo=w=1280:h=720 /dev/zero
(Commands which normally close the player will not work in this mode, and you
must kill **mpv** externally to make it exit.)
@@ -31,31 +29,32 @@ must kill **mpv** externally to make it exit.)
General Input Command Syntax
----------------------------
-`[Shift+][Ctrl+][Alt+][Meta+]<key> [{<section>}] [<prefixes>] <command> (<argument>)*`
+``[Shift+][Ctrl+][Alt+][Meta+]<key> [{<section>}] [<prefixes>] <command> (<argument>)*``
Newlines always start a new binding. ``#`` starts a comment (outside of quoted
string arguments). To bind commands to the ``#`` key, ``SHARP`` can be used.
-<key> is either the literal character the key produces (ASCII or unicode
+``<key>`` is either the literal character the key produces (ASCII or Unicode
character), or a symbol name.
-<section> (braced with ``{`` and ``}``) is the input section for this command.
+``<section>`` (braced with ``{`` and ``}``) is the input section for this
+command.
Arguments are separated by whitespace. This applies even to string arguments.
For this reason, string arguments should be quoted with ``"``. Inside quotes,
-C style escaping can be used.
+C-style escaping can be used.
Optional arguments can be skipped with ``-``.
List of Input Commands
----------------------
-ignore
+``ignore``
Use this to "block" keys that should be unbound, and do nothing. Useful for
disabling default bindings, without disabling all bindings with
``--no-input-default-bindings``.
-seek <seconds> [relative|absolute|absolute-percent|- [default-precise|exact|keyframes]]
+``seek <seconds> [relative|absolute|absolute-percent|- [default-precise|exact|keyframes]]``
Change the playback position. By default, seeks by a relative amount of
seconds.
@@ -78,10 +77,10 @@ seek <seconds> [relative|absolute|absolute-percent|- [default-precise|exact|keyf
keyframes
Always restart playback at keyframe boundaries (fast).
-frame_step
+``frame_step``
Play one frame, then pause.
-frame_back_step
+``frame_back_step``
Go back by one frame, then pause. Note that this can be very slow (it tries
to be precise, not fast), and sometimes fails to behave as expected. How
well this works depends on whether precise seeking works correctly (e.g.
@@ -90,24 +89,24 @@ frame_back_step
usually work, but might make backstepping silently behave incorrectly in
corner cases.
- This doesn't work with audio-only playback.
+ This does not work with audio-only playback.
-set <property> "<value>"
+``set <property> "<value>"``
Set the given property to the given value.
-add <property> [<value>]
+``add <property> [<value>]``
Add the given value to the property. On overflow or underflow, clamp the
- property to the maximum. If <value> is omitted, assume ``1``.
+ property to the maximum. If ``<value>`` is omitted, assume ``1``.
-cycle <property> [up|down]
+``cycle <property> [up|down]``
Cycle the given property. ``up`` and ``down`` set the cycle direction. On
overflow, set the property back to the minimum, on underflow set it to the
maximum. If ``up`` or ``down`` is omitted, assume ``up``.
-speed_mult <value>
+``speed_mult <value>``
Multiply the ``speed`` property by the given value.
-screenshot [subtitles|video|window|- [single|each-frame]]
+``screenshot [subtitles|video|window|- [single|each-frame]]``
Take a screenshot.
First argument:
@@ -132,7 +131,7 @@ screenshot [subtitles|video|window|- [single|each-frame]]
Take a screenshot each frame. Issue this command again to stop taking
screenshots.
-playlist_next [weak|force]
+``playlist_next [weak|force]``
Go to the next entry on the playlist.
weak (default)
@@ -140,7 +139,7 @@ playlist_next [weak|force]
force
Terminate playback if there are no more files on the playlist.
-playlist_prev [weak|force]
+``playlist_prev [weak|force]``
Go to the previous entry on the playlist.
weak (default)
@@ -148,7 +147,7 @@ playlist_prev [weak|force]
force
Terminate playback if the first file is being played.
-loadfile "<file>" [replace|append]
+``loadfile "<file>" [replace|append]``
Load the given file and play it.
Second argument:
@@ -158,91 +157,94 @@ loadfile "<file>" [replace|append]
<append>
Append the file to the playlist.
-loadlist "<playlist>" [replace|append]
+``loadlist "<playlist>" [replace|append]``
Load the given playlist file (like ``--playlist``).
-playlist_clear
+``playlist_clear``
Clear the playlist, except the currently played file.
-playlist_remove <index>
+``playlist_remove <index>``
Remove the playlist entry at the given index. Index values start counting
- with 0. You can't remove the entry for the currently played file.
+ with 0. You cannot remove the entry for the currently played file.
-playlist_move <index1> <index2>
+``playlist_move <index1> <index2>``
Move the playlist entry at index1, so that it takes the place of the
entry index2. (Paradoxically, the moved playlist entry will not have
the index value index2 after moving if index1 was lower than index2,
because index2 refers to the target entry, not the index the entry
will have after moving.)
-run "<command>"
+``run "<command>"``
Run the given command with ``/bin/sh -c``. The string is expanded like in
- property_expansion_.
+ `Property Expansion`_.
-quit [<code>]
+``quit [<code>]``
Exit the player using the given exit code.
-quit_watch_later
+``quit_watch_later``
Exit player, and store current playback position. Playing that file later
will seek to the previous position on start.
-sub_add "<file>"
- Load the given subtitle file. It's not selected as current subtitle after
+``sub_add "<file>"``
+ Load the given subtitle file. It is not selected as current subtitle after
loading.
-sub_remove [<id>]
+``sub_remove [<id>]``
Remove the given subtitle track. If the ``id`` argument is missing, remove
the current track. (Works on external subtitle files only.)
-sub_reload [<id>]
+``sub_reload [<id>]``
Reload the given subtitle tracks. If the ``id`` argument is missing, remove
the current track. (Works on external subtitle files only.)
This works by unloading and re-adding the subtitle track.
-sub_step <skip>
- Change subtitle timing such, that the subtitle event after the next <skip>
- subtitle events is displayed. <skip> can be negative to step back.
+``sub_step <skip>``
+ Change subtitle timing such, that the subtitle event after the next
+ ``<skip>`` subtitle events is displayed. ``<skip>`` can be negative to step
+ backwards.
-osd [<level>]
- Toggle OSD level. If <level> is specified, set the OSD mode
+``osd [<level>]``
+ Toggle OSD level. If ``<level>`` is specified, set the OSD mode
(see ``--osd-level`` for valid values).
-print_text "<string>"
+``print_text "<string>"``
Print text to stdout. The string can contain properties (see
- property_expansion_).
+ `Property Expansion`_).
-show_text "<string>" [<duration>|- [<level>]]
+``show_text "<string>" [<duration>|- [<level>]]``
Show text on the OSD. The string can contain properties, which are expanded
- as described in property_expansion_. This can be used to show playback
+ as described in `Property Expansion`_. This can be used to show playback
time, filename, and so on.
- <duration> is the time in ms to show the message. By default, it uses the
- same value as ``--osd-duration``.
+ <duration>
+ The time in ms to show the message for. By default, it uses the same
+ value as ``--osd-duration``.
- <level> is the minimum OSD level to show the text (see ``--osd-level``).
+ <level>
+ The minimum OSD level to show the text at (see ``--osd-level``).
-show_progress
+``show_progress``
Show the progress bar, the elapsed time and the total duration of the file
on the OSD.
Input Commands that are Possibly Subject to Change
--------------------------------------------------
-af_switch "filter1=params,filter2,..."
+``af_switch "filter1=params,filter2,..."``
Replace the current filter chain with the given list.
-af_add "filter1=params,filter2,..."
+``af_add "filter1=params,filter2,..."``
Add the given list of audio filters to the audio filter chain.
-af_del "filter1,filter2,..."
+``af_del "filter1,filter2,..."``
Remove the given list of audio filters.
-af_clr
+``af_clr``
Remove all audio filters. (Conversion filters will be re-added
automatically if needed.)
-vf set|add|toggle|del "filter1=params,filter2,..."
+``vf set|add|toggle|del "filter1=params,filter2,..."``
Change video filter chain.
The first argument decides what happens:
@@ -267,64 +269,66 @@ vf set|add|toggle|del "filter1=params,filter2,..."
filter.
You can assign labels to filter by prefixing them with ``@name:`` (where
- ``name`` is a user-chosen arbitrary identifiers). Labels can be used to
+ ``name`` is a user-chosen arbitrary identifier). Labels can be used to
refer to filters by name in all of the filter chain modification commands.
For ``add``, using an already used label will replace the existing filter.
- *EXAMPLE for input.conf*:
+ .. admonition:: Example for input.conf
- - ``a vf set flip`` turn video upside-down on the ``a`` key
- - ``b vf set ""`` remove all video filters on ``b``
- - ``c vf toggle lavfi=gradfun`` toggle debanding on ``c``
+ - ``a vf set flip`` turn video upside-down on the ``a`` key
+ - ``b vf set ""`` remove all video filters on ``b``
+ - ``c vf toggle lavfi=gradfun`` toggle debanding on ``c``
-enable_section "<section>" [default|exclusive]
+``enable_section "<section>" [default|exclusive]``
Enable all key bindings in the named input section.
The enabled input sections form a stack. Bindings in sections on the top of
the stack are preferred to lower sections. This command puts the section
- on top of the stack. If the section was already on the stack, it's
- implicitly removed beforehand. (A section can't be on the stack twice.)
+ on top of the stack. If the section was already on the stack, it is
+ implicitly removed beforehand. (A section cannot be on the stack more than
+ once.)
If ``exclusive`` is specified as second argument, all sections below the
newly enabled section are disabled. They will be re-enabled as soon as
- all exclusive above them are removed.
+ all exclusive sections above them are removed.
-disable_section "<section>"
+``disable_section "<section>"``
Disable the named input section. Undoes ``enable_section``.
-Undocumented commands: tv_start_scan, tv_step_channel, tv_step_norm,
-tv_step_chanlist, tv_set_channel, tv_last_channel, tv_set_freq, tv_step_freq,
-tv_set_norm, dvb_set_channel, radio_step_channel, radio_set_channel,
-radio_set_freq, radio_step_freq (all of these should be replaced by properties),
-stop (questionable use), get_property (?), af_cmdline, vo_cmdline (experimental).
+Undocumented commands: ``tv_start_scan``, ``tv_step_channel``, ``tv_step_norm``,
+``tv_step_chanlist``, ``tv_set_channel``, ``tv_last_channel``, ``tv_set_freq``,
+``tv_step_freq``, ``tv_set_norm``, ``dvb_set_channel``, ``radio_step_channel``,
+``radio_set_channel``, ``radio_set_freq``, ``radio_step_freq`` (all of these
+should be replaced by properties), ``stop`` (questionable use), ``get_property``
+(?), ``af_cmdline``, ``vo_cmdline`` (experimental).
Input Command Prefixes
----------------------
-osd-auto (default)
+``osd-auto`` (default)
Use the default behavior for this command.
-no-osd
+``no-osd``
Do not use any OSD for this command.
-osd-bar
+``osd-bar``
If possible, show a bar with this command. Seek commands will show the
progress bar, property changing commands may show the newly set value.
-osd-msg
+``osd-msg``
If possible, show an OSD message with this command. Seek command show
the current playback time, property changing commands show the newly set
value as text.
-osd-msg-bar
+``osd-msg-bar``
Combine osd-bar and osd-msg.
-raw
- Don't expand properties in string arguments. (Like ``"${property-name}"``.)
-expand-properties (default)
- All string arguments are expanded as described in property_expansion_.
+``raw``
+ Do not expand properties in string arguments. (Like ``"${property-name}"``.)
+``expand-properties`` (default)
+ All string arguments are expanded as described in `Property Expansion`_.
All of the osd prefixes are still overridden by the global ``--osd-level``
settings.
-Undocumented prefixes: pausing, pausing_keep, pausing_toggle,
-pausing_keep_force. (Should these be made official?)
+Undocumented prefixes: ``pausing``, ``pausing_keep``, ``pausing_toggle``,
+``pausing_keep_force``. (Should these be made official?)
Input Sections
--------------
@@ -337,10 +341,10 @@ Also see ``enable_section`` and ``disable_section`` commands.
Predefined bindings:
-default
+``default``
Bindings without input section are implicitly assigned to this section. It
is enabled by default during normal playback.
-encode
+``encode``
Section which is active in encoding mode. It is enabled exclusively, so
that bindings in the ``default`` sections are ignored.
@@ -350,108 +354,106 @@ Properties
Properties are used to set mpv options during runtime, or to query arbitrary
information. They can be manipulated with the ``set``/``add``/``cycle``
commands, and retrieved with ``show_text``, or anything else that uses property
-expansion. (See property_expansion_.)
+expansion. (See `Property Expansion`_.)
-The ``W`` column indicates whether the property is generally writeable. If an
+The ``W`` column indicates whether the property is generally writable. If an
option is referenced, the property should take/return exactly the same values
as the option.
-=========================== = ==================================================
-Name W Comment
-=========================== = ==================================================
-osd-level x see ``--osd-level``
-osd-scale x osd font size multiplicator, see ``--osd-scale``
-loop x see ``--loop``
-speed x see ``--speed``
-filename currently played file (path stripped)
-path currently played file (full path)
-media-title filename or libquvi QUVIPROP_PAGETITLE
-demuxer
-stream-path filename (full path) of stream layer filename
-stream-pos x byte position in source stream
-stream-start start byte offset in source stream
-stream-end end position in bytes in source stream
-stream-length length in bytes (${stream-end} - ${stream-start})
-stream-time-pos x time position in source stream (also see time-pos)
-length length of the current file in seconds
-avsync last A/V synchronization difference
-percent-pos x position in current file (0-100)
-ratio-pos x position in current file (0.0-1.0)
-time-pos x position in current file in seconds
-time-remaining estimated remaining length of the file in seconds
-chapter x current chapter number
-edition x current MKV edition number
-titles number of DVD titles
-chapters number of chapters
-editions number of MKV editions
-angle x current DVD angle
-metadata metadata key/value pairs
-metadata/<key> value of metadata entry <key>
-pause x pause status (bool)
-cache network cache fill state (0-100)
-pts-association-mode x see ``--pts-association-mode``
-hr-seek x see ``--hr-seek``
-volume x current volume (0-100)
-mute x current mute status (bool)
-audio-delay x see ``--audio-delay``
-audio-format audio format (string)
-audio-codec audio codec selected for decoding
-audio-bitrate audio bitrate
-samplerate audio samplerate
-channels number of audio channels
-aid x current audio track (similar to ``--aid``)
-audio x alias for ``aid``
-balance x audio channel balance
-fullscreen x see ``--fullscreen``
-deinterlace x deinterlacing, if available (bool)
-colormatrix x see ``--colormatrix``
-colormatrix-input-range x see ``--colormatrix-input-range``
-colormatrix-output-range x see ``--colormatrix-output-range``
-ontop x see ``--ontop``
-border x see ``--border``
-framedrop x see ``--framedrop``
-gamma x see ``--gamma``
-brightness x see ``--brightness``
-contrast x see ``--contrast``
-saturation x see ``--saturation``
-hue x see ``--hue``
-panscan x see ``--panscan``
-video-format video format (string)
-video-codec video codec selected for decoding
-video-bitrate video bitrate
-width video width (container or decoded size)
-height video height
-fps container FPS (may contain bogus values)
-dwidth video width (after filters and aspect scaling)
-dheight video height
-aspect x video aspect
-vid x current video track (similar to ``--vid``)
-video x alias for ``vid``
-program x switch TS program (write-only)
-sid x current subtitle track (similar to ``--sid``)
-sub x alias for ``sid``
-sub-delay x see ``--sub-delay``
-sub-pos x see ``--sub-pos``
-sub-visibility x whether current subtitle is rendered
-sub-forced-only x see ``--sub-forced-only``
-sub-scale x subtitle font size multiplicator
-ass-use-margins x see ``--ass-use-margins``
-ass-vsfilter-aspect-compat x see ``--ass-vsfilter-aspect-compat``
-ass-style-override x see ``--ass-style-override``
-stream-capture x a filename, see ``--capture``
-tv-brightness x
-tv-contrast x
-tv-saturation x
-tv-hue x
-playlist-pos current position on playlist
-playlist-count number of total playlist entries
-playlist playlist, current entry marked
-track-list list of audio/video/sub tracks, cur. entr. marked
-chapter-list list of chapters, current entry marked
-quvi-format x see ``--quvi-format``
-=========================== = ==================================================
-
-.. _property_expansion:
+=============================== = ==================================================
+Name W Comment
+=============================== = ==================================================
+``osd-level`` x see ``--osd-level``
+``osd-scale`` x osd font size multiplicator, see ``--osd-scale``
+``loop`` x see ``--loop``
+``speed`` x see ``--speed``
+``filename`` currently played file (path stripped)
+``path`` currently played file (full path)
+``media-title`` filename or libquvi ``QUVIPROP_PAGETITLE``
+``demuxer``
+``stream-path`` filename (full path) of stream layer filename
+``stream-pos`` x byte position in source stream
+``stream-start`` start byte offset in source stream
+``stream-end`` end position in bytes in source stream
+``stream-length`` length in bytes (``${stream-end} - ${stream-start}``)
+``stream-time-pos`` x time position in source stream (also see ``time-pos``)
+``length`` length of the current file in seconds
+``avsync`` last A/V synchronization difference
+``percent-pos`` x position in current file (0-100)
+``ratio-pos`` x position in current file (0.0-1.0)
+``time-pos`` x position in current file in seconds
+``time-remaining`` estimated remaining length of the file in seconds
+``chapter`` x current chapter number
+``edition`` x current MKV edition number
+``titles`` number of DVD titles
+``chapters`` number of chapters
+``editions`` number of MKV editions
+``angle`` x current DVD angle
+``metadata`` metadata key/value pairs
+``metadata/<key>`` value of metadata entry ``<key>``
+``pause`` x pause status (bool)
+``cache`` network cache fill state (0-100)
+``pts-association-mode`` x see ``--pts-association-mode``
+``hr-seek`` x see ``--hr-seek``
+``volume`` x current volume (0-100)
+``mute`` x current mute status (bool)
+``audio-delay`` x see ``--audio-delay``
+``audio-format`` audio format (string)
+``audio-codec`` audio codec selected for decoding
+``audio-bitrate`` audio bitrate
+``samplerate`` audio samplerate
+``channels`` number of audio channels
+``aid`` x current audio track (similar to ``--aid``)
+``audio`` x alias for ``aid``
+``balance`` x audio channel balance
+``fullscreen`` x see ``--fullscreen``
+``deinterlace`` x deinterlacing, if available (bool)
+``colormatrix`` x see ``--colormatrix``
+``colormatrix-input-range`` x see ``--colormatrix-input-range``
+``colormatrix-output-range`` x see ``--colormatrix-output-range``
+``ontop`` x see ``--ontop``
+``border`` x see ``--border``
+``framedrop`` x see ``--framedrop``
+``gamma`` x see ``--gamma``
+``brightness`` x see ``--brightness``
+``contrast`` x see ``--contrast``
+``saturation`` x see ``--saturation``
+``hue`` x see ``--hue``
+``panscan`` x see ``--panscan``
+``video-format`` video format (string)
+``video-codec`` video codec selected for decoding
+``video-bitrate`` video bitrate
+``width`` video width (container or decoded size)
+``height`` video height
+``fps`` container FPS (may contain bogus values)
+``dwidth`` video width (after filters and aspect scaling)
+``dheight`` video height
+``aspect`` x video aspect
+``vid`` x current video track (similar to ``--vid``)
+``video`` x alias for ``vid``
+``program`` x switch TS program (write-only)
+``sid`` x current subtitle track (similar to ``--sid``)
+``sub`` x alias for ``sid``
+``sub-delay`` x see ``--sub-delay``
+``sub-pos`` x see ``--sub-pos``
+``sub-visibility`` x whether current subtitle is rendered
+``sub-forced-only`` x see ``--sub-forced-only``
+``sub-scale`` x subtitle font size multiplicator
+``ass-use-margins`` x see ``--ass-use-margins``
+``ass-vsfilter-aspect-compat`` x see ``--ass-vsfilter-aspect-compat``
+``ass-style-override`` x see ``--ass-style-override``
+``stream-capture`` x a filename, see ``--capture``
+``tv-brightness`` x
+``tv-contrast`` x
+``tv-saturation`` x
+``tv-hue`` x
+``playlist-pos`` current position on playlist
+``playlist-count`` number of total playlist entries
+``playlist`` playlist, current entry marked
+``track-list`` list of audio/video/sub tracks, cur. entr. marked
+``chapter-list`` list of chapters, current entry marked
+``quvi-format`` x see ``--quvi-format``
+=============================== = ==================================================
Property Expansion
------------------
@@ -459,63 +461,63 @@ Property Expansion
All string arguments to input commands as well as certain options (like
``--playing-msg``) are subject to property expansion.
-*EXAMPLE for input.conf*:
+.. admonition:: Example for input.conf
-- ``i show_text "Filename: ${filename}"`` shows the filename of the current file
- when pressing the ``i`` key
+ ``i show_text "Filename: ${filename}"``
+ shows the filename of the current file when pressing the ``i`` key
Within ``input.conf``, property expansion can be inhibited by putting the
``raw`` prefix in front of commands.
The following expansions are supported:
-\${NAME}
+``${NAME}``
Expands to the value of the property ``NAME``. If retrieving the property
fails, expand to an error string. (Use ``${NAME:}`` with a trailing
``:`` to expand to an empty string instead.)
If ``NAME`` is prefixed with ``=``, expand to the raw value of the property
(see below).
-\${NAME:STR}
+``${NAME:STR}``
Expands to the value of the property ``NAME``, or ``STR`` if the
- property can't be retrieved. ``STR`` is expanded recursively.
-\${!NAME:STR}
- Expands to ``STR`` (recursively) if the property ``NAME`` can't be
+ property cannot be retrieved. ``STR`` is expanded recursively.
+``${!NAME:STR}``
+ Expands to ``STR`` (recursively) if the property ``NAME`` cannot be
retrieved.
-\${?NAME:STR}
+``${?NAME:STR}``
Expands to ``STR`` (recursively) if the property ``NAME`` is available.
-\$\$
+``$$``
Expands to ``$``.
-\$}
+``$}``
Expands to ``}``. (To produce this character inside recursive
expansion.)
-\$>
+``$>``
Disable property expansion and special handling of ``$`` for the rest
of the string.
In places where property expansion is allowed, C-style escapes are often
accepted as well. Example:
-- ``\n`` becomes a newline character
-- ``\\`` expands to ``\``
+ - ``\n`` becomes a newline character
+ - ``\\`` expands to ``\``
Raw and Formatted Properties
----------------------------
-Normally, properties are formatted as human readable text, meant to be
+Normally, properties are formatted as human-readable text, meant to be
displayed on OSD or on the terminal. It is possible to retrieve an unformatted
(raw) value from a property by prefixing its name with ``=``. These raw values
-can be parsed by scripts, and follow the same conventions as the options
+can be parsed by other programs and follow the same conventions as the options
associated with the properties.
-*EXAMPLE*:
+.. admonition:: Examples
-- ``${time-pos}`` expands to ``00:14:23`` (if playback position is at 15 minutes
- 32 seconds)
-- ``${=time-pos}`` expands to ``863.4`` (same time, plus 400 milliseconds -
- milliseconds are normally not shown in the formatted case)
+ - ``${time-pos}`` expands to ``00:14:23`` (if playback position is at 14
+ minutes 23 seconds)
+ - ``${=time-pos}`` expands to ``863.4`` (same time, plus 400 milliseconds -
+ milliseconds are normally not shown in the formatted case)
Sometimes, the difference in amount of information carried by raw and formatted
property values can be rather big. In some cases, raw values have more
information, like higher precision than seconds with ``time-pos``. Sometimes
-it's the other way around, e.g. ``aid`` shows track title and language in the
-formatted case, but only the track number if it's raw.
+it is the other way around, e.g. ``aid`` shows track title and language in the
+formatted case, but only the track number if it is raw.
diff --git a/DOCS/man/en/mpv.rst b/DOCS/man/en/mpv.rst
index bf0d40ba98..cf067f4b57 100644
--- a/DOCS/man/en/mpv.rst
+++ b/DOCS/man/en/mpv.rst
@@ -1,3 +1,9 @@
+..
+ Hint: To generate a nicely formatted XeLaTeX document from this file, use
+ rst2xetex --use-latex-docinfo --use-latex-toc --hyperlink-color=MidnightBlue --latex-preamble="\usepackage[usenames,dvipsnames]{xcolor}\usepackage{fullpage}\setmainfont{Droid Sans}\setsansfont{Linux Biolinum O}\setmonofont[HyphenChar=None]{DejaVu Sans Mono}" mpv.rst
+
+ You might want to put the .. contents:: directive below to generate a TOC.
+
mpv
###
@@ -6,7 +12,7 @@ a movie player
##############
:Author: wm4
-:Date: 2013-07-07
+:Date: 2013-07-08
:Copyright: GPLv3
:Version: git
:Manual section: 1
@@ -83,7 +89,7 @@ ENTER
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.
@@ -275,58 +281,61 @@ 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
+.. 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*:
-| `mpv --ao=pcm:file=%10%C:test.wav test.avi`
-| Or in a script:
-| `mpv --ao=pcm:file=%\`expr length "$NAME"\`%"$NAME" test.avi`
+.. admonition:: Examples
+
+ ``mpv --ao=pcm:file=%10%C:test.wav test.avi``
+
+ Or in a script:
+
+ ``mpv --ao=pcm:file=%`expr length "$NAME"`%"$NAME" test.avi``
Per-File Options
----------------
When playing multiple files, any option given on the command line usually
-affects all files. Example:
+affects all files. Example::
-`mpv --a file1.mkv --b file2.mkv --c`
+ mpv --a file1.mkv --b file2.mkv --c
-+-----------+-------------------------+
-| File | Active options |
-+===========+=========================+
-| file1.mkv | --a --b --c |
-+-----------+-------------------------+
-| file2.mkv | --a --b --c |
-+-----------+-------------------------+
+=============== ===========================
+File Active options
+=============== ===========================
+file1.mkv ``--a --b --c``
+file2.mkv ``--a --b --c``
+=============== ===========================
-Also, if any option is changed at runtime (via input commands), they aren't
+Also, if any option is changed at runtime (via input commands), they are not
reset when a new file is played.
-Sometimes, it's useful to change options per-file. This can be achieved by
-adding the special per-file markers `--{` and `--}`. (Note that you must
-escape these on some shells.) Example:
+Sometimes, it is useful to change options per-file. This can be achieved by
+adding the special per-file markers ``--{`` and ``--}``. (Note that you must
+escape these on some shells.) Example::
-`mpv --a file1.mkv --b --\\\{ --c file2.mkv --d file3.mkv --e --\\\} file4.mkv --f`
+ mpv --a file1.mkv --b --\{ --c file2.mkv --d file3.mkv --e --\} file4.mkv --f
-+-----------+-------------------------+
-| File | Active options |
-+===========+=========================+
-| file1.mkv | --a --b --f |
-+-----------+-------------------------+
-| file2.mkv | --a --b --f --c --d --e |
-+-----------+-------------------------+
-| file3.mkv | --a --b --f --c --d --e |
-+-----------+-------------------------+
-| file4.mkv | --a --b --f |
-+-----------+-------------------------+
+=============== ===========================
+File Active options
+=============== ===========================
+file1.mkv ``--a --b --f``
+file2.mkv ``--a --b --f --c --d --e``
+file3.mkv ``--a --b --f --c --d --e``
+file4.mkv ``--a --b --f``
+=============== ===========================
Additionally, any file-local option changed at runtime is reset when the current
-file stops playing. If option ``--c`` is changed during playback of `file2.mkv`,
-it's reset when advancing to `file3.mkv`. This only affects file-local options.
-The option ``--a`` is never reset here.
+file stops playing. If option ``--c`` is changed during playback of
+``file2.mkv``, it is reset when advancing to ``file3.mkv``. This only affects
+file-local options. The option ``--a`` is never reset here.
CONFIGURATION FILES
===================
@@ -335,21 +344,23 @@ Location and Syntax
-------------------
You can put all of the options in configuration files which will be read every
-time mpv is run. The system-wide configuration file 'mpv.conf' is in
-your configuration directory (e.g. ``/etc/mpv`` or
-``/usr/local/etc/mpv``), the user specific one is ``~/.mpv/config``.
-User specific options override system-wide options and options given on the
+time mpv is run. The system-wide configuration file 'mpv.conf' is in your
+configuration directory (e.g. ``/etc/mpv`` or ``/usr/local/etc/mpv``), the
+user-specific one is ``~/.mpv/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
+``option=<value>``; everything after a *#* is considered a comment. Options
that work without values can be enabled by setting them to *yes* and disabled by
setting them to *no*. Even suboptions can be specified in this way.
-*EXAMPLE CONFIGURATION FILE:*
+.. admonition:: Example configuration file
+
+ ::
-| # Use opengl video output by default.
-| vo=opengl
-| # Use quotes for text that can contain spaces:
-| status-msg="Time: ${time-pos}"
+ # Use opengl video output by default.
+ vo=opengl
+ # Use quotes for text that can contain spaces:
+ status-msg="Time: ${time-pos}"
Putting Command Line Options into the Configuration File
--------------------------------------------------------
@@ -357,19 +368,16 @@ Putting Command Line Options into the Configuration File
Almost all command line options can be put into the configuration file. Here
is a small guide:
-+----------------------+--------------------------+
-| Option | Configuration file entry |
-+======================+==========================+
-| --flag | flag |
-+----------------------+--------------------------+
-| -opt val | opt=val |
-+----------------------+--------------------------+
-| --opt=val | opt=val |
-+----------------------+--------------------------+
-| -opt "has spaces" | opt="has spaces" |
-+----------------------+--------------------------+
-
-File Specific Configuration Files
+======================= ========================
+Option Configuration file entry
+======================= ========================
+``--flag`` ``flag``
+``-opt val`` ``opt=val``
+``--opt=val`` ``opt=val``
+``-opt "has spaces"`` ``opt="has spaces"``
+======================= ========================
+
+File-specific Configuration Files
---------------------------------
You can also write file-specific configuration files. If you wish to have a
@@ -388,30 +396,32 @@ as the file played and then tries to load any file-specific configuration.
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 MPV PROFILE:*
-
-| [vo.vdpau]
-| # Use hardware decoding (this might break playback of some h264 files)
-| hwdec=vdpau
-|
-| [protocol.dvd]
-| profile-desc="profile for dvd:// streams"
-| vf=pp=hb/vb/dr/al/fd
-| alang=en
-|
-| [extension.flv]
-| profile-desc="profile for .flv files"
-| flip=yes
-|
-| [ao.alsa]
-| device=spdif
+To ease working with different configurations, profiles can be defined in the
+configuration files. A profile starts with its name in 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.
+
+.. admonition:: Example mpv profile
+
+ ::
+
+ [vo.vdpau]
+ # Use hardware decoding (this might break playback of some h264 files)
+ hwdec=vdpau
+
+ [protocol.dvd]
+ profile-desc="profile for dvd:// streams"
+ vf=pp=hb/vb/dr/al/fd
+ alang=en
+
+ [extension.flv]
+ profile-desc="profile for .flv files"
+ flip=yes
+
+ [ao.alsa]
+ device=spdif
OPTIONS
@@ -440,7 +450,7 @@ input mode command, which is by default bound to the ``s`` key. Files named
available number - no files will be overwritten.
A screenshot will usually contain the unscaled video contents at the end of the
-video filter chain and subtitles. By default the ``S`` takes screenshots without
+video filter chain and subtitles. By default, ``S`` takes screenshots without
subtitles, while ``s`` includes subtitles.
The ``screenshot`` video filter is not required when using a recommended GUI
@@ -470,8 +480,8 @@ behavior of mpv.
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.
+ Specifies the search path for LADSPA plugins. If it is unset, fully
+ qualified path names must be used.
FIXME: This is also mentioned in the ladspa section.
@@ -483,12 +493,12 @@ libdvdcss:
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.
+ the roaming application data directory (``%APPDATA%``) under
+ Windows. 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.
+ to read scrambled discs. Can be one of ``title``, ``key`` or ``disc``.
key
is the default method. libdvdcss will use a set of calculated
@@ -591,9 +601,6 @@ FILES
``~/.mpv/input.conf``
input bindings (see ``--input-keylist`` for the full list)
-``~/.mpv/DVDkeys/``
- cached CSS keys
-
EXAMPLES OF MPV USAGE
=====================
diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst
index 938e5d54ed..8faebfeab8 100644
--- a/DOCS/man/en/options.rst
+++ b/DOCS/man/en/options.rst
@@ -1,4 +1,4 @@
---ad=<[+|-]family1:(*|decoder1),[+|-]family2:(*|decoder2),...[-]>
+``--ad=<[+|-]family1:(*|decoder1),[+|-]family2:(*|decoder2),...[-]>``
Specify a priority list of audio decoders to be used, according to their
family and decoder name. Entries like ``family:*`` prioritize all decoders
of the given family. When determining which decoder to use, the first
@@ -6,47 +6,47 @@
the next decoder is used. Finally, it tries all other decoders that are not
explicitly selected or rejected by the option.
- ``-`` at the end of the list suppresses fallback to other available
+ ``-`` at the end of the list suppresses fallback on other available
decoders not on the ``--ad`` list. ``+`` in front of an entry forces the
- decoder. Both of these shouldn't normally be used, because they break
+ decoder. Both of these should not normally be used, because they break
normal decoder auto-selection!
``-`` in front of an entry disables selection of the decoder.
- *EXAMPLE*:
+ .. admonition:: Examples
- ``--ad=lavc:mp3float``
- Prefer the FFmpeg/Libav ``mp3float`` decoder over all other mp3
- decoders.
+ ``--ad=lavc:mp3float``
+ Prefer the FFmpeg/Libav ``mp3float`` decoder over all other mp3
+ decoders.
- ``--ad=spdif:ac3,lavc:*``
- Always prefer spdif AC3 over FFmpeg/Libav over anything else.
+ ``--ad=spdif:ac3,lavc:*``
+ Always prefer spdif AC3 over FFmpeg/Libav over anything else.
- ``--ad=help``
- List all available decoders.
+ ``--ad=help``
+ List all available decoders.
---ad-lavc-ac3drc=<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.
+``--ad-lavc-ac3drc=<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.
---ad-lavc-downmix=<yes|no>
+``--ad-lavc-downmix=<yes|no>``
Whether to request audio channel downmixing from the decoder (default: yes).
Some decoders, like AC-3, AAC and DTS, can remix audio on decoding. The
requested number of output channels is set with the ``--channels`` option.
Useful for playing surround audio on a stereo system.
---ad-lavc-o=<key>=<value>[,<key>=<value>[,...]]
+``--ad-lavc-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.
---ad-spdif-dtshd=<yes|no>, --dtshd, --no-dtshd
+``--ad-spdif-dtshd=<yes|no>``, ``--dtshd``, ``--no-dtshd``
When using DTS passthrough, output any DTS-HD track as-is.
- With ``ad-spdif-dtshd=no`` (the default) only the DTS Core parts will be
+ With ``ad-spdif-dtshd=no`` (the default), only the DTS Core parts will be
output.
DTS-HD tracks can be sent over HDMI but not over the original
@@ -54,73 +54,77 @@
``--dtshd`` and ``--no-dtshd`` are deprecated aliases.
---af=<filter1[=parameter1:parameter2:...],filter2,...>
+``--af=<filter1[=parameter1:parameter2:...],filter2,...>``
Specify a list of audio filters to apply to the audio stream. See
- `audio_filters` for details and descriptions of the available filters.
+ `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.
+ should not need these for typical use.
---aid=<ID|auto|no>
+``--aid=<ID|auto|no>``
Select audio channel. ``auto`` selects the default, ``no`` disables audio.
See also ``--alang``.
---alang=<languagecode[,languagecode,...]>
+``--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. mpv prints the
+ 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. mpv prints the
available languages when run in verbose (``-v``) mode. See also ``--aid``.
- *EXAMPLE*:
+ .. admonition:: Examples
- ``mpv dvd://1 --alang=hu,en``
- Chooses the Hungarian language track on a DVD and falls back on
- English if Hungarian is not available.
- ``mpv --alang=jpn example.mkv``
- Plays a Matroska file in Japanese.
+ ``mpv dvd://1 --alang=hu,en``
+ Chooses the Hungarian language track on a DVD and falls back on
+ English if Hungarian is not available.
+ ``mpv --alang=jpn example.mkv``
+ Plays a Matroska file in Japanese.
---ao=<driver1[:suboption1[=value]:...],driver2,...[,]>
+``--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
+ interactive use one would normally specify a single one to use, but in
configuration files specifying a list of fallbacks may make sense. See
- `audio_outputs` for details and descriptions of available drivers.
+ `AUDIO OUTPUT DRIVERS`_ for details and descriptions of available drivers.
---ar, --no-ar
+``--ar``, ``--no-ar``
Enable/disable AppleIR remote support. Enabled by default.
---aspect=<ratio>
+``--aspect=<ratio>``
Override movie aspect ratio, in case aspect information is incorrect or
missing in the file being played. See also ``--no-aspect``.
- *EXAMPLE*:
+ .. admonition:: Examples
- - ``--aspect=4:3`` or ``--aspect=1.3333``
- - ``--aspect=16:9`` or ``--aspect=1.7777``
+ - ``--aspect=4:3`` or ``--aspect=1.3333``
+ - ``--aspect=16:9`` or ``--aspect=1.7777``
---ass, --no-ass
+``--ass``, ``--no-ass``
Render ASS subtitles natively (enabled by default).
If ``--no-ass`` is specified, all tags and style declarations are stripped
- and ignored on display. The subtitle renderer uses the font style as
+ and ignored on display. The subtitle renderer uses the font style as
specified by the ``--sub-text-`` options instead.
- *NOTE*: Using ``--no-ass`` may lead to incorrect or completely broken
- rendering of ASS/SSA subtitles. It can sometimes be useful to forcibly
- override the styling of ASS subtitles, but should be avoided in general.
+ .. note::
+
+ Using ``--no-ass`` may lead to incorrect or completely broken rendering
+ of ASS/SSA subtitles. It can sometimes be useful to forcibly override
+ the styling of ASS subtitles, but should be avoided in general.
---ass-force-style=<[Style.]Param=Value[,...]>
+``--ass-force-style=<[Style.]Param=Value[,...]>``
Override some style or script info parameters.
- *EXAMPLE*:
+ .. admonition:: Examples
+
+ - ``--ass-force-style=FontName=Arial,Default.Bold=1``
+ - ``--ass-force-style=PlayResY=768``
- - ``--ass-force-style=FontName=Arial,Default.Bold=1``
- - ``--ass-force-style=PlayResY=768``
+ .. note::
- *NOTE*: Using this option may lead to incorrect subtitle rendering.
+ Using this option may lead to incorrect subtitle rendering.
---ass-hinting=<type>
- Set hinting type. <type> can be:
+``--ass-hinting=<type>``
+ Set font hinting type. <type> can be:
:0: no hinting
:1: FreeType autohinter, light mode
@@ -129,29 +133,31 @@
The default value is 0 (no hinting).
---ass-line-spacing=<value>
+``--ass-line-spacing=<value>``
Set line spacing value for SSA/ASS renderer.
---ass-styles=<filename>
+``--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.
- *NOTE*: Using this option may lead to incorrect subtitle rendering.
+ .. note::
---ass-style-override=<yes|no>
+ Using this option may lead to incorrect subtitle rendering.
+
+``--ass-style-override=<yes|no>``
Control whether user style overrides should be applied.
:yes: Apply all the ``--ass-*`` style override options. Changing the default
- for any of these options can lead to incorrect subtitle rendering.
- (Default.)
+ for any of these options can lead to incorrect subtitle rendering
+ (default).
:no: Render subtitles as forced by subtitle scripts.
---ass-use-margins
+``--ass-use-margins``
Enables placing toptitles and subtitles in black borders when they are
available.
---ass-vsfilter-aspect-compat
+``--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.
@@ -162,37 +168,37 @@
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
+ 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.
+``--audio-demuxer=<[+]name>``
+ Use this 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-display=<no|attachment>
+``--audio-display=<no|attachment>``
Setting this option to ``attachment`` (default) will display image
attachments when playing audio files. It will display the first image
- found, and additional images are available as video streams.
+ found, and additional images are available as video tracks.
Setting this option to ``no`` disables display of video entirely when
playing audio files.
This option has no influence on files with normal video tracks.
---audiofile=<filename>
+``--audiofile=<filename>``
Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a
movie.
---audiofile-cache=<kBytes>
+``--audiofile-cache=<kBytes>``
Enables caching for the stream used by ``--audiofile``, using the
specified amount of memory.
---autofit=<[W[xH]]>
- Set the initial window size to a maximum size specified by WxH, without
+``--autofit=<[W[xH]]>``
+ Set the initial window size to a maximum size specified by ``WxH``, without
changing the window's aspect ratio. The size is measured in pixels, or if
a number is followed by a percentage sign (``%``), in percents of the
screen size.
@@ -209,47 +215,51 @@
See ``--geometry`` for details how this is handled with multi-monitor
setups.
- Use ``--autofit-larger`` instead if you don't want the window to get larger.
+ Use ``--autofit-larger`` instead if you do not want the window to get
+ larger.
+
Use ``--geometry`` if you want to force both window width and height to a
specific size.
- *NOTE*: Generally only supported by GUI VOs. Ignored for encoding.
+ .. note::
- *EXAMPLE*:
+ Generally only supported by GUI VOs. Ignored for encoding.
- ``70%``
- Make the window width 70% of the screen size, keeping aspect ratio.
- ``1000``
- Set the window width to 1000 pixels, keeping aspect ratio.
- ``70%:60%``
- Make the window as large as possible, without being wider than 70% of
- the screen width, or higher than 60% of the screen height.
+ .. admonition:: Examples
---autofit-larger=<[W[xH]]>
+ ``70%``
+ Make the window width 70% of the screen size, keeping aspect ratio.
+ ``1000``
+ Set the window width to 1000 pixels, keeping aspect ratio.
+ ``70%:60%``
+ Make the window as large as possible, without being wider than 70%
+ of the screen width, or higher than 60% of the screen height.
+
+``--autofit-larger=<[W[xH]]>``
This option behaves exactly like ``--autofit``, except the window size is
only changed if the window would be larger than the specified size.
- *EXAMPLE*:
+ .. admonition:: Example
- ``90%x80%``
- If the video is larger than 90% of the screen width or 80% of the
- screen height, make the window smaller until either its width is 90%
- of the screen, or its height is 80% of the screen.
+ ``90%x80%``
+ If the video is larger than 90% of the screen width or 80% of the
+ screen height, make the window smaller until either its width is 90%
+ of the screen, or its height is 80% of the screen.
---autosub, --no-autosub
+``--autosub``, ``--no-autosub``
Load additional subtitle files matching the video filename. Enabled by
default. See also ``--autosub-match``.
---autosub-match=<exact|fuzzy|all>
+``--autosub-match=<exact|fuzzy|all>``
Adjust matching fuzziness when searching for subtitles:
:exact: exact match
:fuzzy: Load all subs containing movie name.
:all: Load all subs in the current and ``--sub-paths`` directories.
- (Default: exact.)
+ (default: exact)
---autosync=<factor>
+``--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``
@@ -263,37 +273,39 @@
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>
+``--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.
- *NOTE*: probably broken/useless.
+ .. note::
+
+ Probably broken/useless.
---untimed
+``--untimed``
Do not sleep when outputting video frames. Useful for benchmarks when used
- with --no-audio.
+ with ``--no-audio.``
---bluray-angle=<ID>
+``--bluray-angle=<ID>``
Some Blu-ray discs contain scenes that can be viewed from multiple angles.
- Here you can tell mpv which angles to use (default: 1).
+ This option tells mpv which angle to use (default: 1).
---bluray-device=<path>
+``--bluray-device=<path>``
(Blu-ray only)
Specify the Blu-ray disc location. Must be a directory with Blu-ray
structure.
---border, --no-border
+``--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.
---brightness=<-100-100>
+``--brightness=<-100-100>``
Adjust the brightness of the video signal (default: 0). Not supported by
all video output drivers.
---cache=<kBytes|no|auto>
+``--cache=<kBytes|no|auto>``
Set the size of the cache in kilobytes, disable it with ``no``, or
automatically enable it if needed with ``auto`` (default: ``auto``).
With ``auto``, the cache will usually be enabled for network streams,
@@ -309,7 +321,7 @@
seeking back. Likewise, when starting a file the cache will be at 100%,
because no space is reserved for seeking back yet.
---cache-pause=<no|percentage>
+``--cache-pause=<no|percentage>``
If the cache percentage goes below the specified value, pause and wait
until the percentage set by ``--cache-min`` is reached, then resume
playback (default: 10). If ``no`` is specified, this behavior is disabled.
@@ -318,12 +330,12 @@
instead of ``Paused``, and the OSD uses a clock symbol instead of the
normal paused symbol.
---cache-min=<percentage>
- Playback will start when the cache has been filled up to <percentage> of
+``--cache-min=<percentage>``
+ Playback will start when the cache has been filled up to ``<percentage>`` of
the total (default: 20).
---cache-seek-min=<percentage>
- If a seek is to be made to a position within <percentage> of the cache
+``--cache-seek-min=<percentage>``
+ If a seek is to be made to a position within ``<percentage>`` of the cache
size from the current position, mpv will wait for the cache to be
filled to this position rather than performing a stream seek (default:
50).
@@ -334,15 +346,15 @@
on the situation, either of these might be slower than the other method.
This option allows control over this.
---cdda=<option1:option2>
+``--cdda=<option1:option2>``
This option can be used to tune the CD Audio reading feature of mpv.
Available options are:
- speed=<value>
+ ``speed=<value>``
Set CD spin speed.
- paranoia=<0-2>
+ ``paranoia=<0-2>``
Set paranoia level. Values other than 0 seem to break playback of
anything but the first track.
@@ -350,31 +362,31 @@
:1: overlap checking only
:2: full data correction and verification
- generic-dev=<value>
+ ``generic-dev=<value>``
Use specified generic SCSI device.
- sector-size=<value>
+ ``sector-size=<value>``
Set atomic read size.
- overlap=<value>
+ ``overlap=<value>``
Force minimum overlap search during verification to <value> sectors.
- toc-bias
+ ``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.
+ will be addressed as LBA 0. Some discs need this for getting track
+ boundaries correctly.
- toc-offset=<value>
- Add <value> sectors to the values reported when addressing tracks. May
- be negative.
+ ``toc-offset=<value>``
+ Add ``<value>`` sectors to the values reported when addressing tracks.
+ May be negative.
- (no-)skip
+ ``(no-)skip``
(Never) accept imperfect data reconstruction.
---cdrom-device=<path>
+``--cdrom-device=<path>``
Specify the CD-ROM device (default: ``/dev/cdrom``).
---channels=<number|layout>
+``--channels=<number|layout>``
Request the number of playback channels (default: 2). mpv 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
@@ -382,8 +394,10 @@
libavcodec downmixes the audio into the requested number of channels if
possible.
- *NOTE*: This option is honored by codecs (AC-3 only), filters (surround)
- and audio output drivers (OSS at least).
+ .. note::
+
+ This option is honored by codecs (AC-3 only), filters (surround) and
+ audio output drivers (OSS at least).
The ``--channels`` option either takes a channel number or an explicit
channel layout. Channel numbers refer to default layouts, e.g. 2 channels
@@ -393,11 +407,11 @@
lists speaker names, which can be used to express arbitrary channel
layouts (e.g. ``fl-fr-lfe`` is 2.1).
---chapter=<start[-end]>
+``--chapter=<start[-end]>``
Specify which chapter to start playing at. Optionally specify which
chapter to end playing at. Also see ``--start``.
---chapter-merge-threshold=<number>
+``--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
@@ -406,7 +420,7 @@
the start of the next one then keep playing video normally over the
chapter change instead of doing a seek.
---colormatrix=<colorspace>
+``--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
@@ -416,12 +430,12 @@
options --colormatrix-input-range and --colormatrix-output-range.
These options are not always supported. Different video outputs provide
- varying degrees of support. The opengl 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``).
+ varying degrees of support. The ``opengl`` 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 video's
color space flag will be used. If that flag is unset, the color space
@@ -437,10 +451,10 @@
:BT.709: ITU-R BT.709 (HD)
:SMPTE-240M: SMPTE-240M
---colormatrix-input-range=<color-range>
+``--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 or which are flagged wrong. If the video doesn't specify its
+ necessary when playing broken files which do not follow standard color
+ levels or which are flagged wrong. If the video does not specify its
color range, it is assumed to be limited range.
The same limitations as with --colormatrix apply.
@@ -451,14 +465,14 @@
:limited: limited range (16-235 for luma, 16-240 for chroma)
:full: full range (0-255 for both luma and chroma)
---colormatrix-output-range=<color-range>
+``--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
+ video monitors expect studio RGB levels. 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.
+ The same limitations as with ``--colormatrix`` apply.
Available color ranges are:
@@ -466,12 +480,17 @@
: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 xv (see ``--vo=xv:ck``) video
- output driver. See also ``--no-colorkey``.
+ .. note::
+
+ It is advisable to use your graphics driver's color range option
+ instead, if available.
---consolecontrols, --no-consolecontrols
+``--colorkey=<number>``
+ Changes the colorkey to an RGB value of your choice. ``0x000000`` is black
+ and ``0xffffff`` is white. Only supported by the ``xv`` (see
+ ``--vo=xv:ck``) video output driver. See also ``--no-colorkey``.
+
+``--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
@@ -480,64 +499,62 @@
or intend to read from stdin later on via the loadfile or loadlist slave
commands.
---contrast=<-100-100>
+``--contrast=<-100-100>``
Adjust the contrast of the video signal (default: 0). Not supported by all
video output drivers.
---cookies, --no-cookies
+``--cookies``, ``--no-cookies``
(network only)
Support cookies when making HTTP requests. Disabled by default.
---cookies-file=<filename>
+``--cookies-file=<filename>``
(network only)
- Read HTTP cookies from <filename>. The file is
- assumed to be in Netscape format.
-
---correct-pts, --no-correct-pts
- Switches mpv 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.
-
---cursor-autohide=<number|no|always>
+ Read HTTP cookies from <filename>. The file is assumed to be in Netscape
+ format.
+
+``--correct-pts``, ``--no-correct-pts``
+ Switches mpv 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.
+
+``--cursor-autohide=<number|no|always>``
Make mouse cursor automatically hide after given number of milliseconds.
- ``no`` will disable cursor autohide. ``always`` means the cursor
- will stay hidden. Supported by video output drivers which use X11 or
- OS X Cocoa.
+ ``no`` will disable cursor autohide. ``always`` means the cursor will stay
+ hidden.
---audio-delay=<sec>
- audio delay in seconds (positive or negative float value). Negative values
+``--audio-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``.
+``--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``.
---demuxer-lavf-analyzeduration=<value>
+``--demuxer-lavf-analyzeduration=<value>``
Maximum length in seconds to analyze the stream properties.
---demuxer-lavf-probescore=<1-100>
+``--demuxer-lavf-probescore=<1-100>``
Minimum required libavformat probe score. Lower values will require
less data to be loaded (makes streams start faster), but makes file
format detection less reliable. Can be used to force auto-detected
libavformat demuxers, even if libavformat considers the detection not
reliable enough. (Default: 26.)
---demuxer-lavf-allow-mimetype=<yes|no>
- Allow deriving the format from the HTTP mimetype (default: yes). Set
- this to no in case playing things from http mysteriously fails, even
+``--demuxer-lavf-allow-mimetype=<yes|no>``
+ Allow deriving the format from the HTTP MIME type (default: yes). Set
+ this to no in case playing things from HTTP mysteriously fails, even
though the same files work from local disk.
- This is default in order to reduce latency when opening http streams.
+ This is default in order to reduce latency when opening HTTP streams.
---demuxer-lavf-format=<value>
+``--demuxer-lavf-format=<value>``
Force a specific libavformat demuxer.
---demuxer-lavf-o=<key>=<value>[,<key>=<value>[,...]]
+``--demuxer-lavf-o=<key>=<value>[,<key>=<value>[,...]]``
Pass AVOptions to libavformat demuxer.
Note, a patch to make the *o=* unneeded and pass all unknown options
@@ -545,18 +562,20 @@
be found in the FFmpeg manual. Note that some options may conflict
with mpv options.
- *EXAMPLE*: ``--demuxer-lavf-o=fflags=+ignidx``
+ .. admonition:: Example
+
+ ``--demuxer-lavf-o=fflags=+ignidx``
---demuxer-lavf-probesize=<value>
+``--demuxer-lavf-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.
---demuxer-lavf-cryptokey=<hexstring>
+``--demuxer-lavf-cryptokey=<hexstring>``
Encryption key the demuxer should use. This is the raw binary data of
the key converted to a hexadecimal string.
---demuxer-mkv-subtitle-preroll, --mkv-subtitle-preroll
+``--demuxer-mkv-subtitle-preroll``, ``--mkv-subtitle-preroll``
Try harder to show embedded soft subtitles when seeking somewhere. Normally,
it can happen that the subtitle at the seek target is not shown due to how
some container file formats are designed. The subtitles appear only if
@@ -576,122 +595,124 @@
See also ``--hr-seek-demuxer-offset`` option. This option can achieve a
similar effect, but only if hr-seek is active. It works with any demuxer,
- but makes seeking much slower, as it has to decode audio and video data,
+ but makes seeking much slower, as it has to decode audio and video data
instead of just skipping over it.
``--mkv-subtitle-preroll`` is a deprecated alias.
---demuxer-rawaudio-channels=<value>
+``--demuxer-rawaudio-channels=<value>``
Number of channels (or channel layout) if ``--demuxer=rawaudio`` is used
(default: stereo).
---demuxer-rawaudio-format=<value>
+``--demuxer-rawaudio-format=<value>``
Sample format for ``--demuxer=rawaudio`` (default: s16le).
---demuxer-rawaudio-rate=<value>
+``--demuxer-rawaudio-rate=<value>``
Sample rate for ``--demuxer=rawaudio`` (default: 44KHz).
---demuxer-rawvideo-fps=<value>
+``--demuxer-rawvideo-fps=<value>``
Rate in frames per second for ``--demuxer=rawvideo`` (default: 25.0).
---demuxer-rawvideo-w=<value>, --demuxer-rawvideo-h=<value>
+``--demuxer-rawvideo-w=<value>``, ``--demuxer-rawvideo-h=<value>``
Image dimension in pixels for ``--demuxer=rawvideo``.
- *EXAMPLE*:
+ .. admonition:: Example
- - ``mpv sample-720x576.yuv --demuxer=rawvideo --demuxer-rawvideo=w=720:h=576``
- Play a raw YUV sample.
+ - ``mpv sample-720x576.yuv --demuxer=rawvideo --demuxer-rawvideo=w=720:h=576``
+ Play a raw YUV sample.
---demuxer-rawvideo-format=<value>
+``--demuxer-rawvideo-format=<value>``
Colorspace (fourcc) in hex or string for ``--demuxer=rawvideo``
(default: YV12).
---demuxer-rawvideo-mp-format=<value>
+``--demuxer-rawvideo-mp-format=<value>``
Colorspace by internal video format for ``--demuxer=rawvideo``. Use
``--demuxer-rawvideo-mp-format=help`` for a list of possible formats.
---demuxer-rawvideo-codec=<value>
+``--demuxer-rawvideo-codec=<value>``
Set the video codec instead of selecting the rawvideo codec when using
``--demuxer=rawvideo``. This uses the same values as codec names in
- ``--vd`` (but it doesn't accept decoder names).
+ ``--vd`` (but it does not accept decoder names).
---demuxer-rawvideo-size=<value>
+``--demuxer-rawvideo-size=<value>``
Frame size in bytes when using ``--demuxer=rawvideo``.
---doubleclick-time=<milliseconds>
+``--doubleclick-time=<milliseconds>``
Time in milliseconds to recognize two consecutive button presses as a
double-click (default: 300).
---dvbin=<options>
+``--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 mpv to read the channels list from
- <filename>. Default is
+ ``<filename>``. Default is
``~/.mpv/channels.conf.{sat,ter,cbl,atsc}`` (based
on your card type) or ``~/.mpv/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>
+``--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>
+``--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
+ kB/s, so an 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. mpv 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.
+ .. 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 mpv which angles to use (default: 1).
+``--dvdangle=<ID>``
+ Some DVDs contain scenes that can be viewed from multiple angles.
+ This option tells mpv which angle to use (default: 1).
---edition=<ID>
+``--edition=<ID>``
(Matroska files only)
Specify the edition (set of chapters) to use, where 0 is the first. If set
to -1 (the default), mpv will choose the first edition declared as a
default, or if there is no default, the first edition defined.
---embeddedfonts, --no-embeddedfonts
+``--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).
---end=<time>
+``--end=<time>``
Stop at given absolute time. Use ``--length`` if the time should be relative
to ``--start``. See ``--start`` for valid option values and examples.
---no-extbased, --extbased
- ``--no-extbased`` 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.
+``--no-extbased``, ``--extbased``
+ ``--no-extbased`` 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.
---field-dominance=<auto|top|bottom>
+``--field-dominance=<auto|top|bottom>``
Set first field for interlaced content. Useful for deinterlacers that
double the framerate: ``--vf=yadif=1`` and ``--vo=vdpau:deint``.
:auto: (default) If the decoder does not export the appropriate
- information, it falls back to ``top`` (top field first).
+ information, it falls back on ``top`` (top field first).
:top: top field first
:bottom: bottom field first
---no-fixed-vo, --fixed-vo
+``--no-fixed-vo``, ``--fixed-vo``
``--no-fixed-vo`` enforces closing and reopening the video window for
multiple files (one (un)initialization for all files).
---flip
+``--flip``
Flip image upside-down.
---force-rgba-osd-rendering
+``--force-rgba-osd-rendering``
Change how some video outputs render the OSD and text subtitles. This
does not change appearance of the subtitles and only has performance
implications. For VOs which support native ASS rendering (like ``vdpau``,
@@ -699,77 +720,90 @@
depending on GPU drivers and hardware. For other VOs, this just makes
rendering slower.
---force-window-position
+``--force-window-position``
Forcefully move mpv'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.
---sub-forced-only
+``--sub-forced-only``
Display only forced subtitles for the DVD subtitle stream selected by e.g.
``--slang``.
---forceidx
+``--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).
+ .. note::
---format=<format>
+ 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.
+ the sound card. The values that ``<format>`` can adopt are listed below in
+ the description of the ``format`` audio filter.
---fps=<float>
+``--fps=<float>``
Override video framerate. Useful if the original value is wrong or missing.
- *NOTE*: Works in ``--no-correct-pts`` mode only.
+ .. note::
+
+ Works in ``--no-correct-pts`` mode only.
---framedrop=<no|yes|hard>
+``--framedrop=<no|yes|hard>``
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. With ``hard``,
decoding and output of any frame can be skipped, and will lead to an even
worse playback experience.
- *NOTE*: Practical use of this feature is questionable. Disabled by default.
+ .. note::
---frames=<number>
- Play/convert only first <number> video frames, then quit. For audio only,
- run <number> iteration of the playback loop, which is most likely not what
- you want. (This behavior also applies to the corner case when there are
- less video frames than <number>, and audio is longer than the video.)
+ Practical use of this feature is questionable. Disabled by default.
---fullscreen, --fs
- Fullscreen playback (centers movie, and paints black bands around it).
+``--frames=<number>``
+ Play/convert only first ``<number>`` video frames, then quit. For audio
+ only, run ``<number>`` iteration of the playback loop, which is most likely
+ not what you want. (This behavior also applies to the corner case when there
+ are fewer video frames than ``<number>``, and audio is longer than the
+ video.)
+``--fullscreen``, ``--fs``
+ Fullscreen playback.
---fs-screen=<all|current|0-32>
+``--fs-screen=<all|current|0-32>``
In multi-monitor configurations (i.e. a single desktop that spans across
- multiple displays) this option tells mpv which screen to go fullscreen to.
- If ``default`` is provided mpv will fallback to using the behaviour
+ multiple displays), this option tells mpv which screen to go fullscreen to.
+ If ``default`` is provided mpv will fallback on using the behaviour
depending on what the user provided with the ``screen`` option.
- *NOTE (X11)*: this option does not work properly with all window managers.
- ``all`` in particular will usually only work with ``--fstype=-fullscreen``
- or ``--fstype=none``, and even then only with some window managers.
+ .. admonition:: Note (X11)
- *NOTE (OSX)*: ``all`` doesn't work on OSX and will behave like ``current``.
+ This option does not work properly with all window managers.
+ ``all`` in particular will usually only work with
+ ``--fstype=-fullscreen`` or ``--fstype=none``, and even then only with
+ some window managers.
+
+ .. admonition:: Note (OS X)
+
+ ``all`` does not work on OSX and will behave like ``current``.
See also ``--screen``.
---fsmode-dontuse=<0-31>
- OBSOLETE, use the ``--fs`` option.
+``--fsmode-dontuse=<0-31>``
+ *OBSOLETE*, use the ``--fs`` option.
Try this option if you still experience fullscreen problems.
---fstype=<type1,type2,...>
+``--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
+ fullscreen window being covered by other windows, try using a different
order.
- *NOTE*: See ``--fstype=help`` for a full list of available modes.
+ .. note::
+
+ See ``--fstype=help`` for a full list of available modes.
The available types are:
@@ -790,53 +824,55 @@
stays_on_top
Use ``_NETWM_STATE_STAYS_ON_TOP`` hint if available.
- *EXAMPLE*:
+ .. admonition:: Examples
- ``--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.
+ ``--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.
---native-fs
+``--native-fs``
(OS X only)
- Use OSX's Mission Control's fullscreen feature instead of the custom one
+ Use OS X Mission Control's fullscreen feature instead of the custom one
provided by mpv. This can potentially break a lot of stuff like
``--geometry`` and is disabled by default. On the other hand it provides
a more 'OS X-like' user experience.
---gamma=<-100-100>
+``--gamma=<-100-100>``
Adjust the gamma of the video signal (default: 0). Not supported by all
video output drivers.
---gapless-audio
+``--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
+ example because it is 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=<[W[xH]][+-x+-y]>, --geometry=<x:y>
- Adjust the initial window position or size. W and H set the window size in
- pixels. x and y set the window position, measured in pixels from the
- top-left of the screen to the top-left of the image being displayed. If a
- percentage sign (``%``) is given after the argument it turns the value into
- a percentage of the screen size in that direction. Positions are specified
- similar to 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".
+ .. 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 sample rate, then the
+ following files may get resampled to the same low sample rate, 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=<[W[xH]][+-x+-y]>``, ``--geometry=<x:y>``
+ Adjust the initial window position or size. ``W`` and ``H`` set the window
+ size in pixels. ``x`` and ``y`` set the window position, measured in pixels
+ from the top-left corner of the screen to the top-left corner of the image
+ being displayed. If a percentage sign (``%``) is given after the argument,
+ it turns the value into a percentage of the screen size in that direction.
+ Positions are specified similar to 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, this
option is ignored.
@@ -844,74 +880,84 @@
The coordinates are relative to the screen given with ``--screen`` for the
video output drivers that fully support ``--screen``.
- *NOTE*: Generally only supported by GUI VOs. Ignored for encoding.
-
- *NOTE (OSX)*: On Mac OSX the origin of the screen coordinate system is
- located on the the bottom-left corner. For instance, ``0:0`` will place the
- window at the bottom-left of the screen.
-
- *NOTE (X11)*: this option does not work properly with all window managers.
-
- *EXAMPLE*:
-
- ``50:40``
- Places the window at x=50, y=40.
- ``50%:50%``
- Places the window in the middle of the screen.
- ``100%:100%``
- Places the window at the bottom right corner of the screen.
- ``50%``
- Sets the window width to half the screen width. Window height is set so
- that the window has the video aspect ratio.
- ``50%x50%``
- Forces the window width and height to half the screen width and height.
- Will show black borders to compensate for the video aspect ration (with
- most VOs and without ``--no-keepaspect``).
- ``50%+10+10``
- Sets the window to half the screen widths, and positions it 10 pixels
- below/left of the top left corner of the screen.
+ .. note::
+
+ Generally only supported by GUI VOs. Ignored for encoding.
+
+ .. admonition: Note (OS X)
+
+ On Mac OSX the origin of the screen coordinate system is located on the
+ bottom-left corner. For instance, ``0:0`` will place the window at the
+ bottom-left of the screen.
+
+ .. admonition:: Note (X11)
+
+ This option does not work properly with all window managers.
+
+ .. admonition:: Examples
+
+ ``50:40``
+ Places the window at x=50, y=40.
+ ``50%:50%``
+ Places the window in the middle of the screen.
+ ``100%:100%``
+ Places the window at the bottom right corner of the screen.
+ ``50%``
+ Sets the window width to half the screen width. Window height is set
+ so that the window has the video aspect ratio.
+ ``50%x50%``
+ Forces the window width and height to half the screen width and
+ height. Will show black borders to compensate for the video aspect
+ ration (with most VOs and without ``--no-keepaspect``).
+ ``50%+10+10``
+ Sets the window to half the screen widths, and positions it 10
+ pixels below/left of the top left corner of the screen.
See also ``--autofit`` and ``--autofit-larger`` for fitting the window into
a given size without changing aspect ratio.
---grabpointer, --no-grabpointer
+``--grabpointer``, ``--no-grabpointer``
``--no-grabpointer`` tells the player to not grab the mouse pointer after a
video mode change (``--vm``). Useful for multihead setups.
---heartbeat-cmd
+``--heartbeat-cmd``
Command that is executed every 30 seconds during playback via *system()* -
i.e. using the shell. The time between the commands can be customized with
the ``--heartbeat-interval`` option.
- *NOTE*: mpv 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 ``--no-video`` but works with
- ``-vo=null``).
+ .. note::
+
+ mpv 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 ``--no-video`` but works with
+ ``-vo=null``).
This can be "misused" to disable screensavers that do not support the
proper X API (see also ``--stop-screensaver``). If you think this is too
complicated, ask the author of the screensaver program to support the
proper X APIs.
- *EXAMPLE for xscreensaver*: ``mpv --heartbeat-cmd="xscreensaver-command
- -deactivate" file``
+ .. admonition:: Example for xscreensaver
+
+ ``mpv --heartbeat-cmd="xscreensaver-command -deactivate" file``
+
+ .. admonition:: Example for GNOME screensaver
- *EXAMPLE for GNOME screensaver*: ``mpv
- --heartbeat-cmd="gnome-screensaver-command -p" file``
+ ``mpv --heartbeat-cmd="gnome-screensaver-command -p" file``
---heartbeat-interval=<sec>
+``--heartbeat-interval=<sec>``
Time between ``--heartbeat-cmd`` invocations in seconds (default: 30).
---help
+``--help``
Show short summary of options.
---hr-seek=<no|absolute|yes>
+``--hr-seek=<no|absolute|yes>``
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
+ some video formats, precise seeks are disabled. This option selects the
+ default choice to use for seeks; it is possible to explicitly override that
default in the definition of key bindings and in slave mode commands.
:no: Never use precise seeks.
@@ -920,12 +966,12 @@
the default behavior of arrow keys (default).
:yes: Use precise seeks whenever possible.
---hr-seek-demuxer-offset=<seconds>
+``--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
+ 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
@@ -933,79 +979,81 @@
the earlier demuxer position and the real target may be unnecessarily
decoded.
---http-header-fields=<field1,field2>
+``--http-header-fields=<field1,field2>``
Set custom HTTP fields when accessing HTTP stream.
- *EXAMPLE*:
+ .. admonition:: Example
- ``mpv --http-header-fields='Field1: value1','Field2: value2' http://localhost:1234``
+ ``mpv --http-header-fields='Field1: value1','Field2: value2' http://localhost:1234``
- Will generate HTTP request:
+ Will generate HTTP request::
- | GET / HTTP/1.0
- | Host: localhost:1234
- | User-Agent: MPlayer
- | Icy-MetaData: 1
- | Field1: value1
- | Field2: value2
- | Connection: close
+ GET / HTTP/1.0
+ Host: localhost:1234
+ User-Agent: MPlayer
+ Icy-MetaData: 1
+ Field1: value1
+ Field2: value2
+ Connection: close
---hue=<-100-100>
+``--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.
---hwdec=<api>
+``--hwdec=<api>``
Specify the hardware video decoding API that should be used if possible.
Whether hardware decoding is actually done depends on the video codec. If
- hardware decoding is not possible, mpv will fall back to software decoding.
+ hardware decoding is not possible, mpv will fall back on software decoding.
- <api> can be one of the following:
+ ``<api>`` can be one of the following:
:no: always use software decoding (default)
:vdpau: works with nvidia drivers only, requires ``--vo=vdpau``
:vda: OSX
:crystalhd: Broadcom Crystal HD
---hwdec-codecs=<codec1,codec2,...|all>
+``--hwdec-codecs=<codec1,codec2,...|all>``
Allow hardware decoding for a given list of codecs only. The default is the
special value ``all``, which always allows all codecs.
- This is usually only needed with broken GPUs, where fallback to software
- decoding doesn't work properly.
+ This is usually only needed with broken GPUs, where fallback on software
+ decoding does not work properly.
- *EXAMPLE*:
+ .. admonition:: Example
- - ``mpv --hwdec=vdpau --vo=vdpau --hwdec-codecs=h264,mpeg2video``
- Enable vdpau decoding for h264 and mpeg2 only.
+ ``mpv --hwdec=vdpau --vo=vdpau --hwdec-codecs=h264,mpeg2video``
+ Enable vdpau decoding for h264 and mpeg2 only.
---identify
+``--identify``
Deprecated. Use ``TOOLS/mpv_identify.sh``.
---idle
+``--idle``
Makes mpv wait idly instead of quitting when there is no file to play.
- Mostly useful in slave mode where mpv can be controlled through input
+ Mostly useful in slave mode, where mpv can be controlled through input
commands (see also ``--slave-broken``).
---idx
+``--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
+ 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).
+ .. note::
---ignore-start
+ This option only works if the underlying media supports seeking
+ (i.e. not with stdin, pipe, etc).
+
+``--ignore-start``
Matters with the builtin AVI demuxer only, which is not enabled by default.
Ignore the specified starting time for streams in AVI files. This
nullifies stream delays.
---include=<configuration-file>
+``--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 mpv will by
+``--initial-audio-sync``, ``--no-initial-audio-sync``
+ When starting a video file or after events such as seeking, mpv 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
@@ -1013,99 +1061,102 @@
their start timestamps differ, and then video timing is gradually adjusted
if necessary to reach correct synchronization later.
---input-conf=<filename>
+``--input-conf=<filename>``
Specify input configuration file other than the default
``~/.mpv/input.conf``.
---input-ar-delay
- Delay in milliseconds before we start to autorepeat a key (0 to
- disable).
+``--input-ar-delay``
+ Delay in milliseconds before we start to autorepeat a key (0 to disable).
---input-ar-rate
+``--input-ar-rate``
Number of key presses to generate per second on autorepeat.
---no-input-default-bindings
+``--no-input-default-bindings``
Disable mpv default (builtin) key bindings.
---input-keylist
+``--input-keylist``
Prints all keys that can be bound to commands.
---input-cmdlist
+``--input-cmdlist``
Prints all commands that can be bound to keys.
---input-js-dev
+``--input-js-dev``
Specifies the joystick device to use (default: ``/dev/input/js0``).
---input-file=<filename>
+``--input-file=<filename>``
Read commands from the given file. Mostly useful with a FIFO.
See also ``--slave-broken``.
- *NOTE*: When the given file is a FIFO mpv opens both ends so you
- can do several `echo "seek 10" > mp_pipe` and the pipe will stay
- valid.
+ .. note::
+
+ When the given file is a FIFO mpv opens both ends, so you can do several
+ `echo "seek 10" > mp_pipe` and the pipe will stay valid.
---input-test
+``--input-test``
Input test mode. Instead of executing commands on key presses, mpv
will show the keys and the bound commands on the OSD. Has to be used
with a dummy video, and the normal ways to quit the player will not
work (key bindings that normally quit will be shown on OSD only, just
- like any other binding).
+ like any other binding). See `INPUT.CONF`_.
---joystick, --no-joystick
+``--joystick``, ``--no-joystick``
Enable/disable joystick support. Enabled by default.
---no-keepaspect, --keepaspect
- --no-keepaspect will always stretch the video to window size, and will
+``--no-keepaspect``, ``--keepaspect``
+ ``--no-keepaspect`` will always stretch the video to window size, and will
disable the window manager hints that force the window aspect ratio.
(Ignored in fullscreen mode.)
---keep-open
+``--keep-open``
Do not terminate when playing or seeking beyond the end of the file.
Instead, pause the player. When trying to seek beyond end of the file, the
player will pause at an arbitrary playback position (or, in corner cases,
not redraw the window at all).
- *NOTE*: this option is not respected when using ``--frames``, ``--end``,
- ``--length``, or when passing a chapter range to ``--chapter``. Explicitly
- skipping to the next file or skipping beyond the last chapter will terminate
- playback as well, even if ``--keep-open`` is given.
+ .. note::
+
+ This option is not respected when using ``--frames``, ``--end``,
+ ``--length``, or when passing a chapter range to ``--chapter``.
+ Explicitly skipping to the next file or skipping beyond the last
+ chapter will terminate playback as well, even if ``--keep-open`` is
+ given.
---key-fifo-size=<2-65000>
+``--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.
---length=<relative time>
+``--length=<relative time>``
Stop after a given time relative to the start time.
See ``--start`` for valid option values and examples.
---lirc, --no-lirc
+``--lirc``, ``--no-lirc``
Enable/disable LIRC support. Enabled by default.
---lircconf=<filename>
+``--lircconf=<filename>``
(LIRC only)
Specifies a configuration file for LIRC (default: ``~/.lircrc``).
---list-options
+``--list-options``
Prints all available options.
---list-properties
+``--list-properties``
Print a list of the available properties.
---loop=<number|inf|no>
- Loops playback <number> times. ``inf`` means forever and ``no`` disables
- looping. If several files are specified on command line, the whole playlist
+``--loop=<number|inf|no>``
+ Loops playback ``<number>`` times. ``inf`` means forever and ``no`` disables
+ looping. If several files are specified on command line, the entire playlist
is looped.
---mc=<seconds/frame>
+``--mc=<seconds/frame>``
Maximum A-V sync correction per frame (in seconds)
---media-keys, --no-media-keys
+``--media-keys``, ``--no-media-keys``
OSX only: Enabled by default. Enables/disable media keys support.
---mf=<option1:option2:...>
+``--mf=<option1:option2:...>``
Used when decoding from multiple PNG or JPEG files with ``mf://``.
Available options are:
@@ -1113,60 +1164,64 @@
:fps=<value>: output fps (default: 25)
:type=<value>: input file type (available: jpeg, png, tga, sgi)
---mixer=<device>
+``--mixer=<device>``
Use a mixer device different from the default ``/dev/mixer``. For ALSA
this is the mixer name.
---mixer-channel=<name[,index]>
+``--mixer-channel=<name[,index]>``
(``--ao=oss`` and ``--ao=alsa`` only)
This option will tell mpv 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**.
+ ``/usr/include/linux/soundcard.h``. For ALSA, you can use the names e.g.
+ "``amixer scontrols``" 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.
+ .. note::
---monitoraspect=<ratio>
+ 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.
+
+``--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*:
+ .. admonition:: Examples
- - ``--monitoraspect=4:3`` or ``--monitoraspect=1.3333``
- - ``--monitoraspect=16:9`` or ``--monitoraspect=1.7777``
+ - ``--monitoraspect=4:3`` or ``--monitoraspect=1.3333``
+ - ``--monitoraspect=16:9`` or ``--monitoraspect=1.7777``
---monitorpixelaspect=<ratio>
+``--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
+``--mouse-movements``
Permit mpv 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).
+``--mouseinput``, ``--no-mouseinput``
+ ``--no-mouseinput`` disables mouse button press/release input.
---no-msgcolor
+``--no-msgcolor``
Disable colorful console output on terminals.
---msglevel=<module1=level1:module2=level2:...>
- Control verbosity directly for each module. The *all* module changes the
+``--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 ``MPV_VERBOSE`` environment variable; see its
- description below for details.
+ .. 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 ``MPV_VERBOSE`` environment variable; see
+ `ENVIRONMENT VARIABLES`_ for details.
Available levels:
@@ -1182,44 +1237,44 @@
:8: debug level 3
:9: debug level 4
---msgmodule
+``--msgmodule``
Prepend module name in front of each console message.
---mute=<auto|yes|no>
+``--mute=<auto|yes|no>``
Set startup audio mute status. ``auto`` (default) will not change the mute
status. Also see ``--volume``.
---name
+``--name``
Set the window class name for X11-based video output methods.
---native-keyrepeat
+``--native-keyrepeat``
Use system settings for keyrepeat delay and rate, instead of
``--input-ar-delay`` and ``--input-ar-rate``. (Whether this applies
depends on the VO backend and how it handles keyboard input. Does not
apply to terminal input.)
---avi-ni
+``--avi-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).
---no-aspect
+``--no-aspect``
Ignore aspect ratio information from video file and assume the video has
square pixels. See also ``--aspect``.
---no-bps
+``--no-bps``
(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.
---no-cache
+``--no-cache``
Turn off input stream caching. See ``--cache``.
---no-colorkey
+``--no-colorkey``
Disables colorkeying. Only supported by the xv (see ``--vo=xv:ck``) video
output driver.
---no-config
+``--no-config``
Do not load default configuration files. This prevents loading of
``~/.mpv/config`` and ``~/.mpv/input.conf``, as well as loading the
same files from system wide configuration directories.
@@ -1227,41 +1282,43 @@
Loading of some configuration files is not affected by this option, such
as configuration files for DVB code and fontconfig.
- *NOTE*: Files explicitly requested by command line options, like
- ``--include`` or ``--use-filedir-conf``, will still be loaded.
+ .. note::
+
+ Files explicitly requested by command line options, like
+ ``--include`` or ``--use-filedir-conf``, will still be loaded.
---no-idx
+``--no-idx``
Do not use index present in the file even if one is present.
---no-audio
+``--no-audio``
Do not play sound. With some demuxers this may not work. In those cases
you can try ``--ao=null`` instead.
---no-resume-playback
+``--no-resume-playback``
Do not restore playback position from ``~/.mpv/watch_later/``.
See ``quit_watch_later`` input command.
---no-sub
- Don't select any subtitle when the file is loaded.
+``--no-sub``
+ Do not select any subtitle when the file is loaded.
---no-sub-visibility
+``--no-sub-visibility``
Disable display of subtitles, but still select and decode them.
---no-video
+``--no-video``
Do not play video. With some demuxers this may not work. In those cases
you can try ``--vo=null`` instead.
---ontop
+``--ontop``
Makes the player window stay on top of other windows. Supported by video
output drivers which use X11, as well as corevideo.
---ordered-chapters, --no-ordered-chapters
+``--ordered-chapters``, ``--no-ordered-chapters``
Enabled by default.
Disable support for Matroska ordered chapters. mpv will not load or
search for video segments from other files, and will also ignore any
chapter order specified for the main file.
---no-osd-bar, --osd-bar
+``--no-osd-bar``, ``--osd-bar``
Disable display of the OSD bar. This will make some things (like seeking)
use OSD text messages instead of the bar.
@@ -1269,71 +1326,75 @@
prefixes, see ``Input command prefixes``. If you want to disable the OSD
completely, use ``--osd-level=0``.
---osd-bar-align-x=<-1-1>
+``--osd-bar-align-x=<-1-1>``
Position of the OSD bar. -1 is far left, 0 is centered, 1 is far right.
---osd-bar-align-y=<-1-1>
+``--osd-bar-align-y=<-1-1>``
Position of the OSD bar. -1 is top, 0 is centered, 1 is bottom.
---osd-bar-w=<1-100>
+``--osd-bar-w=<1-100>``
Width of the OSD bar, in percentage of the screen width (default: 75).
A value of 0.5 means the bar is half the screen wide.
---osd-bar-h=<0.1-50>
+``--osd-bar-h=<0.1-50>``
Height of the OSD bar, in percentage of the screen height (default: 3.125).
---osd-back-color=<#RRGGBB>, --sub-text-back-color=<#RRGGBB>
+``--osd-back-color=<#RRGGBB>``, ``--sub-text-back-color=<#RRGGBB>``
See ``--osd-color``. Color used for OSD/sub text background.
---osd-blur=<0..20.0>, --sub-text-blur=<0..20.0>
+``--osd-blur=<0..20.0>``, ``--sub-text-blur=<0..20.0>``
Gaussian blur factor. 0 means no blur applied (default).
---osd-border-color=<#RRGGBB>, --sub-text-border-color=<#RRGGBB>
+``--osd-border-color=<#RRGGBB>``, ``--sub-text-border-color=<#RRGGBB>``
See ``--osd-color``. Color used for the OSD/sub font border.
- *NOTE*: ignored when ``--osd-back-color``/``--sub-text-back-color`` is
- specified (or more exactly: when that option is not set to completely
- transparent).
+ .. note::
---osd-border-size=<size>, --sub-text-border-size=<size>
+ ignored when ``--osd-back-color``/``--sub-text-back-color`` is
+ specified (or more exactly: when that option is not set to completely
+ transparent).
+
+``--osd-border-size=<size>``, ``--sub-text-border-size=<size>``
Size of the OSD/sub font border in scaled pixels (see ``--osd-font-size``
for details). A value of 0 disables borders.
Default: 2.5.
---osd-color=<#RRGGBB|#AARRGGBB>, --sub-text-color=<#RRGGBB|#AARRGGBB>
+``--osd-color=<#RRGGBB|#AARRGGBB>``, ``--sub-text-color=<#RRGGBB|#AARRGGBB>``
Specify the color used for OSD/unstyled text subtitles.
The color is specified as a RGB hex triplet, and each 2-digit group
- expresses a color value in the range 0 (``00``) to 255 (`FF`).
+ expresses a color value in the range 0 (``00``) to 255 (``FF``).
For example, ``#FF0000`` is red. This is similar to web colors.
You can specify transparency by specifying an alpha value in the form
``#AARRGGBB``. 0 is fully transparent, while ``FF`` is opaque (opaque is
default with the shorter color specification).
- *EXAMPLE*:
+ .. admonition:: Examples
- - ``--osd-color='#FF0000'`` set OSD to opaque red
- - ``--osd-color='#C0808080'`` set OSD to 50% gray with 75% alpha
+ - ``--osd-color='#FF0000'`` set OSD to opaque red
+ - ``--osd-color='#C0808080'`` set OSD to 50% gray with 75% alpha
---osd-duration=<time>
+``--osd-duration=<time>``
Set the duration of the OSD messages in ms (default: 1000).
---osd-font=<pattern>, --sub-text-font=<pattern>
+``--osd-font=<pattern>``, ``--sub-text-font=<pattern>``
Specify font to use for OSD and for subtitles that do not themselves
- specify a particular font. The default is ``Sans``.
+ specify a particular font. The default is ``sans-serif``.
+
+ .. admonition:: Examples
- *EXAMPLE*:
+ - ``--osd-font='Bitstream Vera Sans'``
+ - ``--osd-font='Bitstream Vera Sans:style=Bold'`` (fontconfig pattern)
- - ``--osd-font='Bitstream Vera Sans'``
- - ``--osd-font='Bitstream Vera Sans:style=Bold'`` (fontconfig pattern)
+ .. note::
- *NOTE*: the ``--sub-text-font`` option (and most other ``--sub-text-``
- options) are ignored when ASS-subtitles are rendered, unless the
- ``--no-ass`` option is specified.
+ The ``--sub-text-font`` option (and most other ``--sub-text-``
+ options) are ignored when ASS-subtitles are rendered, unless the
+ ``--no-ass`` option is specified.
---osd-font-size=<size>, --sub-text-font-size=<size>
+``--osd-font-size=<size>``, ``--sub-text-font-size=<size>``
Specify the OSD/sub font size. The unit is the size in scaled pixels at a
window height of 720. The actual pixel size is scaled with the window
height: if the window height is larger or smaller than 720, the actual size
@@ -1341,10 +1402,10 @@
Default: 45.
---osd-fractions
+``--osd-fractions``
Show OSD times with fractions of seconds.
---osd-level=<0-3>
+``--osd-level=<0-3>``
Specifies which mode the OSD should start in.
:0: subtitles only
@@ -1352,7 +1413,7 @@
:2: volume + seek + timer + percentage
:3: volume + seek + timer + percentage + total time
---osd-margin-x=<size>, --sub-text-margin-x=<size>
+``--osd-margin-x=<size>, --sub-text-margin-x=<size>``
Left and right screen margin for the OSD/subs in scaled pixels (see
``--osd-font-size`` for details).
@@ -1361,7 +1422,7 @@
Default: 25.
---osd-margin-y=<size>, --sub-text-margin-y=<size>
+``--osd-margin-y=<size>, --sub-text-margin-y=<size>``
Top and bottom screen margin for the OSD/subs in scaled pixels (see
``--osd-font-size`` for details).
@@ -1371,38 +1432,39 @@
Default: 10.
---osd-scale=<factor>
+``--osd-scale=<factor>``
OSD font size multiplicator, multiplied with ``--osd-font-size`` value.
---osd-shadow-color=<#RRGGBB>, --sub-text-shadow-color=<#RRGGBB>
+``--osd-shadow-color=<#RRGGBB>, --sub-text-shadow-color=<#RRGGBB>``
See ``--osd-color``. Color used for OSD/sub text shadow.
---osd-shadow-offset=<size>, --sub-text-shadow-offset=<size>
+``--osd-shadow-offset=<size>, --sub-text-shadow-offset=<size>``
Displacement of the OSD/sub text shadow in scaled pixels (see
``--osd-font-size`` for details). A value of 0 disables shadows.
Default: 0.
---osd-spacing=<size>, --sub-text-spacing=<size>
+``--osd-spacing=<size>, --sub-text-spacing=<size>``
Horizontal OSD/sub font spacing in scaled pixels (see ``--osd-font-size``
for details). This value is added to the normal letter spacing. Negative
values are allowed.
Default: 0.
---osd-status-msg=<string>
+``--osd-status-msg=<string>``
Show a custom string during playback instead of the standard status text.
This overrides the status text used for ``--osd-level=3``, when using the
``show_progress`` command (by default mapped to ``P``), or in some
- non-default cases when seeking. Expands properties. See property_expansion_.
+ non-default cases when seeking. Expands properties. See
+ `Property Expansion`_.
---panscan=<0.0-1.0>
+``--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.
---panscanrange=<-19.0-99.0>
+``--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
@@ -1410,68 +1472,70 @@
allows a zoom factor of up to 4. This feature is experimental. Do not
report bugs unless you are using ``--vo=opengl``.
---playing-msg=<string>
+``--playing-msg=<string>``
Print out a string after starting playback. The string is expanded for
properties, e.g. ``--playing-msg=file: ${filename}`` will print the string
``file:`` followed by a space and the currently played filename.
- See property_expansion_.
+ See `Property Expansion`_.
---status-msg=<string>
+``--status-msg=<string>``
Print out a custom string during playback instead of the standard status
- line. Expands properties. See property_expansion_.
+ line. Expands properties. See `Property Expansion`_.
---stream-capture=<filename>
+``--stream-capture=<filename>``
Allows capturing the primary stream (not additional audio tracks or other
kind of streams) into the given file. Capturing can also be started and
- stopped changing the filename with the ``stream-capture`` slave property.
+ stopped by changing the filename with the ``stream-capture`` slave property.
Generally this will not produce usable results for anything else than MPEG
or raw streams, unless capturing includes the file headers and is not
interrupted. Note that, due to cache latencies, captured data may begin and
end somewhat delayed compared to what you see displayed.
---stream-dump=<filename>
- Same as ``--stream-capture``, but don't start playback. Instead, the full
+``--stream-dump=<filename>``
+ Same as ``--stream-capture``, but do not start playback. Instead, the entire
file is dumped.
---playlist=<filename>
+``--playlist=<filename>``
Play files according to a playlist file (ASX, Winamp, SMIL, or
one-file-per-line format).
- *WARNING*: The way mpv 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 mpv and 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!
+ .. warning::
- FIXME: This needs to be clarified and documented thoroughly.
+ The way mpv 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 mpv and 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 do not trust!
---pp=<quality>
+ FIXME: This needs to be clarified and documented thoroughly.
+
+``--pp=<quality>``
See also ``--vf=pp``.
---pphelp
+``--pphelp``
See also ``--vf=pp``.
---priority=<prio>
+``--priority=<prio>``
(Windows only.)
Set process priority for mpv according to the predefined priorities
available under Windows.
- Possible values of <prio>:
+ Possible values of ``<prio>``:
idle|belownormal|normal|abovenormal|high|realtime
- *WARNING*: Using realtime priority can cause system lockup.
+ .. warning:: Using realtime priority can cause system lockup.
---profile=<profile1,profile2,...>
+``--profile=<profile1,profile2,...>``
Use the given profile(s), ``--profile=help`` displays a list of the
defined profiles.
---pts-association-mode=<auto|decode|sort>
+``--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.
+ you should not need to change this option.
:auto: Try to pick a working mode from the ones below automatically
(default)
@@ -1479,7 +1543,7 @@
:sort: Maintain a buffer of unused pts values and use the lowest value
for the frame.
---pvr=<option1:option2:...>
+``--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
@@ -1490,7 +1554,7 @@
Available options are:
- aspect=<0-3>
+ ``aspect=<0-3>``
Specify input aspect ratio:
:0: 1:1
@@ -1498,34 +1562,34 @@
:2: 16:9
:3: 2.21:1
- arate=<32000-48000>
+ ``arate=<32000-48000>``
Specify encoding audio rate (default: 48000 Hz, available: 32000,
44100 and 48000 Hz).
- alayer=<1-3>
+ ``alayer=<1-3>``
Specify MPEG audio layer encoding (default: 2).
- abitrate=<32-448>
+ ``abitrate=<32-448>``
Specify audio encoding bitrate in kbps (default: 384).
- amode=<value>
+ ``amode=<value>``
Specify audio encoding mode. Available preset values are 'stereo',
'joint_stereo', 'dual' and 'mono' (default: stereo).
- vbitrate=<value>
+ ``vbitrate=<value>``
Specify average video bitrate encoding in Mbps (default: 6).
- vmode=<value>
+ ``vmode=<value>``
Specify video encoding mode:
:vbr: Variable BitRate (default)
:cbr: Constant BitRate
- vpeak=<value>
+ ``vpeak=<value>``
Specify peak video bitrate encoding in Mbps (only useful for VBR
encoding, default: 9.6).
- fmt=<value>
+ ``fmt=<value>``
Choose an MPEG format for encoding:
:ps: MPEG-2 Program Stream (default)
@@ -1535,13 +1599,13 @@
:svcd: Super Video CD compatible stream
:dvd: DVD compatible stream
---quiet
+``--quiet``
Make console output less verbose; in particular, prevents the status line
(i.e. AV: 3.4 (00:00:03.37) / 5320.6 ...) from being displayed.
Particularly useful on slow terminals or broken ones which do not properly
- handle carriage return (i.e. \\r).
+ handle carriage return (i.e. ``\r``).
---quvi-format=<best|default|...>
+``--quvi-format=<best|default|...>``
Video format/quality that is directly passed to libquvi (default: ``best``).
This is used when opening links to streaming sites like YouTube. The
interpretation of this value is highly specific to the streaming site and
@@ -1549,78 +1613,84 @@
libquvi 0.4.x:
- The only well defined values that work on all sites are ``best``
- (best quality/highest bandwidth, default), and ``default`` (lowest quality).
+ The only well-defined values that work on all sites are ``best``
+ (best quality/highest bandwidth, default), and ``default`` (lowest
+ quality).
- The quvi command line tool can be used to find out which formats are
- supported for a given URL: ``quvi --query-formats URL``.
+ The quvi command line tool can be used to find out which formats are
+ supported for a given URL: ``quvi --query-formats URL``.
libquvi 0.9.x:
- The following explanations are relevant:
- ``http://quvi.sourceforge.net/doc/0.9/glossary_termino.html#m_stream_id``
+ The following explanations are relevant:
+ `<http://quvi.sourceforge.net/doc/0.9/glossary_termino.html#m_stream_id>`_
- With 0.9.x, the ``quvi-format`` property can be used at runtime to cycle
- through the list of formats. Unfortunately, this resets the playback
- position and is slow too.
+ With 0.9.x, the ``quvi-format`` property can be used at runtime to cycle
+ through the list of formats. Unfortunately, this resets the playback
+ position and is slow too.
---radio=<option1:option2:...>
+``--radio=<option1:option2:...>``
These options set various parameters of the radio capture module. For
- listening to radio with mpv use ``radio://<frequency>`` (if channels
+ listening to radio with mpv, 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
mpv 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
+ 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>
+ ``device=<value>``
Radio device to use (default: ``/dev/radio0`` for Linux and
``/dev/tuner0`` for \*BSD).
- driver=<value>
+ ``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)
+ ``volume=<0..100>``
+ Sound volume for radio device (default 100).
- 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
+ ``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``
+ .. admonition:: 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.
+ ``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)
+ ``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,...).
+ .. 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)
+ ``achannels=<value>`` (radio capture only)
Number of audio channels to capture.
---really-quiet
+``--really-quiet``
Display even less output and status messages than with ``--quiet``.
---referrer=<string>
+``--referrer=<string>``
Specify a referrer path or URL for HTTP requests.
---reset-on-next-file=<all|option1,option2,...>
+``--reset-on-next-file=<all|option1,option2,...>``
Normally, mpv will try to keep all settings when playing the next file on
the playlist, even if they were changed by the user during playback. (This
behavior is the opposite of MPlayer's, which tries to reset all settings
@@ -1634,29 +1704,31 @@
config file or command line.
In some cases, this might not work as expected. For example, ``--volume``
- will only be reset the volume if it's explicitly set in the config file
- or the command line.
+ will only be reset if it is explicitly set in the config file or the
+ command line.
The special name ``all`` resets as many options as possible.
- *EXAMPLE*:
+ .. admonition:: Examples
- - ``--reset-on-next-file=fullscreen,speed`` Reset fullscreen and playback
- speed settings if they were changed during playback.
- - ``--reset-on-next-file=all`` Try to reset all settings that were changed
- during playback.
- - ``--reset-on-next-file=""`` Don't reset pause mode.
+ - ``--reset-on-next-file=fullscreen,speed``
+ Reset fullscreen and playback speed settings if they were changed
+ during playback.
+ - ``--reset-on-next-file=all``
+ Try to reset all settings that were changed during playback.
+ - ``--reset-on-next-file=""``
+ Do not reset pause mode.
---reuse-socket
+``--reuse-socket``
(udp:// only)
Allows a socket to be reused by other processes as soon as it is closed.
---saturation=<-100-100>
+``--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.
---save-position-on-quit
+``--save-position-on-quit``
Always save the current playback position on quit. When this file is
played again later, the player will seek to the old playback position on
start. This affects any form of stopping playback (quitting, going to the
@@ -1665,51 +1737,53 @@
This behavior is disabled by default, but is always available when quitting
the player with Shift+Q.
---sb=<n>
+``--sb=<n>``
Seek to byte position. Useful for playback from CD-ROM images or VOB files
with junk at the beginning. See also ``--start``.
---screen=<default|0-32>
+``--screen=<default|0-32>``
In multi-monitor configurations (i.e. a single desktop that spans across
- multiple displays) this option tells mpv which screen to display the
+ multiple displays), this option tells mpv which screen to display the
movie on.
- This option doesn't always work. In these cases, try to use ``--geometry``
+ This option does not always work. In these cases, try to use ``--geometry``
to position the window explicitly.
- *NOTE (X11)*: this option does not work properly with all window managers.
+ .. admonition:: Note (X11)
+
+ This option does not work properly with all window managers.
See also ``--fs-screen``.
---screenshot-format=<type>
+``--screenshot-format=<type>``
Set the image file type used for saving screenshots.
Available choices:
- :png: PNG
- :ppm: PPM
- :pgm: PGM
- :pgmyuv: PGM with YV12 pixel format
- :tga: TARGA
- :jpg: JPEG (default)
- :jpeg: JPEG (same as jpg, but with .jpeg file ending)
+ :png: PNG
+ :ppm: PPM
+ :pgm: PGM
+ :pgmyuv: PGM with YV12 pixel format
+ :tga: TARGA
+ :jpg: JPEG (default)
+ :jpeg: JPEG (same as jpg, but with .jpeg file ending)
---screenshot-jpeg-quality=<0-100>
+``--screenshot-jpeg-quality=<0-100>``
Set the JPEG quality level. Higher means better quality. The default is 90.
---screenshot-png-compression=<0-9>
+``--screenshot-png-compression=<0-9>``
Set the PNG compression level. Higher means better compression. This will
- affect the file size of the written screenshot file, and the time it takes
+ affect the file size of the written screenshot file and the time it takes
to write a screenshot. Too high compression might occupy enough CPU time to
interrupt playback. The default is 7.
---screenshot-png-filter=<0-5>
+``--screenshot-png-filter=<0-5>``
Set the filter applied prior to PNG compression. 0 is none, 1 is "sub", 2 is
"up", 3 is "average", 4 is "Paeth", and 5 is "mixed". This affects the level
of compression that can be achieved. For most images, "mixed" achieves the
best compression ratio, hence it is the default.
---screenshot-template=<template>
+``--screenshot-template=<template>``
Specify the filename template used to save screenshots. The template
specifies the filename without file extension, and can contain format
specifiers, which will be substituted when taking a screeshot.
@@ -1720,7 +1794,7 @@
specify a directory location where screenshots should be saved.
If the final screenshot filename points to an already existing file, the
- file won't be overwritten. The screenshot will either not be saved, or if
+ file will not be overwritten. The screenshot will either not be saved, or if
the template contains ``%n``, saved using different, newly generated
filename.
@@ -1729,11 +1803,11 @@
``%[#][0X]n``
A sequence number, padded with zeros to length X (default: 04). E.g.
passing the format ``%04n`` will yield ``0012`` on the 12th screenshot.
- The number is incremented every time a screenshot is taken, or if the
+ The number is incremented every time a screenshot is taken or if the
file already exists. The length ``X`` must be in the range 0-9. With
- the optional # sign mpv will use the lowest available number. For
+ the optional # sign, mpv will use the lowest available number. For
example, if you take three screenshots--0001, 0002, 0003--and delete
- the first two, the next two screenshots won't be 0004 and 0005, but
+ the first two, the next two screenshots will not be 0004 and 0005, but
0001 and 0002 again.
``%f``
Filename of the currently played video.
@@ -1747,10 +1821,14 @@
``%P``
Similar to ``%p``, but extended with the playback time in milliseconds.
It is formatted as "HH:MM:SS.mmm", with "mmm" being the millisecond
- part of the playback time. (Note that this is a simple way for getting
- unique per-frame timestamps. Frame numbers would be more intuitive, but
- are not easily implementable, because container formats usually use
- time stamps for identifying frames.)
+ part of the playback time.
+
+ .. note::
+
+ This is a simple way for getting unique per-frame timestamps. Frame
+ numbers would be more intuitive, but are not easily implementable
+ because container formats usually use time stamps for identifying
+ frames.)
``%tX``
Specify the current local date/time using the format ``X``. This format
specifier uses the UNIX ``strftime()`` function internally, and inserts
@@ -1759,96 +1837,100 @@
multiple ``%tX`` specifiers to build a full date/time string.
``%{prop[:fallback text]}``
Insert the value of the slave property 'prop'. E.g. ``%{filename}`` is
- the same as ``%f``. If the property doesn't exist or is not available,
+ the same as ``%f``. If the property does not exist or is not available,
an error text is inserted, unless a fallback is specified.
``%%``
Replaced with the ``%`` character itself.
---screenh=<pixels>
+``--screenh=<pixels>``
Specify the screen height for video output drivers which do not know the
- screen resolution, like x11 and TV-out.
+ screen resolution, like ``x11`` and TV-out.
---screenw=<pixels>
+``--screenw=<pixels>``
Specify the screen width for video output drivers which do not know the
- screen resolution, like x11 and TV-out.
+ screen resolution, like ``x11`` and TV-out.
---show-profile=<profile>
+``--show-profile=<profile>``
Show the description and content of a profile.
---shuffle
+``--shuffle``
Play files in random order.
---sid=<ID|auto|no>
- Display the subtitle stream specified by <ID> (0-31). ``auto`` selects the
- default, ``no`` disables subtitles.
+``--sid=<ID|auto|no>``
+ Display the subtitle stream specified by ``<ID>`` (0-31). ``auto`` selects
+ the default, ``no`` disables subtitles.
+
See also ``--slang``, ``--no-sub``.
---slang=<languagecode[,languagecode,...]>
+``--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. mpv prints the available languages
when run in verbose (``-v``) mode. See also ``--sid``.
- *EXAMPLE*:
+ .. admonition:: Examples
- - ``mpv dvd://1 --slang=hu,en`` chooses the Hungarian subtitle track on
- a DVD and falls back on English if Hungarian is not available.
- - ``mpv --slang=jpn example.mkv`` plays a Matroska file with Japanese
- subtitles.
+ - ``mpv dvd://1 --slang=hu,en`` chooses the Hungarian subtitle track on
+ a DVD and falls back on English if Hungarian is not available.
+ - ``mpv --slang=jpn example.mkv`` plays a Matroska file with Japanese
+ subtitles.
---slave-broken
+``--slave-broken``
Switches on the old slave mode. This is for testing only, and incompatible
- to the removed --slave switch.
-
- *NOTE*: Changes incompatible to slave mode applications have been made. In
- particular, the status line output was changed, which is used by some
- applications to determine the current playback position. This switch has
- been renamed to prevent these applications from working with this version
- of mpv, because it would lead to buggy and confusing behavior only.
- Moreover, the slave mode protocol is so horribly bad that it should not be
- used for new programs, nor should existing programs attempt to adapt to the
- changed output and use the --slave-broken switch. Instead, a new, saner
- protocol should be developed (and will, if there is enough interest).
-
- This affects smplayer, smplayer2, mplayerosx, and others.
-
---softsleep
+ to the removed ``--slave`` switch.
+
+ .. attention::
+ Changes incompatible to slave mode applications have been made. In
+ particular, the status line output was changed, which is used by some
+ applications to determine the current playback position. This switch
+ has been renamed to prevent these applications from working with this
+ version of mpv, because it would lead to buggy and confusing behavior
+ only. Moreover, the slave mode protocol is so horribly bad that it
+ should not be used for new programs, nor should existing programs
+ attempt to adapt to the changed output and use the ``--slave-broken``
+ switch. Instead, a new, saner protocol should be developed (and will be,
+ if there is enough interest).
+
+ This affects most third-party GUI frontends.
+
+``--softsleep``
Time frames by repeatedly checking the current time instead of asking
the kernel to wake up mpv 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=<mode>
- Control whether to use the volume controls of the audio output driver, or
+``--softvol=<mode>``
+ Control whether to use the volume controls of the audio output driver or
the internal mpv volume filter.
:no: prefer audio driver controls, use the volume filter only if
absolutely needed
:yes: always use the volume filter
- :auto: prefer the volume filter if the audio driver uses the system mixer (default)
+ :auto: prefer the volume filter if the audio driver uses the system mixer
+ (default)
The intention of ``auto`` is to avoid changing system mixer settings from
within mpv with default settings. mpv is a video player, not a mixer panel.
On the other hand, mixer controls are enabled for sound servers like
PulseAudio, which provide per-application volume.
---softvol-max=<10.0-10000.0>
+``--softvol-max=<10.0-10000.0>``
Set the maximum amplification level in percent (default: 200). 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>
+``--speed=<0.01-100>``
Slow down or speed up playback by the factor given as parameter.
---srate=<Hz>
+``--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 lavrresample audio filter will be
inserted into the audio filter layer to compensate for the difference.
---start=<relative time>
+``--start=<relative time>``
Seek to given time position.
The general format for absolute times is ``[[hh:]mm:]ss[.ms]``. If the time
@@ -1858,23 +1940,23 @@
``#c`` seeks to chapter number c. (Chapters start from 1.)
- *EXAMPLE*:
-
- ``--start=56``
- Seeks to 56 seconds.
- ``--start=01:10:00``
- Seeks to 1 hour 10 min.
- ``--start=50%``
- Seeks to the middle of the file.
- ``--start=30 --end=40``
- Seeks to 30 seconds, plays 10 seconds, and exits.
- ``--start=-3:20 --length=10``
- Seeks to 3 minutes and 20 seconds before the end of the file, plays
- 10 seconds, and exits.
- ``--start='#2' --end='#4'``
- Plays chapters 2 and 3, and exits.
-
---ssf=<mode>
+ .. admonition:: Examples
+
+ ``--start=56``
+ Seeks to 56 seconds.
+ ``--start=01:10:00``
+ Seeks to 1 hour 10 min.
+ ``--start=50%``
+ Seeks to the middle of the file.
+ ``--start=30 --end=40``
+ Seeks to 30 seconds, plays 10 seconds, and exits.
+ ``--start=-3:20 --length=10``
+ Seeks to 3 minutes and 20 seconds before the end of the file, plays
+ 10 seconds, and exits.
+ ``--start='#2' --end='#4'``
+ Plays chapters 2 and 3, and exits.
+
+``--ssf=<mode>``
Specifies software scaler parameters.
:lgb=<0-100>: gaussian blur filter (luma)
@@ -1884,79 +1966,86 @@
:chs=<h>: chroma horizontal shifting
:cvs=<v>: chroma vertical shifting
- *EXAMPLE*: ``--vf=scale --ssf=lgb=3.0``
+ .. admonition:: Example
---sstep=<sec>
+ ``--vf=scale --ssf=lgb=3.0``
+
+``--sstep=<sec>``
Skip <sec> seconds after every frame.
- *NOTE*: without ``--hr-seek``, skipping will snap to keyframes.
+ .. note::
+
+ Without ``--hr-seek``, skipping will snap to keyframes.
---stop-screensaver, --no-stop-screensaver
+``--stop-screensaver``, ``--no-stop-screensaver``
Turns off the screensaver (or screen blanker and similar mechanisms) at
- startup and turns it on again on exit. (Default: yes)
+ startup and turns it on again on exit (default: yes).
This is not supported on all video outputs or platforms. Sometimes it is
- implemented, but doesn't work (happens often on GNOME). You might be able
+ implemented, but does not work (happens often on GNOME). You might be able
to to work this around using ``--heartbeat-cmd`` instead.
---sub=<subtitlefile1,subtitlefile2,...>
+``--sub=<subtitlefile1,subtitlefile2,...>``
Use/display these subtitle files. Only one file can be displayed at the
same time.
---sub-fix-timing, --no-sub-fix-timing
+``--sub-fix-timing``, ``--no-sub-fix-timing``
By default, external text subtitles are preprocessed to remove minor gaps
or overlaps between subtitles (if the difference is smaller than 200 ms,
the gap or overlap is removed). This does not affect image subtitles,
subtitles muxed with audio/video, or subtitles in the ASS format.
---sub-demuxer=<[+]name>
+``--sub-demuxer=<[+]name>``
Force subtitle demuxer type for ``--sub``. Give the demuxer name as
printed by ``--sub-demuxer=help``.
---sub-paths=<path1:path2:...>
- Specify extra directories where to search for subtitles matching the
- video. Multiple directories can be separated by ":" (";" on Windows).
+``--sub-paths=<path1:path2:...>``
+ Specify extra directories 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, mpv searches for
- subtitle files in these directories:
+ .. admonition:: Example
+
+ Assuming that ``/path/to/movie/movie.avi`` is played and
+ ``--sub-paths=sub:subtitles:/tmp/subs`` is specified, mpv searches for
+ subtitle files in these directories:
- - ``/path/to/movie/``
- - ``/path/to/movie/sub/``
- - ``/path/to/movie/subtitles/``
- - ``/tmp/subs/``
- - ``~/.mpv/sub/``
+ - ``/path/to/movie/``
+ - ``/path/to/movie/sub/``
+ - ``/path/to/movie/subtitles/``
+ - ``/tmp/subs/``
+ - ``~/.mpv/sub/``
---subcp=<codepage>
+``--subcp=<codepage>``
If your system supports ``iconv(3)``, you can use this option to specify
the subtitle codepage.
- *EXAMPLE*:
- - ``--subcp=latin2``
- - ``--subcp=cp1250``
+ .. admonition:: Examples
- If the player was compiled with ENCA support you can use special syntax
- to use that.
+ - ``--subcp=latin2``
+ - ``--subcp=cp1250``
- ``--subcp=enca:<language>:<fallback codepage>``
+ 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 (if the
language is invalid, mpv will complain and list valid languages).
Fallback codepage specifies the codepage to use if autodetection fails.
- *EXAMPLE*:
+ .. admonition:: Examples
- - ``--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.
- - ``--subcp=enca:pl`` guess the encoding for Polish, fall back on UTF-8.
- - ``--subcp=enca`` try universal detection, fall back on UTF-8.
+ - ``--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.
+ - ``--subcp=enca:pl`` guess the encoding for Polish, fall back on UTF-8.
+ - ``--subcp=enca`` try universal detection, fall back on UTF-8.
- If the player was compiled with libguess support you can use it with:
+ If the player was compiled with libguess support, you can use it with:
``--subcp=guess:<language>:<fallback codepage>``
@@ -1965,57 +2054,67 @@
it will be printed only if the conversion code is somehow called, for
example when loading an external subtitle).
---sub-delay=<sec>
- Delays subtitles by <sec> seconds. Can be negative.
+``--sub-delay=<sec>``
+ Delays subtitles by ``<sec>`` seconds. Can be negative.
---subfps=<rate>
+``--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.
+ .. note::
+
+ ``<rate>`` > movie fps speeds the subtitles up for frame-based
+ subtitle files and slows them down for time-based ones.
Also see ``--sub-speed`` option.
---sub-gauss=<0.0-3.0>
+``--sub-gauss=<0.0-3.0>``
Apply gaussian blur to image subtitles (default: 0). This can help making
pixelated DVD/Vobsubs look nicer. A value other than 0 also switches to
software subtitle scaling. Might be slow.
- *NOTE*: never applied to text subtitles.
+ .. note::
---sub-gray
+ Never applied to text subtitles.
+
+``--sub-gray``
Convert image subtitles to grayscale. Can help making yellow DVD/Vobsubs
look nicer.
- *NOTE*: never affects text subtitles.
+ .. note::
+
+ Never applied to text subtitles.
---sub-pos=<0-100>
+``--sub-pos=<0-100>``
Specify the position of subtitles on the screen. The value is the vertical
position of the subtitle in % of the screen height.
- *NOTE*: this affects ASS subtitles as well, and may lead to incorrect
- subtitle rendering. Use with care, or use ``--sub-text-margin-y`` instead.
+ .. note::
---sub-scale=<0-100>
+ This affects ASS subtitles as well, and may lead to incorrect subtitle
+ rendering. Use with care, or use ``--sub-text-margin-y`` instead.
+
+``--sub-scale=<0-100>``
Factor for the text subtitle font size (default: 1).
- *NOTE*: this affects ASS subtitles as well, and may lead to incorrect
- subtitle rendering. Use with care, or use ``--sub-text-font-size`` instead.
+ .. note::
+
+ This affects ASS subtitles as well, and may lead to incorrect subtitle
+ rendering. Use with care, or use ``--sub-text-font-size`` instead.
---sub-speed=<0.1-10.0>
+``--sub-speed=<0.1-10.0>``
Multiply the subtitle event timestamps with the given value. Can be used
to fix the playback speed for frame-based subtitle formats. Works for
external text subtitles only.
- *EXAMPLE*:
+ .. admonition:: Examples
- - ``--sub-speed=25/23.976`` play frame based subtitles, which have been
- loaded assuming a framerate of 23.976, at 25 FPS.
+ - ``--sub-speed=25/23.976`` plays frame based subtitles which have been
+ loaded assuming a framerate of 23.976 at 25 FPS.
---sws=<n>
+``--sws=<n>``
Specify the software scaler algorithm to be used with ``--vf=scale``. This
also affects video output drivers which lack hardware acceleration,
- e.g. x11. See also ``--vf=scale``.
+ e.g. ``x11``. See also ``--vf=scale``.
Available types are:
@@ -2031,120 +2130,131 @@
:9: lanczos
:10: natural bicubic spline
- *NOTE*: Some ``--sws`` options are tunable. The description of the scale
- video filter has further information.
+ .. note::
---term-osd, --no-term-osd
+ 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>
+``--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=<string>
+``--title=<string>``
Set the window title. Properties are expanded on playback start.
- (See property_expansion_.)
+ (See `Property Expansion`_.)
+
+ .. warning::
- *NOTE*: There is a danger of this causing significant CPU usage,
- depending on the properties used and the window manager.
+ There is a danger of this causing significant CPU usage, depending on
+ the properties used and the window manager.
---tv=<option1:option2:...>
+``--tv=<option1:option2:...>``
This option tunes various properties of the TV capture module. For
watching TV with mpv, 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).
+ 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
+ ``noaudio``
no sound
- automute=<0-255> (v4l and v4l2 only)
+ ``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>
+ ``driver=<value>``
See ``--tv=driver=help`` for a list of compiled-in TV input drivers.
available: dummy, v4l2 (default: autodetect)
- device=<value>
+ ``device=<value>``
Specify TV device (default: ``/dev/video0``).
- input=<value>
+ ``input=<value>``
Specify input (default: 0 (TV), see console output for available
inputs).
- freq=<value>
+ ``freq=<value>``
Specify the frequency to set the tuner to (e.g. 511.250). Not
compatible with the channels parameter.
- outfmt=<value>
+ ``outfmt=<value>``
Specify the output format of the tuner with a preset value supported
- by the V4L driver (YV12, UYVY, YUY2, I420)
- or an arbitrary format given as hex value.
+ by the V4L driver (YV12, UYVY, YUY2, I420) or an arbitrary format given
+ as hex value.
- width=<value>
+ ``width=<value>``
output window width
- height=<value>
+ ``height=<value>``
output window height
- fps=<value>
+ ``fps=<value>``
framerate at which to capture video (frames per second)
- buffersize=<value>
+ ``buffersize=<value>``
maximum size of the capture buffer in megabytes (default: dynamical)
- norm=<value>
+ ``norm=<value>``
See the console output for a list of all available norms, also see the
- normid option below.
+ ``normid`` option below.
- normid=<value> (v4l2 only)
+ ``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>
+ ``channel=<value>``
Set tuner to <value> channel.
- chanlist=<value>
+ ``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>],...
+ ``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::
+
+ 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.
- *NOTE*: The channel number will then be the position in the 'channels'
- list, beginning with 1.
+ .. admonition:: Examples
- *EXAMPLE*: ``tv://1``, ``tv://TV1``, ``tv_set_channel 1``,
- ``tv_set_channel TV1``
+ ``tv://1``, ``tv://TV1``, ``tv_set_channel 1``,
+ ``tv_set_channel TV1``
- [brightness|contrast|hue|saturation]=<-100-100>
+ ``[brightness|contrast|hue|saturation]=<-100-100>``
Set the image equalizer on the card.
- audiorate=<value>
+ ``audiorate=<value>``
Set input audio sample rate.
- forceaudio
+ ``forceaudio``
Capture audio even if there are no audio sources reported by v4l.
- alsa
+ ``alsa``
Capture from ALSA.
- amode=<0-3>
+ ``amode=<0-3>``
Choose an audio mode:
:0: mono
@@ -2152,45 +2262,43 @@
:2: language 1
:3: language 2
- forcechan=<1-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>
+ ``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>
+ ``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)
+ ``[volume|bass|treble|balance]=<0-100>``
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)
+ ``gain=<0-100>``
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>
+ ``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
+ ``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 mpv will determine it automatically from
the decimation value (see below).
- decimation=<1|2|4>
+ ``decimation=<1|2|4>``
choose the size of the picture that will be compressed by hardware
MJPEG compression:
@@ -2209,87 +2317,65 @@
- 176x144 PAL
- 176x120 NTSC
- quality=<0-100>
+ ``quality=<0-100>``
Choose the quality of the JPEG compression (< 60 recommended for full
size).
- 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. mpv will also print value for "-tv
- channels=" option, including existing and just found channels.
+``--tvscan=<option1:option2:...>``
+ Tune the TV channel scanner. mpv will also print value for
+ ``--tv=channels=`` option, including existing and just found channels.
Available suboptions are:
- autostart
+ ``autostart``
Begin channel scanning immediately after startup (default: disabled).
- period=<0.1-2.0>
+ ``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=<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.
---use-filedir-conf
+``--use-filedir-conf``
Look for a file-specific configuration file in the same directory as the
- file that is being played.
+ file that is being played. See `File-specific Configuration Files`_.
- *WARNING*: May be dangerous if playing from untrusted media.
+ .. warning::
---user-agent=<string>
- Use <string> as user agent for HTTP streaming.
+ May be dangerous if playing from untrusted media.
--v
+``--user-agent=<string>``
+ Use ``<string>`` as user agent for HTTP streaming.
+
+``-v``
Increment verbosity level, one level for each ``-v`` found on the command
line.
---vd=<[+|-]family1:(*|decoder1),[+|-]family2:(*|decoder2),...[-]>
+``--vd=<[+|-]family1:(*|decoder1),[+|-]family2:(*|decoder2),...[-]>``
Specify a priority list of video decoders to be used, according to their
family and name. See ``--ad`` for further details. Both of these options
- use the same syntax and semantics, the only difference is that they
+ use the same syntax and semantics; the only difference is that they
operate on different codec lists.
- *NOTE*: See ``--vd=help`` for a full list of available decoders.
+ .. note::
---vd-lavc-bitexact
- Only use bit-exact algorithms in all decoding steps (for codec
- testing).
+ See ``--vd=help`` for a full list of available decoders.
---vd-lavc-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.
+``--vd-lavc-bitexact``
+ Only use bit-exact algorithms in all decoding steps (for codec testing).
---vd-lavc-o=<key>=<value>[,<key>=<value>[,...]]
- Pass AVOptions to libavcodec decoder. Note, a patch to make the o=
+``--vd-lavc-fast`` (MPEG-2, MPEG-4, and H.264 only)
+ Enable optimizations which do not comply with the format specification and
+ 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.
+
+``--vd-lavc-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.
@@ -2297,72 +2383,73 @@
mechanism, like ``bug``, ``gray``, ``idct``, ``ec``, ``vismv``,
``skip_top`` (was ``st``), ``skip_bottom`` (was ``sb``), ``debug``.
- *EXAMPLE*: ``--vd--lavc-o=debug=pict``
+ .. admonition:: Example
+
+ ``--vd--lavc-o=debug=pict``
---vd-lavc-skiploopfilter=<skipvalue> (H.264 only)
+``--vd-lavc-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.
+ 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 little visible quality loss.
- <skipvalue> can be one of the following:
+ ``<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").
+ decoding other frames, the error cannot "build up").
:bidir: Skip B-Frames.
:nonkey: Skip all frames except keyframes.
:all: Skip all frames.
---vd-lavc-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).
+``--vd-lavc-skipidct=<skipvalue> (MPEG-1/2 only)``
+ Skips the IDCT step. This degrades quality a lot in almost all cases
+ (see skiploopfilter for available skip values).
---vd-lavc-skipframe=<skipvalue>
+``--vd-lavc-skipframe=<skipvalue>``
Skips decoding of frames completely. Big speedup, but jerky motion and
- sometimes bad artifacts (see skiploopfilter for available skip
- values).
+ sometimes bad artifacts (see skiploopfilter for available skip values).
---vd-lavc-threads=<0-16>
+``--vd-lavc-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)
+ machine and use that, up to the maximum of 16 (default: 0).
---version, -V
+``--version, -V``
Print version string and exit.
---vf=<filter1[=parameter1:parameter2:...],filter2,...>
+``--vf=<filter1[=parameter1:parameter2:...],filter2,...>``
Specify a list of video filters to apply to the video stream. See
- `video_filters` for details and descriptions of the available filters.
+ `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.
+ should not need these for typical use.
---vid=<ID|auto|no>
+``--vid=<ID|auto|no>``
Select video channel. ``auto`` selects the default, ``no`` disables video.
---vo=<driver1[:suboption1[=value]:...],driver2,...[,]>
+``--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
- `video_outputs` for details and descriptions of available drivers.
+ interactive use, one would normally specify a single one to use, but in
+ configuration files, specifying a list of fallbacks may make sense. See
+ `VIDEO OUTPUT DRIVERS`_ for details and descriptions of available drivers.
---volstep=<0-100>
- Set the step size of mixer volume changes in percent of the whole range
+``--volstep=<0-100>``
+ Set the step size of mixer volume changes in percent of the full range
(default: 3).
---volume=<-1-100>
+``--volume=<-1-100>``
Set the startup volume. A value of -1 (the default) will not change the
volume. See also ``--softvol``.
---wid=<ID>
- (X11 and win32 only)
+``--wid=<ID>``
+ (X11 and Windows only)
This tells mpv to attach to an existing window. The ID is interpreted as
- "Window" on X11, and as HWND on win32. If a VO is selected that supports
+ "Window" on X11, and as HWND on Windows. If a VO is selected that supports
this option, a new window will be created and the given window will be set
as parent. The window will always be resized to cover the parent window
fully, and will add black bars to compensate for the video aspect ratio.
- See ``--slave-broken``.
+ See also ``--slave-broken``.
diff --git a/DOCS/man/en/vf.rst b/DOCS/man/en/vf.rst
index 1200b482de..f91fc99c4b 100644
--- a/DOCS/man/en/vf.rst
+++ b/DOCS/man/en/vf.rst
@@ -1,93 +1,93 @@
-.. _video_filters:
-
VIDEO FILTERS
=============
Video filters allow you to modify the video stream and its properties. The
syntax is:
---vf=<filter1[=parameter1:parameter2:...],filter2,...>
+``--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.
+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::
-*NOTE*: To get a full list of available video filters, see ``--vf=help``.
+ 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,...]>
+``--vf-add=<filter1[,filter2,...]>``
Appends the filters given as arguments to the filter list.
---vf-pre=<filter1[,filter2,...]>
+``--vf-pre=<filter1[,filter2,...]>``
Prepends the filters given as arguments to the filter list.
---vf-del=<index1[,index2,...]>
+``--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
+``--vf-clr``
Completely empties the filter list.
With filters that support it, you can access parameters by their name.
---vf=<filter>=help
+``--vf=<filter>=help``
Prints the parameter names and parameter value ranges for a particular
filter.
---vf=<filter=named_parameter1=value1[:named_parameter2=value2:...]>
+``--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]
+``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>
+ ``<w>,<h>``
Cropped width and height, defaults to original width and height.
- <x>,<y>
+ ``<x>,<y>``
Position of the cropped picture, defaults to center.
-expand[=w:h:x:y:aspect:round]
+``expand[=w:h:x:y:aspect:round]``
Expands (not scales) movie resolution to the given value and places the
unscaled original at coordinates x, y.
- <w>,<h>
+ ``<w>,<h>``
Expanded width,height (default: original width,height). Negative
values for w and h are treated as offsets to the original size.
- *EXAMPLE*:
+ .. admonition:: Example
- `expand=0:-50:0:0`
- Adds a 50 pixel border to the bottom of the picture.
+ ``expand=0:-50:0:0``
+ Adds a 50 pixel border to the bottom of the picture.
- <x>,<y>
+ ``<x>,<y>``
position of original image on the expanded image (default: center)
- <aspect>
+ ``<aspect>``
Expands to fit an aspect instead of a resolution (default: 0).
- *EXAMPLE*:
+ .. admonition:: 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.
+ ``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>
+ ``<round>``
Rounds up to make both width and height divisible by <r> (default: 1).
-flip
+``flip``
Flips the image upside down. See also ``--flip``.
-mirror
+``mirror``
Mirrors the image on the Y axis.
-rotate[=<0-7>]
+``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.
@@ -97,11 +97,11 @@ rotate[=<0-7>]
:2: Rotate by 90 degrees counterclockwise.
:3: Rotate by 90 degrees counterclockwise and flip.
-scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]
+``scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]``
Scales the image with the software scaler (slow) and performs a YUV<->RGB
colorspace conversion (see also ``--sws``).
- <w>,<h>
+ ``<w>,<h>``
scaled width/height (default: original width/height)
:0: scaled d_width/d_height
@@ -113,13 +113,13 @@ scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]
:-(n+8): Like -n above, but rounding the dimension to the closest
multiple of 16.
- <interlaced>
+ ``<interlaced>``
Toggle interlaced scaling.
:0: off (default)
:1: on
- <chr_drop>
+ ``<chr_drop>``
chroma skipping
:0: Use all available input lines for chroma.
@@ -127,36 +127,36 @@ scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]
:2: Use only every 4. input line for chroma.
:3: Use only every 8. input line for chroma.
- <par>[:<par2>] (see also ``--sws``)
+ ``<par>[:<par2>]`` (see also ``--sws``)
Set some scaling parameters depending on the type of scaler selected
- with ``--sws``.
+ 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=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=7 (gaussian): sharpness (0 (soft) - 100 (sharp))
- --sws=9 (lanczos): filter length (1-10)
+ --sws=9 (lanczos): filter length (1-10)
- <noup>
+ ``<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>
+ ``<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]
+``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
@@ -164,7 +164,7 @@ dsize[=aspect|w:h:aspect-method:r]
just affects what later scalers (software or hardware) will do when
auto-scaling to correct aspect.
- <w>,<h>
+ ``<w>,<h>``
New display width and height.
Can also be these special values:
@@ -176,86 +176,91 @@ dsize[=aspect|w:h:aspect-method:r]
:-3: Calculate w/h using the other dimension and the original video
aspect ratio.
- *EXAMPLE*:
+ .. admonition:: Example
- ``dsize=800:-2``
- Specifies a display resolution of 800x600 for a 4/3 aspect video,
- or 800x450 for a 16/9 aspect video.
+ ``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>
+ ``<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
+ :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
+ :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
+ :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
+ :3: Keep video aspect ratio by using ``<w>`` and ``<h>`` as minimum
resolution.
- *EXAMPLE*:
+ .. admonition:: Example
- ``dsize=800:600:0``
- Specifies a display resolution of at most 800x600, or smaller, in
- order to keep aspect.
+ ``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).
+ ``<r>``
+ Rounds up to make both width and height divisible by ``<r>``
+ (default: 1).
-format[=fmt[:outfmt]]
- Restricts the colorspace for the next filter without doing any conversion.
+``format[=fmt[:outfmt]]``
+ Restricts the color space 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``.
+ .. note::
+
+ For a list of available formats, see ``format=fmt=help``.
- <fmt>
- format name like rgb15, bgr24, 420p, etc (default: yuyv)
- <outfmt>
+ ``<fmt>``
+ Format name, e.g. rgb15, bgr24, 420p, etc. (default: yuyv).
+ ``<outfmt>``
Format name that should be substituted for the output. If this is not
- 100% compatible with the <fmt> value it will crash.
+ 100% compatible with the ``<fmt>`` value, it will crash.
- *EXAMPLE*
+ .. admonition:: Examples
- ====================== =====================
- Valid Invalid (will crash)
- ====================== =====================
- ``format=rgb24:bgr24`` ``format=rgb24:420p``
- ``format=yuyv:uyvy``
- ====================== =====================
+ ====================== =====================
+ Valid Invalid (will crash)
+ ====================== =====================
+ ``format=rgb24:bgr24`` ``format=rgb24:420p``
+ ``format=yuyv:uyvy``
+ ====================== =====================
-noformat[=fmt]
+``noformat[=fmt]``
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``.
+ .. note:: For a list of available formats, see ``noformat=fmt=help``.
- <fmt>
- format name like rgb15, bgr24, 420p, etc (default: 420p)
+ ``<fmt>``
+ Format name, e.g. rgb15, bgr24, 420p, etc. (default: 420p).
-pp[=filter1[:option1[:option2...]]/[-]filter2...]
+``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:
+ interchangeably, i.e. ``dr``/``dering`` are the same. All subfilters share
+ common options to determine their scope:
- a/autoq
+ ``a/autoq``
Automatically switch the subfilter off if the CPU is too slow.
- c/chrom
+ ``c/chrom``
Do chrominance filtering, too (default).
- y/nochrom
+ ``y/nochrom``
Do luminance filtering only (no chrominance).
- n/noluma
+ ``n/noluma``
Do chrominance filtering only (no luminance).
- *NOTE*: ``--pphelp`` shows a list of available subfilters.
+ .. note::
+
+ ``--pphelp`` shows a list of available subfilters.
Available subfilters are:
- hb/hdeblock[:difference[:flatness]]
+ ``hb/hdeblock[:difference[:flatness]]``
horizontal deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -263,7 +268,7 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
:<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- vb/vdeblock[:difference[:flatness]]
+ ``vb/vdeblock[:difference[:flatness]]``
vertical deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -271,7 +276,7 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
:<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- ha/hadeblock[:difference[:flatness]]
+ ``ha/hadeblock[:difference[:flatness]]``
accurate horizontal deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -279,7 +284,7 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
:<flatness>: Flatness threshold where lower values mean more
deblocking (default: 39).
- va/vadeblock[:difference[:flatness]]
+ ``va/vadeblock[:difference[:flatness]]``
accurate vertical deblocking filter
:<difference>: Difference factor where higher values mean more
@@ -291,130 +296,137 @@ pp[=filter1[:option1[:option2...]]/[-]filter2...]
flatness values so you cannot set different horizontal and vertical
thresholds.
- h1/x1hdeblock
+ ``h1/x1hdeblock``
experimental horizontal deblocking filter
- v1/x1vdeblock
+ ``v1/x1vdeblock``
experimental vertical deblocking filter
- dr/dering
+ ``dr/dering``
deringing filter
- tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]
+ ``tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]``
temporal noise reducer
:<threshold1>: larger -> stronger filtering
:<threshold2>: larger -> stronger filtering
:<threshold3>: larger -> stronger filtering
- al/autolevels[:f/fullyrange]
+ ``al/autolevels[:f/fullyrange]``
automatic brightness / contrast correction
:f/fullyrange: Stretch luminance to (0-255).
- lb/linblenddeint
+ ``lb/linblenddeint``
Linear blend deinterlacing filter that deinterlaces the given block by
filtering all lines with a (1 2 1) filter.
- li/linipoldeint
+ ``li/linipoldeint``
Linear interpolating deinterlacing filter that deinterlaces the given
block by linearly interpolating every second line.
- ci/cubicipoldeint
+ ``ci/cubicipoldeint``
Cubic interpolating deinterlacing filter deinterlaces the given block
by cubically interpolating every second line.
- md/mediandeint
+ ``md/mediandeint``
Median deinterlacing filter that deinterlaces the given block by
applying a median filter to every second line.
- fd/ffmpegdeint
+ ``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
+ ``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]
+ ``fq/forceQuant[:quantizer]``
Overrides the quantizer table from the input with the constant
quantizer you specify.
:<quantizer>: quantizer to use
- de/default
+ ``de/default``
default pp filter combination (hb:a,vb:a,dr:a)
- fa/fast
+ ``fa/fast``
fast pp filter combination (h1:a,v1:a,dr:a)
- ac
+ ``ac``
high quality pp filter combination (ha:a:128:7,va:a,dr:a)
- *EXAMPLE*:
+ .. note::
- ``--vf=pp=hb/vb/dr/al``
- horizontal and vertical deblocking, deringing and automatic
- brightness/contrast
+ This filter is only available if FFmpeg/libav has been compiled
+ with libpostproc enabled.
- ``--vf=pp=de/-al``
- default filters without brightness/contrast correction
+ .. admonition:: Examples
- ``--vf=pp=default/tmpnoise:1:2:3``
- Enable default filters & temporal denoiser.
+ ``--vf=pp=hb/vb/dr/al``
+ horizontal and vertical deblocking, deringing and automatic
+ brightness/contrast
- ``--vf=pp=hb:y/vb:a``
- Horizontal deblocking on luminance only, and switch vertical
- deblocking on or off automatically depending on available CPU time.
+ ``--vf=pp=de/-al``
+ default filters without brightness/contrast correction
-lavfi=graph[:sws_flags[:o=opts]]
- Filter video using ffmpeg's libavfilter.
+ ``--vf=pp=default/tmpnoise:1:2:3``
+ Enable default filters & temporal denoiser.
- <graph>
+ ``--vf=pp=hb:y/vb:a``
+ Horizontal deblocking on luminance only, and switch vertical
+ deblocking on or off automatically depending on available CPU time.
+
+``lavfi=graph[:sws_flags[:o=opts]]``
+ Filter video using FFmpeg's libavfilter.
+
+ ``<graph>``
The libavfilter graph string. The filter must have a single video input
pad and a single video output pad.
- See ``https://ffmpeg.org/ffmpeg-filters.html`` for syntax and available
+ See `<https://ffmpeg.org/ffmpeg-filters.html>`_ for syntax and available
filters.
- *WARNING*: if you want to use the full filter syntax with this option,
- you have to quote the filter graph in order to prevent mpv's syntax
- and the filter graph syntax from clashing.
+ .. warning::
+
+ If you want to use the full filter syntax with this option, you have
+ to quote the filter graph in order to prevent mpv's syntax and the
+ filter graph syntax from clashing.
- *EXAMPLE*:
+ .. admonition:: Examples
- ``-vf lavfi=[gradfun=20:30,vflip]``
- gradfun filter with nonsense parameters, followed by a vflip
- filter. (This demonstrates how libavfilter takes a graph and not
- just a single filter.) The filter graph string is quoted with
- ``[`` and ``]``. This requires no additional quoting or escaping
- with some shells (like bash), while others (like zsh) require
- additional ``"`` quotes around the option string.
+ ``-vf lavfi=[gradfun=20:30,vflip]``
+ ``gradfun`` filter with nonsense parameters, followed by a
+ ``vflip`` filter. (This demonstrates how libavfilter takes a
+ graph and not just a single filter.) The filter graph string is
+ quoted with ``[`` and ``]``. This requires no additional quoting
+ or escaping with some shells (like bash), while others (like
+ zsh) require additional ``"`` quotes around the option string.
- ``'--vf=lavfi="gradfun=20:30,vflip"'``
- same as before, but uses quoting that should be safe with all
- shells. The outer ``'`` quotes make sure that the shell doesn't
- remove the ``"`` quotes needed by mpv.
+ ``'--vf=lavfi="gradfun=20:30,vflip"'``
+ Same as before, but uses quoting that should be safe with all
+ shells. The outer ``'`` quotes make sure that the shell does not
+ remove the ``"`` quotes needed by mpv.
- ``'--vf=lavfi=graph="gradfun=radius=30:strength=20,vflip"'``
- same as before, but uses named parameters for everything.
+ ``'--vf=lavfi=graph="gradfun=radius=30:strength=20,vflip"'``
+ Same as before, but uses named parameters for everything.
- <sws_flags>
+ ``<sws_flags>``
If libavfilter inserts filters for pixel format conversion, this
option gives the flags which should be passed to libswscale. This
option is numeric and takes a bit-wise combination of ``SWS_`` flags.
See ``http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libswscale/swscale.h``.
- <o>
- Set AVFilterGraph options. These should be documented by ffmpeg.
+ ``<o>``
+ Set AVFilterGraph options. These should be documented by FFmpeg.
- *EXAMPLE*:
+ .. admonition:: Example
- ``'--vf=lavfi=yadif:o="threads=2,thread_type=slice"'``
- forces a specific threading configuration.
+ ``'--vf=lavfi=yadif:o="threads=2,thread_type=slice"'``
+ forces a specific threading configuration.
-noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
+``noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]``
Adds noise.
:<0-100>: luma noise
@@ -425,178 +437,184 @@ noise[=luma[u][t|a][h][p]:chroma[u][t|a][h][p]]
:h: high quality (slightly better looking, slightly slower)
:p: mix random noise with a (semi)regular pattern
- *NOTE*: deprecated. Use libavfilter's ``noise`` filter through
- ``-vf lavfi`` instead.
+ .. note::
-hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
+ Deprecated. Use libavfilter's ``noise`` filter through ``--vf=lavfi``
+ instead.
+
+``hqdn3d[=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>
+ ``<luma_spatial>``
spatial luma strength (default: 4)
- <chroma_spatial>
+ ``<chroma_spatial>``
spatial chroma strength (default: 3)
- <luma_tmp>
+ ``<luma_tmp>``
luma temporal strength (default: 6)
- <chroma_tmp>
+ ``<chroma_tmp>``
chroma temporal strength (default:
``luma_tmp*chroma_spatial/luma_spatial``)
- *NOTE*: deprecated. Use libavfilter's ``hqdn3d`` filter through
- ``-vf lavfi`` instead.
+ .. note::
+
+ Deprecated. Use libavfilter's ``hqdn3d`` filter through ``--vf=lavfi``
+ instead.
-eq[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
- Software equalizer that uses lookup tables (slow),
- allowing gamma correction in addition to simple brightness and contrast
- adjustment. The parameters are given as floating point
- values.
+``eq[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]``
+ Software equalizer that uses lookup tables (slow), allowing gamma correction
+ in addition to simple brightness and contrast adjustment. The parameters are
+ given as floating point values.
- <0.1-10>
+ ``<0.1-10>``
initial gamma value (default: 1.0)
- <-2-2>
+ ``<-2-2>``
initial contrast, where negative values result in a negative image
(default: 1.0)
- <-1-1>
+ ``<-1-1>``
initial brightness (default: 0.0)
- <0-3>
+ ``<0-3>``
initial saturation (default: 1.0)
- <0.1-10>
+ ``<0.1-10>``
gamma value for the red component (default: 1.0)
- <0.1-10>
+ ``<0.1-10>``
gamma value for the green component (default: 1.0)
- <0.1-10>
+ ``<0.1-10>``
gamma value for the blue component (default: 1.0)
- <0-1>
+ ``<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).
-ilpack[=mode]
+``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>
+ ``<mode>``
Select the sampling mode.
:0: nearest-neighbor sampling, fast but incorrect
:1: linear interpolation (default)
-unsharp[=l|cWxH:amount[:l|cWxH:amount]]
+``unsharp[=l|cWxH:amount[:l|cWxH:amount]]``
unsharp mask / gaussian blur
- l
+ ``l``
Apply effect on luma component.
- c
+ ``c``
Apply effect on chroma components.
- <width>x<height>
+ ``<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
+ ``amount``
Relative amount of sharpness/blur to add to the image (a sane range
should be -1.5-1.5).
:<0: blur
:>0: sharpen
- *NOTE*: deprecated. Use libavfilter's ``unsharp`` filter through
- ``-vf lavfi`` instead.
+ .. note::
-swapuv
+ Deprecated. Use libavfilter's ``unsharp`` filter through ``--vf=lavfi``
+ instead.
+
+``swapuv``
Swap U & V plane.
- *NOTE*: deprecated. Use libavfilter's ``swapuv`` filter through
- ``-vf lavfi`` instead.
+ .. note::
+
+ Deprecated. Use libavfilter's ``swapuv`` filter through ``--vf=lavfi``
+ instead.
-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.
+``pullup[=jl:jr:jt:jb:sb:mp]``
+ Pulldown reversal (inverse telecine) filter, capable of handling mixed
+ hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive
+ content. The ``pullup`` filter makes use of future context in making its
+ decisions. It 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.
- jl, jr, jt, and jb
+ ``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
+ ``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)
+ ``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
+ 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
+ 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.
-divtc[=options]
+``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
+ 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
+ filter can resync again. Two-pass mode avoids this by analyzing the entire
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. 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:
+ ``divtc`` pass one before the actual encoding throwing the resulting video
+ away. 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
+ ``pass=1|2``
Use two pass mode.
- file=<filename>
+ ``file=<filename>``
Set the two pass log filename (default: ``framediff.log``).
- threshold=<value>
+ ``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>
+ ``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.
+ 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
+ ``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
+ 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
+ ``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
@@ -605,245 +623,247 @@ divtc[=options]
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.
+ 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]
+``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
+ ``t``
Capture field order top-first, transfer bottom-first. Filter will
delay the bottom field.
- b
+ ``b``
Capture bottom-first, transfer top-first. Filter will delay the top
field.
- p
+ ``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
+ ``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.
+ 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.
+ ``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.
+ ``T``
+ Capture top-first, transfer unknown or varying. Filter selects among
+ ``t`` and ``p`` using image analysis.
- B
+ ``B``
Capture bottom-first, transfer unknown or varying. Filter selects
- among b and p using image analysis.
+ among ``b`` and ``p`` using image analysis.
- A
+ ``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.
+ 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.
+ ``U``
+ Both capture and transfer unknown or varying. Filter selects among
+ ``t``, ``b`` and ``p`` using image analysis only.
- v
+ ``v``
Verbose operation. Prints the selected mode for each frame and the
- average squared difference between fields for t, b, and p
+ average squared difference between fields for ``t``, ``b``, and ``p``
alternatives.
-yadif=[mode[:enabled=yes|no]]
+``yadif=[mode[:enabled=yes|no]]``
Yet another deinterlacing filter
- <mode>
+ ``<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.
- <enabled>
+ ``<enabled>``
:yes: Filter is active (default).
- :no: Filter is not active, but can be deactivated with the ``D`` key
+ :no: Filter is not active, but can be activated with the ``D`` key
(or any other key that toggles the ``deinterlace`` property).
- *NOTE*: deprecated. Use libavfilter's ``yadif`` filter through
- ``-vf lavfi`` instead.
+ .. note::
+
+ Deprecated. Use libavfilter's ``yadif`` filter through ``--vf=lavfi``
+ instead.
This filter, or libavfilter's implementation if available, is automatically
inserted when using the ``D`` key (or any other key that toggles the
``deinterlace`` property), assuming the video output does not have native
deinterlacing support.
-down3dright[=lines]
+``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>
+ ``<lines>``
number of lines to select from the middle of the image (default: 12)
-delogo[=x:y:w:h:t]
+``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>
+ ``<x>,<y>``
top left corner of the logo
- <w>,<h>
+ ``<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>
+ ``<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).
+ ``x:y:w:h:t`` coordinates (``t`` can be omitted).
- *NOTE*: deprecated. Use libavfilter's ``delogo`` or ``removelogo`` filters
- through ``-vf lavfi`` instead.
+ .. note::
-screenshot
- Optional filter for screenshot support. This is only needed if the video
- output doesn't provide working direct screenshot support. Note that it is
- not always safe to insert this filter by default. See the
- ``Taking screenshots`` section for details.
+ Deprecated. Use libavfilter's ``delogo`` or ``removelogo`` filters
+ through ``--vf=lavfi`` instead.
-sub=[=bottom-margin:top-margin]
- Moves subtitle rendering to an arbitrary point in the filter
- chain, or force subtitle rendering in the video filter as opposed to using
- video output OSD support.
+``screenshot``
+ Optional filter for screenshot support. This is only needed if the video
+ output does not provide working direct screenshot support. Note that it is
+ not always safe to insert this filter by default. See `TAKING SCREENSHOTS`_
+ for details.
+``sub=[=bottom-margin:top-margin]``
+ Moves subtitle rendering to an arbitrary point in the filter chain, or force
+ subtitle rendering in the video filter as opposed to using video output OSD
+ support.
- <bottom-margin>
+ ``<bottom-margin>``
Adds a black band at the bottom of the frame. The SSA/ASS renderer can
place subtitles there (with ``--ass-use-margins``).
- <top-margin>
+ ``<top-margin>``
Black band on the top for toptitles (with ``--ass-use-margins``).
+ .. admonition:: Examples
- *EXAMPLE*:
-
- ``--vf=sub,eq``
- Moves sub rendering before the eq filter. This will put both
- subtitle colors and video under the influence of the video equalizer
- settings.
+ ``--vf=sub,eq``
+ Moves sub rendering before the eq filter. This will put both
+ subtitle colors and video under the influence of the video equalizer
+ settings.
-stereo3d[=in:out]
+``stereo3d[=in:out]``
Stereo3d converts between different stereoscopic image formats.
- <in>
+ ``<in>``
Stereoscopic image format of input. Possible values:
- sbsl or side_by_side_left_first
+ ``sbsl`` or ``side_by_side_left_first``
side by side parallel (left eye left, right eye right)
- sbsr or side_by_side_right_first
+ ``sbsr`` or ``side_by_side_right_first``
side by side crosseye (right eye left, left eye right)
- abl or above_below_left_first
+ ``abl`` or ``above_below_left_first``
above-below (left eye above, right eye below)
- abl or above_below_right_first
+ ``abr`` or ``above_below_right_first``
above-below (right eye above, left eye below)
- ab2l or above_below_half_height_left_first
+ ``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
+ ``ab2r`` or ``above_below_half_height_right_first``
above-below with half height resolution (right eye above, left eye
below)
- <out>
+ ``<out>``
Stereoscopic image format of output. Possible values are all the input
formats as well as:
- arcg or anaglyph_red_cyan_gray
+ ``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
+ ``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
+ ``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
+ ``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
+ ``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
+ ``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
+ ``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
+ ``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
+ ``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
+ ``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
+ ``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
+ ``irr`` or ``interleave_rows_right_first``
Interleaved rows (right eye has top row, left eye starts on next
row)
- ml or mono_left
+ ``ml`` or ``mono_left``
mono output (left eye only)
- mr or mono_right
+ ``mr`` or ``mono_right``
mono output (right eye only)
- *NOTE*: deprecated. Use libavfilter's ``stereo3d`` filter through
- ``-vf lavfi`` instead.
+ .. note::
+
+ Deprecated. Use libavfilter's ``stereo3d`` filter through ``--vf=lavfi``
+ instead.
-gradfun[=strength[:radius]]
+``gradfun[=strength[:radius]]``
Fix the banding artifacts that are sometimes introduced into nearly flat
- regions by truncation to 8bit colordepth. Interpolates the gradients that
+ regions by truncation to 8bit color depth. 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>
+ ``<strength>``
Maximum amount by which the filter will change any one pixel. Also the
threshold for detecting nearly flat regions (default: 1.2).
- <radius>
+ ``<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).
- *NOTE*: deprecated. Use libavfilter's ``gradfun`` filter through
- ``-vf lavfi`` instead.
+ .. note::
+
+ Deprecated. Use libavfilter's ``gradfun`` filter through ``--vf=lavfi``
+ instead.
-dlopen=dll[:a0[:a1[:a2[:a3]]]]
+``dlopen=dll[:a0[:a1[:a2[:a3]]]]``
Loads an external library to filter the image. The library interface
- is the vf_dlopen interface specified using libmpcodecs/vf_dlopen.h.
+ is the ``vf_dlopen`` interface specified using ``libmpcodecs/vf_dlopen.h``.
- dll=<library>
+ ``dll=<library>``
Specify the library to load. This may require a full file system path
- in some cases! This argument is required.
+ in some cases. This argument is required.
- a0=<string>
+ ``a0=<string>``
Specify the first parameter to pass to the library.
- a1=<string>
+ ``a1=<string>``
Specify the second parameter to pass to the library.
- a2=<string>
+ ``a2=<string>``
Specify the third parameter to pass to the library.
- a3=<string>
+ ``a3=<string>``
Specify the fourth parameter to pass to the library.
diff --git a/DOCS/man/en/vo.rst b/DOCS/man/en/vo.rst
index 3b2c280724..3f648b55fe 100644
--- a/DOCS/man/en/vo.rst
+++ b/DOCS/man/en/vo.rst
@@ -1,39 +1,39 @@
-.. _video_outputs:
-
VIDEO OUTPUT DRIVERS
====================
Video output drivers are interfaces to different video output facilities. The
syntax is:
---vo=<driver1[:suboption1[=value]:...],driver2,...[,]>
+``--vo=<driver1[:suboption1[=value]:...],driver2,...[,]>``
Specify a priority list of video output drivers to be used.
-If the list has a trailing ',' mpv will fall back on drivers not contained
+If the list has a trailing ',', mpv 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.
+.. note::
+
+ See ``--vo=help`` for a list of compiled-in video output drivers.
-*EXAMPLE*:
+.. admonition:: Example
``--vo=opengl,xv,``
- Try the OpenGL driver, then the Xv driver, then others.
+ Try the ``opengl`` driver, then the ``xv`` driver, then others.
Available video output drivers are:
-xv (X11 only)
- Uses the XVideo extension to enable hardware accelerated playback. This is
- the most compatible VO on X, but may be low quality, and has issues with
+``xv`` (X11 only)
+ Uses the XVideo extension to enable hardware-accelerated playback. This is
+ the most compatible VO on X, but may be low-quality, and has issues with
OSD and subtitle display.
- For information about what colorkey is used and how it is drawn run
- mpv with ``-v`` option and look out for the lines tagged with ``[xv
+ For information about what colorkey is used and how it is drawn, run
+ mpv with the ``-v`` option and look out for the lines tagged with ``[xv
common]`` at the beginning.
- adaptor=<number>
+ ``adaptor=<number>``
Select a specific XVideo adaptor (check xvinfo results).
- port=<number>
+ ``port=<number>``
Select a specific XVideo port.
- ck=<cur|use|set>
+ ``ck=<cur|use|set>``
Select the source from which the colorkey is taken (default: cur).
cur
@@ -44,7 +44,7 @@ xv (X11 only)
set
Same as use but also sets the supplied colorkey.
- ck-method=<man|bg|auto>
+ ``ck-method=<man|bg|auto>``
Sets the colorkey drawing method (default: man).
man
@@ -54,94 +54,93 @@ xv (X11 only)
auto
Let Xv draw the colorkey.
-x11 (X11 only)
+``x11`` (X11 only)
Shared memory video output driver without hardware acceleration that works
whenever X11 is present.
- *NOTE*: this is a fallback only, and shouldn't be normally used.
+ .. note:: This is a fallback only, and should not be normally used.
-vdpau (X11 only)
+``vdpau`` (X11 only)
Uses the VDPAU interface to display and optionally also decode video.
Hardware decoding is used with ``--hwdec=vdpau``.
- sharpen=<-1-1>
+ ``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
+ ``denoise=<0-1>``
+ Apply a noise reduction algorithm to the video (default: 0; no noise
reduction).
- deint=<-4-4>
+ ``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
+ (useful in configuration files to specify which mode will be enabled by
the "D" key). All modes respect ``--field-dominance``.
0
- same as -3
+ Same as -3.
1
- Show only first field, similar to ``--vf=field``.
+ Show only first field.
2
- Bob deinterlacing, similar to ``--vf=tfields=1``.
+ Bob deinterlacing.
3
- motion adaptive temporal deinterlacing. May lead to A/V desync
+ 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
+ Motion-adaptive temporal deinterlacing with edge-guided spatial
interpolation. Needs fast video hardware.
- chroma-deint
+ ``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
+ ``pullup``
Try to apply inverse telecine, needs motion adaptive temporal
deinterlacing.
- hqscaling=<0-9>
+ ``hqscaling=<0-9>``
0
Use default VDPAU scaling (default).
1-9
Apply high quality VDPAU scaling (needs capable hardware).
- fps=<number>
+ ``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
+ ``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
+ 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
+ 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>
+ 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>
+ ``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 mpv's frame flip timing less sensitive to system CPU
- load and allows mpv 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).
+ options makes mpv's frame flip timing less sensitive to system CPU load and
+ allows mpv 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 no reason to disable this for
+ fullscreen mode (as the driver issue should not 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
+ ``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
@@ -150,73 +149,71 @@ vdpau (X11 only)
driver implementation may also have limits on the length of maximum
queuing time or number of queued surfaces that work well or at all.
-direct3d_shaders (Windows only)
+``direct3d_shaders`` (Windows only)
Video output driver that uses the Direct3D interface.
- prefer-stretchrect
- Use IDirect3DDevice9::StretchRect over other methods if possible.
+ ``prefer-stretchrect``
+ Use ``IDirect3DDevice9::StretchRect`` over other methods if possible.
- disable-stretchrect
- Never render the video using IDirect3DDevice9::StretchRect.
+ ``disable-stretchrect``
+ Never render the video using ``IDirect3DDevice9::StretchRect``.
- disable-textures
- Never render the video using D3D texture rendering. (Rendering with
- textures + shader will still be allowed. Add disable-shaders to
- completely disable video rendering with textures.)
+ ``disable-textures``
+ Never render the video using D3D texture rendering. Rendering with
+ textures + shader will still be allowed. Add ``disable-shaders`` to
+ completely disable video rendering with textures.
- disable-shaders
+ ``disable-shaders``
Never use shaders when rendering video.
- only-8bit
+ ``only-8bit``
Never render YUV video with more than 8 bits per component.
- (Using this flag will force software conversion to 8 bit.)
+ Using this flag will force software conversion to 8-bit.
- disable-texture-align
+ ``disable-texture-align``
Normally texture sizes are always aligned to 16. With this option
enabled, the video texture will always have exactly the same size as
the video itself.
- Debug options. These might be incorrect, might be removed in the future, might
- crash, might cause slow downs, etc. Contact the developers if you actually need
- any of these for performance or proper operation.
+ Debug options. These might be incorrect, might be removed in the future,
+ might crash, might cause slow downs, etc. Contact the developers if you
+ actually need any of these for performance or proper operation.
- force-power-of-2
+ ``force-power-of-2``
Always force textures to power of 2, even if the device reports
non-power-of-2 texture sizes as supported.
- texture-memory=N
+ ``texture-memory=N``
Only affects operation with shaders/texturing enabled, and (E)OSD.
Values for N:
0
default, will often use an additional shadow texture + copy
1
- use D3DPOOL_MANAGED
+ use ``D3DPOOL_MANAGED``
2
- use D3DPOOL_DEFAULT
+ use ``D3DPOOL_DEFAULT``
3
- use D3DPOOL_SYSTEMMEM, but without shadow texture
+ use ``D3DPOOL_SYSTEMMEM``, but without shadow texture
- swap-discard
- Use D3DSWAPEFFECT_DISCARD, which might be faster.
- Might be slower too, as it must (?) clear every frame.
+ ``swap-discard``
+ Use ``D3DSWAPEFFECT_DISCARD``, which might be faster.
+ Might be slower too, as it must(?) clear every frame.
- exact-backbuffer
+ ``exact-backbuffer``
Always resize the backbuffer to window size.
-direct3d (Windows only)
+``direct3d`` (Windows only)
Same as ``direct3d_shaders``, but with the options ``disable-textures``
and ``disable-shaders`` forced.
-corevideo (Mac OS X 10.6 and later)
+``corevideo`` (Mac OS X 10.6 and later)
Mac OS X CoreVideo video output driver. Uses the CoreVideo APIs to fill
PixelBuffers and generate OpenGL textures from them (useful as a fallback
- for vo_opengl_).
-
-.. _vo_opengl:
+ for ``opengl``).
-opengl
+``opengl``
OpenGL video output driver. It supports extended scaling methods, dithering
and color management.
@@ -224,13 +221,13 @@ opengl
``opengl-hq`` to use this driver with defaults set to high quality
rendering.
- Requires at least OpenGL 2.1 and the GL_ARB_texture_rg extension. For older
- drivers, ``opengl-old`` may work.
+ Requires at least OpenGL 2.1 and the ``GL_ARB_texture_rg`` extension. For
+ older drivers, ``opengl-old`` may work.
Some features are available with OpenGL 3 capable graphics drivers only
(or if the necessary extensions are available).
- lscale=<filter>
+ ``lscale=<filter>``
Set the scaling filter. Possible choices:
bilinear
bicubic_fast
@@ -257,41 +254,41 @@ opengl
blackman3
blackman4
- bilinear
+ ``bilinear``
Bilinear hardware texture filtering (fastest, mid-quality).
This is the default.
- lanczos2
+ ``lanczos2``
Lanczos scaling with radius=2. Provides good quality and speed.
This is the default when using ``opengl-hq``.
- lanczos3
+ ``lanczos3``
Lanczos with radius=3.
- bicubic_fast
+ ``bicubic_fast``
Bicubic filter. Has a blurring effect on the image, even if no
scaling is done.
- sharpen3
+ ``sharpen3``
Unsharp masking (sharpening) with radius=3 and a default strength
of 0.5 (see ``lparam1``).
- sharpen5
+ ``sharpen5``
Unsharp masking (sharpening) with radius=5 and a default strength
of 0.5 (see ``lparam1``).
- mitchell
+ ``mitchell``
Mitchell-Netravali. The ``b`` and ``c`` parameters can be set with
``lparam1`` and ``lparam2``. Both are set to 1/3 by default.
- lparam1=<value>
+ ``lparam1=<value>``
Set filter parameters. Ignored if the filter is not tunable. These are
unset by default, and use the filter specific default if applicable.
- lparam2=<value>
+ ``lparam2=<value>``
See ``lparam1``.
- scaler-resizes-only
+ ``scaler-resizes-only``
Disable the scaler if the video image is not resized. In that case,
``bilinear`` is used instead whatever is set with ``lscale``. Bilinear
will reproduce the source image perfectly if no scaling is performed.
@@ -299,7 +296,7 @@ opengl
processing chain might do chroma scaling differently if ``lscale`` is
disabled.
- stereo=<value>
+ ``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.
@@ -313,36 +310,40 @@ opengl
Convert side by side input to quadbuffered stereo. Only supported
by very few OpenGL cards.
- srgb
+ ``srgb``
Enable gamma-correct scaling by working in linear light. This
makes use of sRGB textures and framebuffers.
- This option forces the options 'indirect' and 'gamma'.
- NOTE: for YUV colorspaces, gamma 1/0.45 (2.222) is assumed. RGB input
- is always assumed to be in sRGB.
+ This option forces the options ``indirect`` and ``gamma``.
+
+ .. note::
+
+ for YUV colorspaces, gamma 1/0.45 (2.222) is assumed. RGB input is
+ always assumed to be in sRGB.
+
This option is not really useful, as gamma-correct scaling has not much
influence on typical video playback. Most visible effect comes from
slightly different gamma.
- pbo
- Enable use of PBOs. This is faster, but can sometimes lead to
- sporadic and temporary image corruption.
+ ``pbo``
+ Enable use of PBOs. This is faster, but can sometimes lead to sporadic
+ and temporary image corruption.
- dither-depth=<N|no|auto>
+ ``dither-depth=<N|no|auto>``
Set dither target depth to N. Default: no.
no
Disable any dithering done by mpv.
auto
- Automatic selection. If output bit depth can't be detected,
+ Automatic selection. If output bit depth cannot be detected,
8 bits per component are assumed.
8
Dither to 8 bit output.
Note that the depth of the connected video display device can not be
detected. Often, LCD panels will do dithering on their own, which
- conflicts with vo_opengl's dithering, and leads to ugly output.
+ conflicts with ``opengl``'s dithering and leads to ugly output.
- dither-size-fruit=<2-8>
+ ``dither-size-fruit=<2-8>``
Set the size of the dither matrix (default: 6). The actual size of
the matrix is ``(2^N) x (2^N)`` for an option value of ``N``, so a
value of 6 gives a size of 64x64. The matrix is generated at startup
@@ -350,27 +351,26 @@ opengl
Used in ``dither=fruit`` mode only.
- dither=<fruit|ordered|no>
+ ``dither=<fruit|ordered|no>``
Select dithering algorithm (default: fruit).
- temporal-dither
+ ``temporal-dither``
Enable temporal dithering. (Only active if dithering is enabled in
general.) This changes between 8 different dithering pattern on each
frame by changing the orientation of the tiled dithering matrix.
Unfortunately, this can lead to flicker on LCD displays, since these
have a high reaction time.
- debug
- Check for OpenGL errors, i.e. call glGetError(). Also request a
+ ``debug``
+ Check for OpenGL errors, i.e. call ``glGetError()``. Also request a
debug OpenGL context (which does nothing with current graphics drivers
as of this writing).
-
- swapinterval=<n>
+ ``swapinterval=<n>``
Interval in displayed frames between two buffer swaps.
1 is equivalent to enable VSYNC, 0 to disable VSYNC.
- no-scale-sep
+ ``no-scale-sep``
When using a separable scale filter for luma, usually two filter
passes are done. This is often faster. However, it forces
conversion to RGB in an extra pass, so it can actually be slower
@@ -378,27 +378,27 @@ opengl
this options will make rendering a single operation.
Note that chroma scalers are always done as 1-pass filters.
- cscale=<n>
- As lscale but for chroma (2x slower with little visible effect).
+ ``cscale=<n>``
+ As ``lscale``, but for chroma (2x slower with little visible effect).
Note that with some scaling filters, upscaling is always done in
RGB. If chroma is not subsampled, this option is ignored, and the
luma scaler is used instead. Setting this option is often useless.
- fancy-downscaling
+ ``fancy-downscaling``
When using convolution based filters, extend the filter size
when downscaling. Trades quality for reduced downscaling performance.
- no-npot
+ ``no-npot``
Force use of power-of-2 texture sizes. For debugging only.
Borders will be distorted due to filtering.
- glfinish
- Call glFinish() before swapping buffers
+ ``glfinish``
+ Call ``glFinish()`` before swapping buffers
- sw
+ ``sw``
Continue even if a software renderer is detected.
- backend=<sys>
+ ``backend=<sys>``
auto
auto-select (default)
cocoa
@@ -410,39 +410,37 @@ opengl
wayland
Wayland/EGL
- indirect
- Do YUV conversion and scaling as separate passes. This will
- first render the video into a video-sized RGB texture, and
- draw the result on screen. The luma scaler is used to scale
- the RGB image when rendering to screen. The chroma scaler
- is used only on YUV conversion, and only if the video is
- chroma-subsampled (usually the case).
+ ``indirect``
+ Do YUV conversion and scaling as separate passes. This will first render
+ the video into a video-sized RGB texture, and draw the result on screen.
+ The luma scaler is used to scale the RGB image when rendering to screen.
+ The chroma scaler is used only on YUV conversion, and only if the video
+ is chroma-subsampled (usually the case).
This mechanism is disabled on RGB input.
Specifying this option directly is generally useful for debugging only.
- fbo-format=<fmt>
+ ``fbo-format=<fmt>``
Selects the internal format of textures used for FBOs. The format can
influence performance and quality of the video output. (FBOs are not
always used, and typically only when using extended scalers.)
- fmt can be one of: rgb, rgba, rgb8, rgb10, rgb16, rgb16f, rgb32f,
+ ``fmt`` can be one of: rgb, rgba, rgb8, rgb10, rgb16, rgb16f, rgb32f,
rgba12, rgba16, rgba16f, rgba32f.
Default: rgb.
- gamma
+ ``gamma``
Always enable gamma control. (Disables delayed enabling.)
- icc-profile=<file>
- Load an ICC profile and use it to transform linear RGB to
- screen output. Needs LittleCMS2 support compiled in.
+ ``icc-profile=<file>``
+ Load an ICC profile and use it to transform linear RGB to screen output.
+ Needs LittleCMS2 support compiled in.
- icc-cache=<file>
- Store and load the 3D LUT created from the ICC profile in
- this file. This can be used to speed up loading, since
- LittleCMS2 can take a while to create the 3D LUT.
- Note that this file contains an uncompressed LUT. Its size depends on
- the ``3dlut-size``, and can be very big.
+ ``icc-cache=<file>``
+ Store and load the 3D LUT created from the ICC profile in this file.
+ This can be used to speed up loading, since LittleCMS2 can take a while
+ to create the 3D LUT. Note that this file contains an uncompressed LUT.
+ Its size depends on the ``3dlut-size``, and can be very big.
- icc-intent=<value>
+ ``icc-intent=<value>``
0
perceptual
1
@@ -452,69 +450,65 @@ opengl
3
absolute colorimetric (default)
- 3dlut-size=<r>x<g>x<b>
- Size of the 3D LUT generated from the ICC profile in each
- dimension. Default is 128x256x64.
+ ``3dlut-size=<r>x<g>x<b>``
+ Size of the 3D LUT generated from the ICC profile in each dimension.
+ Default is 128x256x64.
Sizes must be a power of two, and 256 at most.
- alpha
+ ``alpha``
Try to create a framebuffer with alpha component. This only makes sense
if the video contains alpha information (which is extremely rare). May
not be supported on all platforms. If alpha framebuffers are
- unavailable, it silently falls back to a normal framebuffer. Note
- that when using FBO indirections (such as with ``opengl-hq``), a FBO
+ unavailable, it silently falls back on a normal framebuffer. Note
+ that when using FBO indirections (such as with ``opengl-hq``), an FBO
format with alpha must be specified with the ``fbo-format`` option.
- chroma-location=<auto|center|left>
+ ``chroma-location=<auto|center|left>``
Set the YUV chroma sample location. auto means use the bitstream
flags (default: auto).
-opengl-hq
+``opengl-hq``
Same as ``opengl``, but with default settings for high quality rendering.
- This is equivalent to:
+ This is equivalent to::
- | --vo=opengl:lscale=lanczos2:dither-depth=auto:pbo:fbo-format=rgb16
+ --vo=opengl:lscale=lanczos2:dither-depth=auto:pbo:fbo-format=rgb16
Note that some cheaper LCDs do dithering that gravely interferes with
- vo_opengl's dithering. Disabling dithering with ``dither-depth=no`` helps.
+ ``opengl``'s dithering. Disabling dithering with ``dither-depth=no`` helps.
Unlike ``opengl``, ``opengl-hq`` makes use of FBOs by default. Sometimes you
- can achieve better quality or performance by changing the fbo-format
- sub-option to ``rgb16f``, ``rgb32f`` or ``rgb``. (Known problems include
+ can achieve better quality or performance by changing the ``fbo-format``
+ suboption to ``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include
Mesa/Intel not accepting ``rgb16``, Mesa sometimes not being compiled with
- float texture support, and some OSX setups being very slow with ``rgb16``,
- but fast with ``rgb32f``.)
+ float texture support, and some OSX setups being very slow with ``rgb16``
+ but fast with ``rgb32f``.
-opengl-old
+``opengl-old``
OpenGL video output driver, old 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.
+ of newer extensions which allow support for more color spaces.
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.
+ might be because it is not supported by your card and/or 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
+ ``(no-)ati-hack``
ATI drivers may give a corrupted image when PBOs are used (when using
- `force-pbo`). This option fixes this, at the expense of
- using a bit more memory.
- (no-)force-pbo
+ ``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
- 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``.
- rectangle=<0,1,2>
- Select usage of rectangular textures which saves video RAM, but often
+ copy. Currently this gives a little extra speed with NVIDIA drivers
+ and a lot more speed with ATI drivers. May need the ``ati-hack``
+ suboption to work correctly.
+ ``(no-)scaled-osd``
+ Scales the OSD and subtitles instead of rendering them at display size
+ (default: disabled).
+ ``rectangle=<0,1,2>``
+ Select usage of rectangular textures, which saves video RAM, but often
is slower (default: 0).
0
@@ -525,18 +519,18 @@ opengl-old
Use the ``GL_ARB_texture_non_power_of_two`` extension. In some
cases only supported in software and thus very slow.
- swapinterval=<n>
+ ``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
+ ``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>
+ ``yuv=<n>``
Select the type of YUV to RGB conversion. The default is
auto-detection deciding between values 0 and 2.
@@ -544,16 +538,16 @@ opengl-old
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
+ Same as 2. This used to use NVIDIA-specific extensions, which
+ did not provide any advantages over using fragment programs, except
+ possibly on very ancient graphics 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
+ 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
@@ -579,7 +573,7 @@ opengl-old
also be set independently for red, green and blue. Speed depends
more on GPU memory bandwidth than other methods.
- lscale=<n>
+ ``lscale=<n>``
Select the scaling function to use for luminance scaling. Only valid
for yuv modes 2, 3, 4 and 6.
@@ -597,18 +591,18 @@ opengl-old
some cards.
4
Use experimental unsharp masking with 3x3 support and a default
- strength of 0.5 (see `filter-strength`).
+ 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`).
+ strength of 0.5 (see ``filter-strength``).
- cscale=<n>
+ ``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>
+ 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.
@@ -622,44 +616,43 @@ opengl-old
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.
+ The following options are only useful if writing your own fragment programs.
- customprog=<filename>
- Load a custom fragment program from <filename>. See
+ ``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
+ ``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
+ ``(no-)customtrect``
+ If enabled, use ``texture_rectangle`` for the ``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.
+ 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
+ Normally there is no reason to use the following options; they mostly
exist for testing purposes.
- (no-)glfinish
+ ``(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-...>
+ ``(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.
- sw
+ ``sw``
Continue even if a software renderer is detected.
- backend=<sys>
+ ``backend=<sys>``
auto
auto-select (default)
cocoa
@@ -671,28 +664,28 @@ opengl-old
wayland
Wayland/EGL
-sdl
+``sdl``
SDL 2.0+ Render video output driver, depending on system with or without
- hardware acceleration. Should work everywhere where SDL 2.0 builds. For
- tuning, refer to your copy of the file SDL_hints.h.
+ hardware acceleration. Should work on all platforms supported by SDL 2.0.
+ For tuning, refer to your copy of the file ``SDL_hints.h``.
- sw
+ ``sw``
Continue even if a software renderer is detected.
- switch-mode
+ ``switch-mode``
Instruct SDL to switch the monitor video mode when going fullscreen.
-null
+``null``
Produces no video output. Useful for benchmarking.
-caca
+``caca``
Color ASCII art video output driver that works on a text console.
-image
+``image``
Output each frame into an image file in the current directory. Each file
takes the frame number padded with leading zeros as name.
- format=<format>
+ ``format=<format>``
Select the image file format.
jpg
@@ -710,22 +703,22 @@ image
tga
Truevision TGA.
- png-compression=<0-9>
+ ``png-compression=<0-9>``
PNG compression factor (speed vs. file size tradeoff) (default: 7)
- png-filter=<0-5>
+ ``png-filter=<0-5>``
Filter applied prior to PNG compression (0 = none; 1 = sub; 2 = up;
3 = average; 4 = Paeth; 5 = mixed) (default: 5)
- jpeg-quality=<0-100>
+ ``jpeg-quality=<0-100>``
JPEG quality factor (default: 90)
- [no-]jpeg-progressive
+ ``(no-)jpeg-progressive``
Specify standard or progressive JPEG (default: no).
- [no-]jpeg-baseline
+ ``(no-)jpeg-baseline``
Specify use of JPEG baseline or not (default: yes).
- jpeg-optimize=<0-100>
+ ``jpeg-optimize=<0-100>``
JPEG optimization factor (default: 100)
- jpeg-smooth=<0-100>
+ ``jpeg-smooth=<0-100>``
smooth factor (default: 0)
- jpeg-dpi=<1->
+ ``jpeg-dpi=<1->``
JPEG DPI (default: 72)
- outdir=<dirname>
+ ``outdir=<dirname>``
Specify the directory to save the image files to (default: ``./``).