diff options
Diffstat (limited to 'DOCS/man/options.rst')
-rw-r--r-- | DOCS/man/options.rst | 2789 |
1 files changed, 2789 insertions, 0 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst new file mode 100644 index 0000000000..b6b08d7d6e --- /dev/null +++ b/DOCS/man/options.rst @@ -0,0 +1,2789 @@ +OPTIONS +======= + +``--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 + decoder that matches the audio format is selected. If that is unavailable, + 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 on other available + decoders not on the ``--ad`` list. ``+`` in front of an entry forces the + 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. + + .. admonition:: Examples + + ``--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=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-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 ``--audio-channels`` option. + Useful for playing surround audio on a stereo system. + +``--ad-lavc-threads=<0-16>`` + Number of threads to use for decoding. Whether threading is actually + supported depends on codec. As of this writing, it's supported for some + lossless codecs only. 0 means autodetect number of cores on the + machine and use that, up to the maximum of 16 (default: 1). + +``--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`` + 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 + output. + + DTS-HD tracks can be sent over HDMI but not over the original + coax/toslink S/PDIF system. + + Some receivers don't accept DTS core-only when ``--ad-spdif-dtshd=yes`` is + used, even though they accept DTS-HD. + + ``--dtshd`` and ``--no-dtshd`` are deprecated aliases. + +``--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. + The option variants ``--af-add``, ``--af-pre``, ``--af-del`` and + ``--af-clr`` exist to modify a previously specified list, but you + should not need these for typical use. + +``--aid=<ID|auto|no>`` + Select audio channel. ``auto`` selects the default, ``no`` disables audio. + See also ``--alang``. + +``--alang=<languagecode[,languagecode,...]>`` + Specify a priority list of audio languages to use. Different container + formats employ different language codes. DVDs use ISO 639-1 two-letter + language codes, Matroska, MPEG-TS and NUT use ISO 639-2 three-letter + language codes, while OGM uses a free-form identifier. See also ``--aid``. + + .. 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. + +``--ao=<driver1[:suboption1[=value]:...],driver2,...[,]>`` + Specify a priority list of audio output drivers to be used. For + 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 OUTPUT DRIVERS`_ for details and descriptions of available drivers. + +``--sub-ass``, ``--no-sub-ass`` + Render ASS subtitles natively (enabled by default). + + If ``--no-sub-ass`` is specified, all tags and style declarations are + stripped and ignored on display. The subtitle renderer uses the font style + as specified by the ``--sub-text-`` options instead. + + .. note:: + + Using ``--no-sub-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:: + + Try using ``--ass-style-override=force`` instead. + +``--ass-force-style=<[Style.]Param=Value[,...]>`` + Override some style or script info parameters. + + .. admonition:: Examples + + - ``--ass-force-style=FontName=Arial,Default.Bold=1`` + - ``--ass-force-style=PlayResY=768`` + + .. note:: + + Using this option may lead to incorrect subtitle rendering. + +``--ass-hinting=none|light|normal|native`` + Set font hinting type. <type> can be: + + :none: no hinting (default) + :light: FreeType autohinter, light mode + :normal: FreeType autohinter, normal mode + :native: font native hinter + + .. admonition:: Warning + + Enabling hinting can lead to mispositioned text (in situations it's + supposed to match up with video background), or reduce the smoothness + of animations with some badly authored ASS scripts. It is recommended + to not use this option, unless really needed. + +``--ass-line-spacing=<value>`` + Set line spacing value for SSA/ASS renderer. + +``--ass-shaper=simple|complex`` + Set the text layout engine used by libass. + + :simple: uses Fribidi only, fast, doesn't render some languages correctly + :complex: uses HarfBuzz, slower, wider language support + + ``complex`` is the default. If libass hasn't been compiled against HarfBuzz, + libass silently reverts to ``simple``. + +``--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. + +``--ass-style-override=<yes|no|force>`` + 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). + :no: Render subtitles as forced by subtitle scripts. + :force: Try to force the font style as defined by the ``--sub-text-*`` + options. Requires a modified libass, can break rendering easily. + Probably more reliable than ``force``. + +``--ass-use-margins`` + Enables placing toptitles and subtitles in black borders when they are + available. + +``--ass-vsfilter-aspect-compat=<yes|no>`` + Stretch SSA/ASS subtitles when playing anamorphic videos for compatibility + with traditional VSFilter behavior. This switch has no effect when the + video is stored with square pixels. + + The renderer historically most commonly used for the SSA/ASS subtitle + formats, VSFilter, had questionable behavior that resulted in subtitles + being stretched too if the video was stored in anamorphic format that + required scaling for display. This behavior is usually undesirable and + newer VSFilter versions may behave differently. However, many existing + scripts compensate for the stretching by modifying things in the opposite + direction. Thus, if such scripts are displayed "correctly", they will not + appear as intended. This switch enables emulation of the old VSFilter + behavior (undesirable but expected by many existing scripts). + + Enabled by default. + +``--ass-vsfilter-blur-compat=<yes|no>`` + Scale ``\blur`` tags by video resolution instead of script resolution + (enabled by default). This is bug in VSFilter, which according to some, + can't be fixed anymore in the name of compatibility. + + Note that this uses the actual video resolution for calculating the + offset scale factor, not what the video filter chain or the video output + use. + +``--ass-vsfilter-color-compat=<basic|full|force-601|no>`` + Mangle colors like (xy-)vsfilter do (default: basic). Historically, VSFilter + was not colorspace aware. This was no problem as long as the colorspace + used for SD video (BT.601) was used. But when everything switched to HD + (BT.709), VSFilter was still converting RGB colors to BT.601, rendered + them into the video frame, and handled the frame to the video output, which + would use BT.709 for conversion to RGB. The result were mangled subtitle + colors. Later on, bad hacks were added on top of the ASS format to control + how colors are to be mangled. + + :basic: Handle only BT.601->BT.709 mangling, if the subtitles seem to + indicate that this is required (default). + :full: Handle the full ``YCbCr Matrix`` header with all video colorspaces + supported by libass and mpv. This might lead to bad breakages in + corner cases and is not strictly needed for compatibility + (hopefully), which is why this is not default. + :force-601: Force BT.601->BT.709 mangling, regardless of subtitle headers + or video colorspace. + :no: Disable color mangling completely. All colors are RGB. + + Choosing anything other than ``no`` will make the subtitle color depend on + the video colorspace, and it's for example in theory not possible to reuse + a subtitle script with another video file. The ``--ass-style-override`` + option doesn't affect how this option is interpreted. + +``--audio-channels=<number|layout>`` + Request a channel layout for audio output (default: stereo). This will ask + the AO to open a device with the given channel layout. It's up to the AO + to accept this layout, or to pick a fallback or to error out if the + requested layout is not supported. + + The ``--audio-channels`` option either takes a channel number or an explicit + channel layout. Channel numbers refer to default layouts, e.g. 2 channels + refer to stereo, 6 refers to 5.1. + + See ``--audio-channels=help`` output for defined default layouts. This also + lists speaker names, which can be used to express arbitrary channel + layouts (e.g. ``fl-fr-lfe`` is 2.1). + + You can use ``--audio-channels=empty`` to disable this. In this case, the AO + use the channel layout as the audio filter chain indicates. + + This will also request the channel layout from the decoder. If the decoder + does not support the layout, it will fall back to its native channel layout. + (You can use ``--ad-lavc-downmix=no`` to make the decoder always output + its native layout.) Note that only some decoders support remixing audio. + Some that do include AC-3, AAC or DTS audio. + + If the channel layout of the media file (i.e. the decoder) and the AO's + channel layout don't match, mpv will attempt to insert a conversion filter. + +``--audio-delay=<sec>`` + Audio delay in seconds (positive or negative float value). Positive values + delay the audio, and negative values delay the video. + +``--audio-demuxer=<[+]name>`` + Use this audio demuxer type when using ``--audio-file``. 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>`` + 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 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. + +``--audio-file=<filename>`` + Play audio from an external file while viewing a video. Each use of this + option will add a new audio track. The details are similar to how + ``--sub-file`` works. + +``--audio-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. + +``--audio-samplerate=<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. + +``--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. + + This option never changes the aspect ratio of the window. If the aspect + ratio mismatches, the window's size is reduced until it fits into the + specified size. + + Window position is not taken into account, nor is it modified by this + option (the window manager still may place the window differently depending + on size). Use ``--geometry`` to change the window position. Its effects + are applied after this option. + + See ``--geometry`` for details how this is handled with multi-monitor + setups. + + Use ``--autofit-larger`` instead if you just want to limit the maximum size + of the window, rather than always forcing a window size. + + 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. + + .. admonition:: Examples + + ``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. + + .. 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. + +``--autosync=<factor>`` + Gradually adjusts the A/V sync based on audio delay measurements. + Specifying ``--autosync=0``, the default, will cause frame timing to be + based entirely on audio delay measurements. Specifying ``--autosync=1`` + will do the same, but will subtly change the A/V correction algorithm. An + uneven video framerate in a movie which plays fine with ``--no-audio`` can + often be helped by setting this to an integer value greater than 1. The + higher the value, the closer the timing will be to ``--no-audio``. Try + ``--autosync=30`` to smooth out problems with sound drivers which do not + implement a perfect audio delay measurement. With this value, if large A/V + sync offsets occur, they will only take about 1 or 2 seconds to settle + out. This delay in reaction time to sudden A/V offsets should be the only + side-effect of turning this option on, for all sound drivers. + +``--untimed`` + Do not sleep when outputting video frames. Useful for benchmarks when used + with ``--no-audio.`` + +``--bluray-angle=<ID>`` + Some Blu-ray discs contain scenes that can be viewed from multiple angles. + This option tells mpv which angle to use (default: 1). + +``--bluray-device=<path>`` + (Blu-ray only) + Specify the Blu-ray disc location. Must be a directory with Blu-ray + structure. + + .. admonition:: Example + + ``mpv bd:// --bluray-device=/path/to/bd/`` + +``--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>`` + Adjust the brightness of the video signal (default: 0). Not supported by + all video output drivers. + +``--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, + using the size set by ``--cache-default``. + + May be useful when playing files from slow media, but can also have + negative effects, especially with file formats that require a lot of + seeking, such as mp4. + + Note that half the cache size will be used to allow fast seeking back. This + is also the reason why a full cache is usually reported as 50% full. The + cache fill display does not include the part of the cache reserved for + seeking back. Likewise, when starting a file the cache will be at 100%, + because no space is reserved for seeking back yet. + +``--cache-default=<kBytes|no>`` + Set the size of the cache in kilobytes (default: 25000 KB). Using ``no`` + will not automatically enable the cache e.g. when playing from a network + stream. Note that using ``--cache`` will always override this option. + +``--cache-pause-below=<kBytes|no>`` + If the cache size goes below the specified value (in KB), pause and wait + until the size set by ``--cache-pause-restart`` is reached, then resume + playback (default: 500). If ``no`` is specified, this behavior is disabled. + + When the player is paused this way, the status line shows ``Buffering`` + instead of ``Paused``, and the OSD uses a clock symbol instead of the + normal paused symbol. + +``--cache-pause-restart=<kBytes>`` + If the cache is paused due to the ``--cache-pause-below`` functionality, + then the player unpauses as soon as the cache has this much data (in KB). + (Default: 1000) + +``--cache-initial=<kBytes>`` + Playback will start when the cache has been filled up with this many + kilobytes of data (default: 0). + +``--cache-seek-min=<kBytes>`` + If a seek is to be made to a position within ``<kBytes>`` 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: + 500). + + This matters for small forward seeks. With slow streams (especially http + streams) there is a tradeoff between skipping the data between current + position and seek destination, or performing an actual seek. Depending + on the situation, either of these might be slower than the other method. + This option allows control over this. + +``--cdda-...`` + These options can be used to tune the CD Audio reading feature of mpv. + +``--cdda-speed=<value>`` + Set CD spin speed. + +``--cdda-paranoia=<0-2>`` + Set paranoia level. Values other than 0 seem to break playback of + anything but the first track. + + :0: disable checking (default) + :1: overlap checking only + :2: full data correction and verification + +``--cdda-sector-size=<value>`` + Set atomic read size. + +``--cdda-overlap=<value>`` + Force minimum overlap search during verification to <value> sectors. + +``--cdda-toc-bias`` + Assume that the beginning offset of track 1 as reported in the TOC + will be addressed as LBA 0. Some discs need this for getting track + boundaries correctly. + +``--cdda-toc-offset=<value>`` + Add ``<value>`` sectors to the values reported when addressing tracks. + May be negative. + +``--cdda-skip=<es|no`` + (Never) accept imperfect data reconstruction. + +``--cdrom-device=<path>`` + Specify the CD-ROM device (default: ``/dev/cdrom``). + +``--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>`` + Threshold for merging almost consecutive ordered chapter parts in + milliseconds (default: 100). Some Matroska files with ordered chapters + have inaccurate chapter end timestamps, causing a small gap between the + end of one chapter and the start of the next one when they should match. + If the end of one playback part is less than the given threshold away from + the start of the next one then keep playing video normally over the + chapter change instead of doing a seek. + +``--chapter-seek-threshold=<seconds>`` + Distance in seconds from the beginning of a chapter within which a backward + chapter seek will go to the previous chapter (default: 5.0). Past this + threshold, a backward chapter seek will go to the beginning of the current + chapter instead. A negative value means always go back to the previous + chapter. + +``--colormatrix=<colorspace>`` + Controls the YUV to RGB color space conversion when playing video. There + are various standards. Normally, BT.601 should be used for SD video, and + BT.709 for HD video. (This is done by default.) Using incorrect color space + results in slightly under or over saturated and shifted colors. + + The color space conversion is additionally influenced by the related + options --colormatrix-input-range and --colormatrix-output-range. + + These options are not always supported. Different video outputs provide + varying degrees of support. The ``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 + will be selected automatically. This is done using a simple heuristic that + attempts to distinguish SD and HD video. If the video is larger than + 1279x576 pixels, BT.709 (HD) will be used; otherwise BT.601 (SD) is + selected. + + Available color spaces are: + + :auto: automatic selection (default) + :BT.601: ITU-R BT.601 (SD) + :BT.709: ITU-R BT.709 (HD) + :SMPTE-240M: SMPTE-240M + +``--colormatrix-input-range=<color-range>`` + YUV color levels used with YUV to RGB conversion. This option is only + 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. + + Available color ranges are: + + :auto: automatic selection (normally limited range) (default) + :limited: limited range (16-235 for luma, 16-240 for chroma) + :full: full range (0-255 for both luma and chroma) + +``--colormatrix-output-range=<color-range>`` + RGB color levels used with YUV to RGB conversion. Normally, output devices + such as PC monitors use full range color levels. However, some TVs and + video monitors expect studio 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. + + Available color ranges are: + + :auto: automatic selection (equals to full range) (default) + :limited: limited range (16-235 per component), studio levels + :full: full range (0-255 per component), PC levels + + .. note:: + + It is advisable to use your graphics driver's color range option + instead, if available. + +``--config-dir=<path>`` + Force a different configuration directory. If this is set, the given + directory is used to load configuration files, and all other configuration + directories are ignored. This means the global mpv configuration directory + as well as per-user directories are ignored, and overrides through + environment variables (``MPV_HOME``) are also ignored. + + Note that the ``--no-config`` option takes precedence over this option. + +``--contrast=<-100-100>`` + Adjust the contrast of the video signal (default: 0). Not supported by all + video output drivers. + +``--cookies``, ``--no-cookies`` + (network only) + Support cookies when making HTTP requests. Disabled by default. + +``--cookies-file=<filename>`` + (network only) + Read HTTP cookies from <filename>. The file is assumed to be in Netscape + format. + +``--correct-pts``, ``--no-correct-pts`` + ``--no-correct-pts`` switches mpv to a mode where video timing is + determined using a fixed framerate value (either using the ``--fps`` + option, or using file information). Sometimes, files with very broken + timestamps can be played somewhat well in this mode. Note that video + filters, subtitle rendering and audio synchronization can be completely + broken in this mode. + +``--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. + +``--cursor-autohide-fs-only`` + If this option is given, the cursor is always visible in windowed mode. In + fullscreen mode, the cursor is shown or hidden according to + ``--cursor-autohide``. + +``--deinterlace=<yes|no|auto>`` + Enable or disable interlacing (default: auto, which usually means no). + Interlaced video shows ugly comb-like artifacts, which are visible on + fast movement. Enabling this typically inserts the yadif video filter in + order to deinterlace the video, or lets the video output apply deinterlacing + if supported. + + This behaves exactly like the ``deinterlace`` input property (usually + mapped to ``Shift+D``). + + ``auto`` is a technicality. Strictly speaking, the default for this option + is deinterlacing disabled, but the ``auto`` case is needed if ``yadif`` was + added to the filter chain manually with ``--vf``. Then the core shouldn't + disable deinterlacing just because the ``--deinterlace`` was not set. + +``--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>`` + Maximum length in seconds to analyze the stream properties. + +``--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 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. + +``--demuxer-lavf-format=<name>`` + Force a specific libavformat demuxer. + +``--demuxer-lavf-genpts-mode=<no|lavf>`` + Mode for deriving missing packet PTS values from packet DTS. ``lavf`` + enables libavformat's ``genpts`` option. ``no`` disables it. This used + to be enabled by default, but then it was deemed as not needed anymore. + Enabling this might help with timestamp problems, or make them worse. + +``--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 + through the AVOption system is welcome. A full list of AVOptions can + be found in the FFmpeg manual. Note that some options may conflict + with mpv options. + + .. admonition:: Example + + ``--demuxer-lavf-o=fflags=+ignidx`` + +``--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-buffersize=<value>`` + Size of the stream read buffer allocated for libavformat in bytes + (default: 32768). Lowering the size could lower latency. Note that + libavformat might reallocate the buffer internally, or not fully use all + of it. + +``--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`` + 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 + seeking before or exactly to the position a subtitle first appears. To + make this worse, subtitles are often timed to appear a very small amount + before the associated video frame, so that seeking to the video frame + typically does not demux the subtitle at that position. + + Enabling this option makes the demuxer start reading data a bit before the + seek target, so that subtitles appear correctly. Note that this makes + seeking slower, and is not guaranteed to always work. It only works if the + subtitle is close enough to the seek target. + + Works with the internal Matroska demuxer only. Always enabled for absolute + and hr-seeks, and this option changes behavior with relative or imprecise + seeks only. + + 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 + instead of just skipping over it. + + ``--mkv-subtitle-preroll`` is a deprecated alias. + +``--demuxer-rawaudio-channels=<value>`` + Number of channels (or channel layout) if ``--demuxer=rawaudio`` is used + (default: stereo). + +``--demuxer-rawaudio-format=<value>`` + Sample format for ``--demuxer=rawaudio`` (default: s16le). + +``--demuxer-rawaudio-rate=<value>`` + Sample rate for ``--demuxer=rawaudio`` (default: 44KHz). + +``--demuxer-rawvideo-fps=<value>`` + Rate in frames per second for ``--demuxer=rawvideo`` (default: 25.0). + +``--demuxer-rawvideo-w=<value>``, ``--demuxer-rawvideo-h=<value>`` + Image dimension in pixels for ``--demuxer=rawvideo``. + + .. admonition:: Example + + Play a raw YUV sample:: + + mpv sample-720x576.yuv --demuxer=rawvideo \ + --demuxer-rawvideo=w=720:h=576 + +``--demuxer-rawvideo-format=<value>`` + Colorspace (fourcc) in hex or string for ``--demuxer=rawvideo`` + (default: ``YV12``). + +``--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>`` + 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 does not accept decoder names). + +``--demuxer-rawvideo-size=<value>`` + Frame size in bytes when using ``--demuxer=rawvideo``. + +``--dump-stats=<filename>`` + Write certain statistics to the given file. The file is truncated on + opening. The file will contain raw samples, each with a timestamp. To + make this file into a readable, the script ``TOOLS/stats-conv.py`` can be + used (which currently displays it as a graph). + + This option is useful for debugging only. + +``--dvbin-card=<1-4>`` + Specifies using card number 1-4 (default: 1). + +``--dvbin-file=<filename>`` + Instructs mpv to read the channels list from ``<filename>``. Default is + ``~/.mpv/channels.conf.{sat,ter,cbl,atsc}`` (based on your card type) or + ``~/.mpv/channels.conf`` as a last resort. + +``--dvbin-timeout=<1-30>`` + Maximum number of seconds to wait when trying to tune a frequency before + giving up (default: 30). + +``--dvd-device=<path>`` + Specify the DVD device or .iso filename (default: ``/dev/dvd``). You can + also specify a directory that contains files previously copied directly + from a DVD (with e.g. vobcopy). + + .. admonition:: Example + + ``mpv dvd:// --dvd-device=/path/to/dvd/`` + +``--dvd-speed=<speed>`` + Try to limit DVD speed (default: 0, no change). DVD base speed is 1385 + 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. + +``--dvd-angle=<ID>`` + Some DVDs contain scenes that can be viewed from multiple angles. + This option tells mpv which angle to use (default: 1). + +``--edition=<ID|auto>`` + (Matroska files only) + Specify the edition (set of chapters) to use, where 0 is the first. If set + to ``auto`` (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`` + Use fonts embedded in Matroska container files and ASS scripts (default: + enabled). These fonts can be used for SSA/ASS subtitle rendering. + +``--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. + +``--field-dominance=<auto|top|bottom>`` + Set first field for interlaced content. Useful for deinterlacers that + double the framerate: ``--vf=yadif=field`` and ``--vo=vdpau:deint``. + + :auto: (default) If the decoder does not export the appropriate + 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`` enforces closing and reopening the video window for + multiple files (one (un)initialization for each file). + +``--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``, + ``opengl``, ``direct3d``), this can be slightly faster or slower, + depending on GPU drivers and hardware. For other VOs, this just makes + rendering slower. + +``--force-window`` + Create a video output window even if there is no video. This can be useful + when pretending that mpv is a GUI application. Currently, the window + always has the size 640x480, and is subject to ``--geometry``, + ``--autofit``, and similar options. + + .. warning:: + + The window is created only after initialization (to make sure default + window placement still works if the video size is different from the + ``--force-window`` default window size). This can be a problem if + initialization doesn't work perfectly, such as when opening URLs with + bad network connection, or opening broken video files. + +``--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`` + Display only forced subtitles for the DVD subtitle stream selected by e.g. + ``--slang``. + +``--fps=<float>`` + Override video framerate. Useful if the original value is wrong or missing. + + .. note:: + + Works in ``--no-correct-pts`` mode only. + +``--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. + +``--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>`` + 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 on using the behaviour + depending on what the user provided with the ``screen`` option. + + .. admonition:: Note (X11) + + This option does works properly only with window managers which + understand the EWMH ``_NET_WM_FULLSCREEN_MONITORS`` hint. + + .. admonition:: Note (OS X) + + ``all`` does not work on OSX and will behave like ``current``. + + See also ``--screen``. + +``--fs-missioncontrol`` + (OS X only) + 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>`` + Adjust the gamma of the video signal (default: 0). Not supported by all + video output drivers. + +``--gapless-audio=<no|yes|weak`` + Try to play consecutive audio files with no silence or disruption at the + point of file change. Default: ``weak``. + + :no: Disable gapless audio. + :yes: 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 ``--audio-samplerate`` + and ``--audio-format`` to explicitly select what the shared output + format will be. + :weak: Normally, the audio device is kept open (using the format it was + first initialized with). If the audio format the decoder output + changes, the audio device is closed and reopened. This means that + you will normally get gapless audio with files that were encoded + using the same settings, but might not be gapless in other cases. + (Unlike with ``yes``, you don't have to worry about corner cases + like the first file setting a very low quality output format, and + ruining the playback of higher quality files that follow.) + + .. note:: + + 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 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. + +``--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. + + 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. + + .. 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. + +``--heartbeat-cmd=<command>`` + 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. The command is not run while playback + is paused. + + .. 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. Note that the ``--stop-screensaver`` does not influence the + heartbeat code at all. + + .. admonition:: Example for xscreensaver + + ``mpv --heartbeat-cmd="xscreensaver-command -deactivate" file`` + + .. admonition:: Example for GNOME screensaver + + ``mpv --heartbeat-cmd="gnome-screensaver-command -p" file`` + + +``--heartbeat-interval=<sec>`` + Time between ``--heartbeat-cmd`` invocations in seconds (default: 30). + + .. note:: + + This does not affect the normal screensaver operation in any way. + +``--help`` + Show short summary of options. + +``--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 is possible to explicitly override that + default in the definition of key bindings and in slave mode commands. + + :no: Never use precise seeks. + :absolute: Use precise seeks if the seek is to an absolute position in the + file, such as a chapter seek, but not for relative seeks like + the default behavior of arrow keys (default). + :yes: Use precise seeks whenever possible. + +``--hr-seek-demuxer-offset=<seconds>`` + This option exists to work around failures to do precise seeks (as in + ``--hr-seek``) caused by bugs or limitations in the demuxers for some file + formats. Some demuxers fail to seek to a keyframe before the given target + position, going to a later position instead. The value of this option is + subtracted from the time stamp given to the demuxer. Thus, if you set this + option to 1.5 and try to do a precise seek to 60 seconds, the demuxer is + told to seek to time 58.5, which hopefully reduces the chance that it + erroneously goes to some time later than 60 seconds. The downside of + setting this option is that precise seeks become slower, as video between + the earlier demuxer position and the real target may be unnecessarily + decoded. + +``--hr-seek-framedrop=<yes|no>`` + Allow the video decoder to drop frames during seek, if these frames are + before the seek target. If this is enabled, precise seeking can be faster, + but if you're using video filters which modify timestamps or add new + frames, it can lead to precise seeking skipping the target frame. This + e.g. can break frame backstepping when deinterlacing is enabled. + + Default: ``yes`` + +``--http-header-fields=<field1,field2>`` + Set custom HTTP fields when accessing HTTP stream. + + .. admonition:: Example + + :: + + mpv --http-header-fields='Field1: value1','Field2: value2' \ + http://localhost:1234 + + Will generate HTTP request:: + + GET / HTTP/1.0 + Host: localhost:1234 + User-Agent: MPlayer + Icy-MetaData: 1 + Field1: value1 + Field2: value2 + Connection: close + +``--hue=<-100-100>`` + Adjust the hue of the video signal (default: 0). You can get a colored + negative of the image with this option. Not supported by all video output + drivers. + +``--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 on software decoding. + + ``<api>`` can be one of the following: + + :no: always use software decoding (default) + :auto: see below + :vdpau: requires ``--vo=vdpau`` or ``--vo=opengl`` (Linux only) + :vaapi: requires ``--vo=opengl`` or ``--vo=vaapi`` (Linux with Intel GPUs only) + :vaapi-copy: copies video back into system RAM (Linux with Intel GPUs only) + :vda: requires ``--vo=opengl`` or ``--vo=corevideo`` (OSX only) + + ``auto`` tries to automatically enable hardware decoding using the first + available method. This still depends what VO you are using. For example, + if you are not using ``--vo=vdpau``, vdpau decoding will never be enabled. + Also note that if the first found method doesn't actually work, it will + always fall back to software decoding, instead of trying the next method. + + The ``vaapi-copy`` function allows you to use vaapi with any VO. Because + this copies the decoded video back to system RAM, it's quite inefficient. + + .. note:: + + When using this switch, hardware decoding is still only done for some + codecs. See ``--hwdec-codecs`` to enable hardware decoding for more + codecs. + +``--hwdec-codecs=<codec1,codec2,...|all>`` + Allow hardware decoding for a given list of codecs only. The special value + ``all`` always allows all codecs. + + You can get the list of allowed codecs with ``mpv --vd=help``. Remove the + prefix, e.g. instead of ``lavc:h264`` use ``h264``. + + By default this is set to ``h264,vc1,wmv3``. Note that the hardware + acceleration special codecs like ``h264_vdpau`` are not relevant anymore, + and in fact have been removed from Libav in this form. + + This is usually only needed with broken GPUs, where a codec is reported + as supported, but decoding causes more problems than it solves. + + .. admonition:: Example + + ``mpv --hwdec=vdpau --vo=vdpau --hwdec-codecs=h264,mpeg2video`` + Enable vdpau decoding for h264 and mpeg2 only. + +``--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 + commands (see also ``--slave-broken``). + +``--index=<mode>`` + Controls how to seek in files. Note that if the index is missing from a + file, it will be built on the fly by default, so you don't need to change + this. But it might help with some broken files. + + :default: use an index if the file has one, or build it if missing + :recreate: don't read or use the file's index + + .. note:: + + This option only works if the underlying media supports seeking + (i.e. not with stdin, pipe, etc). + +``--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 + 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 + mpv versions did: video and audio are both started immediately even if + their start timestamps differ, and then video timing is gradually adjusted + if necessary to reach correct synchronization later. + +``--input-conf=<filename>`` + Specify input configuration file other than the default + ``~/.mpv/input.conf``. + +``--no-input-default-bindings`` + Disable mpv default (builtin) key bindings. + +``--input-cmdlist`` + Prints all commands that can be bound to keys. + +``--input-doubleclick-time=<milliseconds>`` + Time in milliseconds to recognize two consecutive button presses as a + double-click (default: 300). + +``--input-keylist`` + Prints all keys that can be bound to commands. + +``--input-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. + +``--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). See `INPUT.CONF`_. + +``--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. + +``--input-terminal``, ``--no-input-terminal`` + ``--no-input-terminal`` prevents the player from reading key events from + standard input. Useful when reading data from standard input. This is + automatically enabled when ``-`` is found on the command line. There are + situations where you have to set it manually, e.g. if you open + ``/dev/stdin`` (or the equivalent on your system), use stdin in a playlist + or intend to read from stdin later on via the loadfile or loadlist slave + commands. + +``--input-appleremote``, ``--no-input-appleremote`` + Enable/disable AppleIR remote support. Enabled by default. + +``--input-ar-delay`` + Delay in milliseconds before we start to autorepeat a key (0 to disable). + +``--input-ar-rate`` + Number of key presses to generate per second on autorepeat. + +``--input-cursor``, ``--no-input-cursor`` + Permit mpv to receive pointer events reported by the video output + driver. Necessary to use the OSC, or to select the buttons in DVD menus. + Support depends on the VO in use. + +``--input-joystick``, ``--no-input-joystick`` + Enable/disable joystick support. Disabled by default. + +``--input-js-dev`` + Specifies the joystick device to use (default: ``/dev/input/js0``). + +``--input-lirc``, ``--no-input-lirc`` + Enable/disable LIRC support. Enabled by default. + +``--input-lirc-conf=<filename>`` + (LIRC only) + Specifies a configuration file for LIRC (default: ``~/.lircrc``). + +``--input-media-keys``, ``--no-input-media-keys`` + OSX only: Enabled by default. Enables/disable media keys support. + +``--input-right-alt-gr``, ``--no-input-right-alt-gr`` + (Cocoa and Windows only) + Use the right Alt key as Alt Gr to produce special characters. If disabled, + count the right Alt as an Alt modifier key. Enabled by default. + +``--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`` + 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. + +``--length=<relative time>`` + Stop after a given time relative to the start time. + See ``--start`` for valid option values and examples. + +``--list-options`` + Prints all available options. + +``--list-properties`` + Print a list of the available properties. + +``--load-scripts=<yes|no>`` + If set to ``no``, don't auto-load scripts from ``~/.mpv/lua/``. + (Default: ``yes``) + +``--load-unsafe-playlists`` + Normally, something like ``mpv playlist.m3u`` won't load the playlist. This + is because the playlist code is unsafe. (This is the same in all other + variations of MPlayer.) + + See ``--playlist`` for details. + + Note: this option will allow opening playlists using the ``playlist`` + special demuxer. The ``--playlist`` uses different code, and supports more + playlist formats than the playlist demuxer. This means that for now, the + ``--playlist`` option should always be used if you intend to open playlists. + Background: the special demuxer contains newly written code, while the + ``--playlist`` option uses the old MPlayer code. Adding support for more + playlist formats to the special demuxer is work in progress, and eventually + the old code should disappear. + +``--loop=<N|inf|no>`` + Loops playback ``N`` times. A value of ``1`` plays it one time (default), + ``2`` two times, etc. ``inf`` means forever. ``no`` is the same as ``1`` and + disables looping. If several files are specified on command line, the + entire playlist is looped. + +``--loop-file`` + Loop a single file. The difference to ``--loop=inf`` is that this doesn't + loop the playlist, just the file itself. If the playlist contains only a + single file, the difference between the two option is that this option + performs a seek on loop, instead of reloading the file. + +``--lua=<filename>`` + Load a Lua script. You can load multiple scripts by separating them with + commas (``,``). + +``--lua-opts=key1=value1,key2=value2,...`` + Set options for scripts. A Lua script can query an option by key. If an + option is used and what semantics the option value has depends entirely on + the loaded Lua scripts. Values not claimed by any scripts are ignored. + +``--mc=<seconds/frame>`` + Maximum A-V sync correction per frame (in seconds) + +``--merge-files`` + Pretend that all files passed to mpv are concatenated into a single, big + file. This uses timeline/EDL support internally. Note that this won't work + for ordered chapter files or quvi-resolved URLs (such as youtube links). + + This option is interpreted at program start, and doesn't affect for + example files or playlists loaded with the ``loadfile`` or ``loadlist`` + commands. + +``--mf=<option1:option2:...>`` + Used when decoding from multiple PNG or JPEG files with ``mf://``. + + Available options are: + + :fps=<value>: output fps (default: 1) + :type=<value>: input file type (available: jpeg, png, tga, sgi) + +``--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 ``--video-aspect``. + + .. admonition:: Examples + + - ``--monitoraspect=4:3`` or ``--monitoraspect=1.3333`` + - ``--monitoraspect=16:9`` or ``--monitoraspect=1.7777`` + +``--monitorpixelaspect=<ratio>`` + Set the aspect of a single pixel of your monitor or TV screen (default: + 1). A value of 1 means square pixels (correct for (almost?) all LCDs). See + also ``--monitoraspect`` and ``--video-aspect``. + +``--no-msg-color`` + Disable colorful console output on terminals. + +``--msg-level=<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. + + Run mpv with ``--msg-level=all=trace`` to see all messages mpv outputs. You + can use the module names printed in the output (prefixed to each line in + ``[...]``) to limit the output to interesting modules. + + .. note:: + + Some messages are printed before the command line is parsed and are + therefore not affected by ``--msg-level``. To control these messages, + you have to use the ``MPV_VERBOSE`` environment variable; see + `ENVIRONMENT VARIABLES`_ for details. + + Available levels: + + :no: complete silence + :fatal: fatal messages only + :error: error messages + :warn: warning messages + :info: informational messages + :status: status messages (default) + :v: verbose messages + :debug: debug messages + :trace: very noisy debug messages + +``--msg-module`` + Prepend module name to each console message. + +``--msg-time`` + Prepend timing information to each console message. + +``--mute=<auto|yes|no>`` + Set startup audio mute status. ``auto`` (default) will not change the mute + status. Also see ``--volume``. + +``--x11-name`` + Set the window class name for X11-based video output methods. + +``--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.) + +``--no-cache`` + Turn off input stream caching. See ``--cache``. + +``--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. Other configuration + files are blocked as well, such as resume playback files. + + .. note:: + + Files explicitly requested by command line options, like + ``--include`` or ``--use-filedir-conf``, will still be loaded. + + Also see ``--config-dir``. + +``--no-idx`` + Do not use index present in the file even if one is present. + +``--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`` + Do not restore playback position from ``~/.mpv/watch_later/``. + See ``quit_watch_later`` input command. + +``--no-sub`` + Do not select any subtitle when the file is loaded. + +``--sub-visibility``, ``--no-sub-visibility`` + Can be used to disable display of subtitles, but still select and decode + them. + +``--no-video`` + Do not play video. With some demuxers this may not work. In those cases + you can try ``--vo=null`` instead. + +``--ontop`` + Makes the player window stay on top of other windows. + +``--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. + +``--ordered-chapters-files=<playlist-file>`` + Loads the given file as playlist, and tries to use the files contained in + it as reference files when opening a Matroska file that uses ordered + chapters. This overrides the normal mechanism for loading referenced + files by scanning the same directory the main file is located in. + + Useful for loading ordered chapter files that are not located on the local + filesystem, or if the referenced files are in different directories. + + Note: a playlist can be as simple as a text file containing filenames + separated by newlines. + +``--osc``, ``--no-osc`` + Whether to load the on-screen-controller (default: yes). + +``--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. + + You can configure this on a per-command basis in input.conf using ``osd-`` + prefixes, see ``Input command prefixes``. If you want to disable the OSD + completely, use ``--osd-level=0``. + +``--osd-bar-align-x=<-1-1>`` + Position of the OSD bar. -1 is far left, 0 is centered, 1 is far right. + Fractional values (like 0.5) are allowed. + +``--osd-bar-align-y=<-1-1>`` + Position of the OSD bar. -1 is top, 0 is centered, 1 is bottom. + Fractional values (like 0.5) are allowed. + +``--osd-bar-w=<1-100>`` + Width of the OSD bar, in percentage of the screen width (default: 75). + A value of 50 means the bar is half the screen wide. + +``--osd-bar-h=<0.1-50>`` + Height of the OSD bar, in percentage of the screen height (default: 3.125). + +``--osd-back-color=<color>``, ``--sub-text-back-color=<color>`` + See ``--osd-color``. Color used for OSD/sub text background. + +``--osd-blur=<0..20.0>``, ``--sub-text-blur=<0..20.0>`` + Gaussian blur factor. 0 means no blur applied (default). + +``--osd-border-color=<color>``, ``--sub-text-border-color=<color>`` + 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). + +``--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=<color>``, ``--sub-text-color=<color>`` + Specify the color used for OSD/unstyled text subtitles. + + The color is specified in the form ``r/g/b``, where each color component + is specified as number in the range 0.0 to 1.0. It's also possible to + specify the transparency by using ``r/g/b/a``, where the alpha value 0 + means fully transparent, and 1.0 means opaque. If the alpha component is + not given, the color is 100% opaque. + + Passing a single number to the option sets the OSD to gray, and the form + ``gray/a`` lets you specify alpha additionally. + + .. admonition:: Examples + + - ``--osd-color=1.0/0.0/0.0`` set OSD to opaque red + - ``--osd-color=1.0/0.0/0.0/0.75`` set OSD to opaque red with 75% alpha + - ``--osd-color=0.5/0.75`` set OSD to 50% gray with 75% alpha + + Alternatively, the color can be specified as a RGB hex triplet in the form + ``#RRGGBB``, where each 2-digit group expresses a color value in the + range 0 (``00``) to 255 (``FF``). For example, ``#FF0000`` is red. + This is similar to web colors. + + .. admonition:: Examples + + - ``--osd-color='#FF0000'`` set OSD to opaque red + - ``--osd-color='#C0808080'`` set OSD to 50% gray with 75% alpha + +``--osd-duration=<time>`` + Set the duration of the OSD messages in ms (default: 1000). + +``--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-serif``. + + .. admonition:: Examples + + - ``--osd-font='Bitstream Vera Sans'`` + - ``--osd-font='Bitstream Vera Sans:style=Bold'`` (fontconfig pattern) + + .. note:: + + The ``--sub-text-font`` option (and most other ``--sub-text-`` + options) are ignored when ASS-subtitles are rendered, unless the + ``--no-sub-ass`` option is specified. + +``--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 + of the text increases or decreases as well. + + Default: 45. + +``--osd-fractions`` + Show OSD times with fractions of seconds. + +``--osd-level=<0-3>`` + Specifies which mode the OSD should start in. + + :0: OSD completely disabled (subtitles only) + :1: enabled (shows up only on user interaction) + :2: enabled + current time visible by default + :3: enabled + ``--osd-status-msg`` (current time and status by default) + +``--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). + + This option specifies the distance of the OSD to the left, as well as at + which distance from the right border long OSD text will be broken. + + Default: 25. + +``--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). + + This option specifies the vertical margins of the OSD. This is also used + for unstyled text subtitles. If you just want to raise the vertical + subtitle position, use ``--sub-pos``. + + Default: 10. + +``--osd-scale=<factor>`` + OSD font size multiplicator, multiplied with ``--osd-font-size`` value. + +``--osd-scale-by-window=yes|no`` + Whether to scale the OSD with the window size (default: yes). If this is + disabled, ``--osd-font-size`` and other OSD options that use scaled pixels + are always in actual pixels. The effect is that changing the window size + won't change the OSD font size. + +``--osd-shadow-color=<color>, --sub-text-shadow-color=<color>`` + See ``--osd-color``. Color used for OSD/sub text shadow. + +``--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>`` + 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>`` + 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`_. + +``--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. + +``--pause`` + Start the player in paused state. + +``--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 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 do not start playback. Instead, the entire + file is dumped. + +``--playlist=<filename>`` + Play files according to a playlist file (Supports some common formats.If + no format is detected, t will be treated as list of files, separated by + newline characters. Note that XML playlist formats are not supported.) + + .. warning:: + + The way mpv 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! + + The main problem is that playlists can point to arbitrary network + addresses (including local addresses inside of your LAN), and thus + can't be considered secure. Playlists also can contain entries using + other protocols, such as local files, or (most severely), special + protocols like ``avdevice://``, which are inherently unsafe. + +``--priority=<prio>`` + (Windows only.) + Set process priority for mpv according to the predefined priorities + available under Windows. + + Possible values of ``<prio>``: + idle|belownormal|normal|abovenormal|high|realtime + + .. warning:: Using realtime priority can cause system lockup. + +``--profile=<profile1,profile2,...>`` + Use the given profile(s), ``--profile=help`` displays a list of the + defined profiles. + +``--pts-association-mode=<decode|sort|auto>`` + Select the method used to determine which container packet timestamp + corresponds to a particular output frame from the video decoder. Normally + you should not need to change this option. + + :decoder: Use decoder reordering functionality. Unlike in classic MPlayer + and mplayer2, this includes a dTS fallback. (Default.) + :sort: Maintain a buffer of unused pts values and use the lowest value + for the frame. + :auto: Try to pick a working mode from the ones above automatically. + + You can also try to use ``--no-correct-pts`` for files with completely + broken timestamps. + +``--pvr-...`` + These options tune various encoding properties of the PVR capture module. + It has to be used with any hardware MPEG encoder based card supported by + the V4L2 driver. The Hauppauge WinTV PVR-150/250/350/500 and all IVTV + based cards are known as PVR capture cards. Be aware that only Linux + 2.6.18 kernel and above is able to handle MPEG stream through V4L2 layer. + For hardware capture of an MPEG stream and watching it with mpv, use + ``pvr://`` as a movie URL. + + +``--pvr-aspect=<0-3>`` + Specify input aspect ratio: + + :0: 1:1 + :1: 4:3 (default) + :2: 16:9 + :3: 2.21:1 + +``--pvr-arate=<32000-48000>`` + Specify encoding audio rate (default: 48000 Hz, available: 32000, + 44100 and 48000 Hz). + +``--pvr-alayer=<1-3>`` + Specify MPEG audio layer encoding (default: 2). + +``--pvr-abitrate=<32-448>`` + Specify audio encoding bitrate in kbps (default: 384). + +``--pvr-amode=<value>`` + Specify audio encoding mode. Available preset values are 'stereo', + 'joint_stereo', 'dual' and 'mono' (default: stereo). + +``--pvr-vbitrate=<value>`` + Specify average video bitrate encoding in Mbps (default: 6). + +``--pvr-vmode=<value>`` + Specify video encoding mode: + + :vbr: Variable BitRate (default) + :cbr: Constant BitRate + +``--pvr-vpeak=<value>`` + Specify peak video bitrate encoding in Mbps (only useful for VBR + encoding, default: 9.6). + +``--pvr-fmt=<value>`` + Choose an MPEG format for encoding: + + :ps: MPEG-2 Program Stream (default) + :ts: MPEG-2 Transport Stream + :mpeg1: MPEG-1 System Stream + :vcd: Video CD compatible stream + :svcd: Super Video CD compatible stream + :dvd: DVD compatible stream + +``--quiet`` + Make console output less verbose; in particular, prevents the status line + (i.e. 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``). + + Also see ``--really-quiet`` and ``--msg-level``. + +``--quvi-fetch-subtitles=<yes|no>`` + Toggles fetching of subtitles from streaming sites with libquvi. Disabled + by default, because it's unreliable and slow. Note that when enabled, + subtitles will always be fetched, even if subtitles are explicitly + disabled with ``--no-sub`` (because you might want to enable subtitles + at runtime). + + Supported when using libquvi 0.9.x. + +``--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 + the video. + + 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 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/r/api/0.9/glossary_termino.html#m_stream_id>`_ + + The ``quvi-format`` property can be used at runtime to cycle through the + list of formats. Unfortunately, this is slow. On libquvi 0.4.x, this + functionality is limited to switching between ``best`` and ``default`` if + the ``cycle`` input command is used. + +``--really-quiet`` + Display even less output and status messages than with ``--quiet``. + +``--referrer=<string>`` + Specify a referrer path or URL for HTTP requests. + +``--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 + when starting next file.) + + Default: Do not reset anything. + + This can be changed with this option. It accepts a list of options, and + mpv will reset the value of these options on playback start to the initial + value. The initial value is either the default value, or as set by the + config file or command line. + + In some cases, this might not work as expected. For example, ``--volume`` + 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. + + .. admonition:: Examples + + - ``--reset-on-next-file=pause`` + Reset pause mode when switching to the next file. + - ``--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. + +``--rtsp-transport=<lavf|udp|tcp|http>`` + Select RTSP transport method (default: tcp). This selects the underlying + network transport when playing ``rtsp://...`` URLs. The value ``lavf`` + leaves the decision to libavformat. + +``--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`` + 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 does not happen if playback of a file is stopped in any other + way than quitting. For example, going to the next file in the playlist + will not save the position, and start playback at beginning the next time + the file is played. + + This behavior is disabled by default, but is always available when quitting + the player with Shift+Q. + +``--write-filename-in-watch-later-config`` + Prepend the watch later config files with the name of the file they refer + to. This is simply written as comment on the top of the file. + + .. warning:: + + This option may expose privacy-sensitive information and is thus + disabled by default. + +``--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 + movie on. + + .. admonition:: Note (X11) + + This option does not work properly with all window managers. In these + cases, you can try to use ``--geometry`` to position the window + explicitly. It's also possible that the window manager provides native + features to control which screens application windows should use. + + See also ``--fs-screen``. + +``--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) + +``--screenshot-jpeg-quality=<0-100>`` + Set the JPEG quality level. Higher means better quality. The default is 90. + +``--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 + to write a screenshot. Too high compression might occupy enough CPU time to + interrupt playback. The default is 7. + +``--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>`` + 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. + By default the template is ``shot%n``, which results in filenames like + ``shot0012.png`` for example. + + The template can start with a relative or absolute path, in order to + specify a directory location where screenshots should be saved. + + If the final screenshot filename points to an already existing file, the + file will not be overwritten. The screenshot will either not be saved, or if + the template contains ``%n``, saved using different, newly generated + filename. + + Allowed format specifiers: + + ``%[#][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 + 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 + example, if you take three screenshots--0001, 0002, 0003--and delete + 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. + ``%F`` + Same as ``%f``, but strip the file extension, including the dot. + ``%x`` + Directory path of the currently played video. If the video is not on + the filesystem (but e.g. ``http://``), this expand to an empty string. + ``%X{fallback}`` + Same as ``%x``, but if the video file is not on the filesystem, return + the fallback string inside the ``{...}``. + ``%p`` + Current playback time, in the same format as used in the OSD. The + result is a string of the form "HH:MM:SS". For example, if the video is + at the time position 5 minutes and 34 seconds, ``%p`` will be replaced + with "00:05:34". + ``%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:: + + 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.) + ``%wX`` + Specify the current playback time using the format string ``X``. + ``%p`` is like ``%wH:%wM:%wS``, and ``%P`` is like ``%wH:%wM:%wS.%wT``. + + Valid format specifiers: + ``%wH`` + hour (padded with 0 to two digits) + ``%wh`` + hour (not padded) + ``%wM`` + minutes (00-59) + ``%wm`` + total minutes (includes hours, unlike ``%wM``) + ``%wS`` + seconds (00-59) + ``%ws`` + total seconds (includes hours and minutes) + ``%wf`` + like ``%ws``, but as float + ``%wT`` + milliseconds (000-999) + + ``%tX`` + Specify the current local date/time using the format ``X``. This format + specifier uses the UNIX ``strftime()`` function internally, and inserts + the result of passing "%X" to ``strftime``. For example, ``%tm`` will + insert the number of the current month as number. You have to use + 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 does not exist or is not available, + an error text is inserted, unless a fallback is specified. + ``%%`` + Replaced with the ``%`` character itself. + +``--secondary-sid=<ID|auto|no>`` + Select a secondary subtitle stream. This is similar to ``--sid``. If a + secondary subtitle is selected, it will be rendered as toptitle (i.e. on + the top of the screen) alongside the normal subtitle, and provides a way + to render two subtitles at once. + + there are some caveats associated with this feature. For example, bitmap + subtitles will always be rendered in their usual position, so selecting a + bitmap subtitle as secondary subtitle will result in overlapping subtitles. + Secondary subtitles are never shown on the terminal if video is disabled. + + .. note:: + + Styling and interpretation of any formatting tags is disabled for the + secondary subtitle. Internally, the same mechanism as ``--no-sub-ass`` + is used to strip the styling. + + .. note:: + + If the main subtitle stream contains formatting tags which display the + subtitle at the top of the screen, it will overlap with the secondary + subtitle. To prevent this, you could use ``--no-sub-ass`` to disable + styling in the main subtitle stream. + +``--show-profile=<profile>`` + Show the description and content of a profile. + +``--shuffle`` + Play files in random order. + +``--sid=<ID|auto|no>`` + Display the subtitle stream specified by ``<ID>``. ``auto`` selects + the default, ``no`` disables subtitles. + + See also ``--slang``, ``--no-sub``. + +``--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. See also ``--sid``. + + .. 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. + +``--slave-broken`` + Switches on the old slave mode. This is for testing only, and incompatible + 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 + 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) + + 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>`` + 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. + + .. admonition:: Note + + The maximum value of ``--volume`` as well as the ``volume`` property + is always 100. Likewise, the volume OSD bar always goes from 0 to 100. + This means that with ``--softvol-max=200``, ``--volume=100`` sets + maximum amplification, i.e. amplify by 200%. The default volume (no + change in volume) will be ``50`` in this case. + +``--speed=<0.01-100>`` + Slow down or speed up playback by the factor given as parameter. + +``--start=<relative time>`` + Seek to given time position. + + The general format for absolute times is ``[[hh:]mm:]ss[.ms]``. If the time + is negated with ``-``, the seek is relative from the end of the file. + + ``pp%`` seeks to percent position pp (0-100). + + ``#c`` seeks to chapter number c. (Chapters start from 1.) + + .. 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. + +``--stretch-dvd-subs=<yes|no>`` + Stretch DVD subtitles when playing anamorphic videos for better looking + fonts on badly mastered DVDs. This switch has no effect when the + video is stored with square pixels - which for DVD input cannot be the case + though. + + Many studios tend to use bitmap fonts designed for square pixels when + authoring DVDs, causing the fonts to look stretched on playback on DVD + players. This option fixes them, however at the price of possibly + misaligning sume subtitles (e.g. sign translations). + + Disabled by default. + +``--sstep=<sec>`` + Skip <sec> seconds after every frame. + + .. note:: + + Without ``--hr-seek``, skipping will snap to keyframes. + +``--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). The screensaver is + always re-enabled when the player is paused. + + This is not supported on all video outputs or platforms. Sometimes it is + implemented, but does not work (happens often on GNOME). You might be able + to to work this around using ``--heartbeat-cmd`` instead. + +``--sub-file=subtitlefile`` + Add a subtitle file to the list of external subtitles. + + If you use ``--sub-file`` only once, this subtitle file is displayed by + default. + + If ``--sub-file`` is used multiple times, the subtitle to use can be + switched at runtime by cycling subtitle tracks. It's possible to show + two subtitles at once: use ``--sid`` to select the first subtitle index, + and ``--secondary-sid`` to select the second index. (The index is printed + on the terminal output after the ``--sid=`` in the list of streams.) + +``--sub-auto=<no|exact|fuzzy|all>``, ``--no-sub-auto`` + Load additional subtitle files matching the video filename. The parameter + specifies how external subtitle files are matched. ``exact`` is enabled by + default. + + :no: Don't automatically load external subtitle files. + :exact: Load the media filename with subtitle file extension (default). + :fuzzy: Load all subs containing movie name. + :all: Load all subs in the current and ``--sub-paths`` directories. + +``--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. + + .. 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/`` + +``--sub-demuxer=<[+]name>`` + Force subtitle demuxer type for ``--sub-file``. Give the demuxer name as + printed by ``--sub-demuxer=help``. + +``--sub-codepage=<codepage>`` + If your system supports ``iconv(3)``, you can use this option to specify + the subtitle codepage. By default, ENCA will be used to guess the charset. + If mpv is not compiled with ENCA, ``UTF-8:UTF-8-BROKEN`` is the default, + which means it will try to use UTF-8, otherwise the ``UTF-8-BROKEN`` + pseudo codepage (see below). + + .. admonition:: Warning + + If you force the charset, even subtitles that are known to be + UTF-8 will be recoded, which is perhaps not what you expect. Prefix + codepages with ``utf8:`` if you want the codepage to be used only if the + input is not valid UTF-8. + + .. admonition:: Examples + + - ``--sub-codepage=utf8:latin2`` Use Latin 2 if input is not UTF-8. + - ``--sub-codepage=cp1250`` Always force recoding to cp1250. + + The pseudo codepage ``UTF-8-BROKEN`` is used internally. When it + is the codepage, subtitles are interpreted as UTF-8 with "Latin 1" as + fallback for bytes which are not valid UTF-8 sequences. iconv is + never involved in this mode. + + If the player was compiled with ENCA support, you can control it with the + following syntax: + + ``--sub-codepage=enca:<language>:<fallback codepage>`` + + Language is specified using a two letter code to help ENCA detect + the codepage automatically. If an invalid language code is + entered, mpv will complain and list valid languages. (Note + however that this list will only be printed when the conversion code is actually + called, for example when loading an external subtitle). The + fallback codepage is used if autodetection fails. If no fallback + is specified, ``UTF-8-BROKEN`` is used. + + .. admonition:: Examples + + - ``--sub-codepage=enca:pl:cp1250`` guess the encoding, assuming the subtitles + are Polish, fall back on cp1250 + - ``--sub-codepage=enca:pl`` guess the encoding for Polish, fall back on UTF-8. + - ``--sub-codepage=enca`` try universal detection, fall back on UTF-8. + + If the player was compiled with libguess support, you can use it with: + + ``--sub-codepage=guess:<language>:<fallback codepage>`` + + libguess always needs a language. There is no universal detection + mode. Use ``--sub-codepage=guess:help`` to get a list of + languages subject to the same caveat as with ENCA above. + +``--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-delay=<sec>`` + Delays subtitles by ``<sec>`` seconds. Can be negative. + +``--sub-fps=<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. + + Also see ``--sub-speed`` option. + +``--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. + +``--sub-gray`` + Convert image subtitles to grayscale. Can help making yellow DVD/Vobsubs + look nicer. + + .. note:: + + Never applied to text subtitles. + +``--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. + +``--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. + +``--sub-scale-with-window=yes|no`` + Make the subtitle font size relative to the window, instead of the video. + This is useful if you always want the same font size, even if the video + doesn't covert the window fully, e.g. because screen aspect and window + aspect mismatch (and the player adds black bars). + + Like ``--sub-scale``, this can break ASS subtitles. + +``--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. + + .. admonition:: Example + + `--sub-speed=25/23.976`` plays frame based subtitles which have been + loaded assuming a framerate of 23.976 at 25 FPS. + +``--sws-scaler=<name>`` + 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``. + + To get a list of available scalers, run ``--sws-scaler=help``. + + Default: ``bicubic``. + +``--sws-lgb=<0-100>`` + Software scaler gaussian blur filter (luma). See ``--sws-scaler``. + +``--sws-cgb=<0-100>`` + Software scaler gaussian blur filter (chroma). See ``--sws-scaler``. + +``--sws-ls=<-100-100>`` + Software scaler sharpen filter (luma). See ``--sws-scaler``. + +``--sws-cs=<-100-100>`` + Software scaler sharpen filter (chroma). See ``--sws-scaler``. + +``--sws-chs=<h>`` + Software scaler chroma horizontal shifting. See ``--sws-scaler``. + +``--sws-cvs=<v>`` + Software scaler chroma vertical shifting. See ``--sws-scaler``. + +``--term-osd, --no-term-osd``, ``--term-osd=force`` + Display OSD messages on the console when no video output is available. + Enabled by default. + + ``force`` enables terminal OSD even if a video window is created. + +``--term-osd-bar``, ``--no-term-osd-bar`` + Enable printing a progress bar under the status line on the terminal. + (Disabled by default.) + +``--term-osd-bar-chars=<string>`` + Customize the ``--term-osd-bar`` feature. The string is expected to + consist of 5 characters (start, left space, position indicator, + right space, end). You can use unicode characters, but note that double- + width characters will not be treated correctly. + + Default: ``[-+-]``. + +``--term-playing-msg=<string>`` + Print out a string after starting playback. The string is expanded for + properties, e.g. ``--term-playing-msg='file: ${filename}'`` will print the string + ``file:`` followed by a space and the currently played filename. + + See `Property Expansion`_. + +``--term-status-msg=<string>`` + Print out a custom string during playback instead of the standard status + line. Expands properties. See `Property Expansion`_. + +``--no-terminal``, ``--terminal`` + Disable any use of the terminal and stdin/stdout/stderr. This completely + silences any message output. + + Unlike ``--really-quiet``, this disables input and terminal initialization + as well. + +``--title=<string>`` + Set the window title. Properties are expanded on playback start. + (See `Property Expansion`_.) + + .. warning:: + + There is a danger of this causing significant CPU usage, depending on + the properties used and the window manager. Changing the window title + is often a slow operation, and if the title changes every frame, + playback can be ruined. + +``--tls-ca-file=<filename>`` + Certificate authority database file for use with TLS. (Silently fails with + older ffmpeg or libav versions.) + +``--tls-verify`` + Verify peer certificates when using TLS (e.g. with ``https://...``). + (Silently fails with older ffmpeg or libav versions.) + +``--tv-...`` + These options tune 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 ``tv-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). + +``--no-tv-audio`` + no sound + +``--tv-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). + +``--tv-driver=<value>`` + See ``--tv=driver=help`` for a list of compiled-in TV input drivers. + available: dummy, v4l2 (default: autodetect) + +``--tv-device=<value>`` + Specify TV device (default: ``/dev/video0``). + +``--tv-input=<value>`` + Specify input (default: 0 (TV), see console output for available + inputs). + +``--tv-freq=<value>`` + Specify the frequency to set the tuner to (e.g. 511.250). Not + compatible with the channels parameter. + +``--tv-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. + +``--tv-width=<value>`` + output window width + +``--tv-height=<value>`` + output window height + +``--tv-fps=<value>`` + framerate at which to capture video (frames per second) + +``--tv-buffersize=<value>`` + maximum size of the capture buffer in megabytes (default: dynamical) + +``--tv-norm=<value>`` + See the console output for a list of all available norms, also see the + ``normid`` option below. + +``--tv-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. + +``--tv-channel=<value>`` + Set tuner to <value> channel. + +``--tv-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 + +``--tv-channels=<chan>-<name>[=<norm>],<chan>-<name>[=<norm>],...`` + Set names for channels. + + .. note:: + + If <chan> is an integer greater than 1000, it will be treated as + frequency (in kHz) rather than channel name from frequency table. + Use _ for spaces in names (or play with quoting ;-) ). The channel + names will then be written using OSD, and the slave commands + ``tv_step_channel``, ``tv_set_channel`` and ``tv_last_channel`` + will be usable for a remote control (see LIRC). Not compatible with + the ``frequency`` parameter. + + .. note:: + + The channel number will then be the position in the 'channels' + list, beginning with 1. + + .. admonition:: Examples + + ``tv://1``, ``tv://TV1``, ``tv_set_channel 1``, + ``tv_set_channel TV1`` + +``--tv-[brightness|contrast|hue|saturation]=<-100-100>`` + Set the image equalizer on the card. + +``--tv-audiorate=<value>`` + Set input audio sample rate. + +``--tv-forceaudio`` + Capture audio even if there are no audio sources reported by v4l. + +``--tv-alsa`` + Capture from ALSA. + +``--tv-amode=<0-3>`` + Choose an audio mode: + + :0: mono + :1: stereo + :2: language 1 + :3: language 2 + +``--tv-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. + +``--tv-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. + +``--tv-audioid=<value>`` + Choose an audio output of the capture card, if it has more than one. + +``--tv-[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. + +``--tv-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. + +``--tv-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. + +``--tv-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). + +``--tv-decimation=<1|2|4>`` + choose the size of the picture that will be compressed by hardware + MJPEG compression: + + :1: full size + + - 704x576 PAL + - 704x480 NTSC + + :2: medium size + + - 352x288 PAL + - 352x240 NTSC + + :4: small size + + - 176x144 PAL + - 176x120 NTSC + +``--tv-quality=<0-100>`` + Choose the quality of the JPEG compression (< 60 recommended for full + size). + +``--tv-scan-autostart`` + Begin channel scanning immediately after startup (default: disabled). + +``--tv-scan-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. + +``--tv-scan-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`` + Look for a file-specific configuration file in the same directory as the + file that is being played. See `File-specific Configuration Files`_. + + .. warning:: + + May be dangerous if playing from untrusted media. + +``--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),...[-]>`` + 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 + operate on different codec lists. + + .. note:: + + See ``--vd=help`` for a full list of available decoders. + +``--vd-lavc-check-hw-profile=<yes|no>`` + Check hardware decoder profile (default: yes). If ``no`` is set, the + highest profile of the hardware decoder is unconditionally selected, and + decoding is forced even if the profile of the video is higher than that. + The result is most likely broken decoding, but may also help if the + detected or reported profiles are somehow incorrect. + +``--vd-lavc-bitexact`` + Only use bit-exact algorithms in all decoding steps (for codec testing). + +``--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. + + Some options which used to be direct options can be set with this + mechanism, like ``bug``, ``gray``, ``idct``, ``ec``, ``vismv``, + ``skip_top`` (was ``st``), ``skip_bottom`` (was ``sb``), ``debug``. + + .. admonition:: Example + + ``--vd--lavc-o=debug=pict`` + +``--vd-lavc-show-all=<yes|no>`` + Show even broken/corrupt frames (default: no). If this option is set to + no, libavcodec won't output frames that were either decoded before an + initial keyframe was decoded, or frames that are recognized as corrupted. + +``--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 little visible quality loss. + + ``<skipvalue>`` can be one of the following: + + :none: Never skip. + :default: Skip useless processing steps (e.g. 0 size packets in AVI). + :nonref: Skip frames that are not referenced (i.e. not used for + decoding other frames, the error cannot "build up"). + :bidir: Skip B-Frames. + :nonkey: Skip all frames except keyframes. + :all: Skip all frames. + +``--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>`` + Skips decoding of frames completely. Big speedup, but jerky motion and + sometimes bad artifacts (see skiploopfilter for available skip values). + +``--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). + +``--version, -V`` + Print version string and exit. + +``--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. + The option variants ``--vf-add``, ``--vf-pre``, ``--vf-del`` and + ``--vf-clr`` exist to modify a previously specified list, but you + should not need these for typical use. + +``--vid=<ID|auto|no>`` + Select video channel. ``auto`` selects the default, ``no`` disables video. + +``--video-align-x=<-1-1>``, ``--video-align-y=<-1-1>`` + Moves the video rectangle within the black borders, which are usually added + to pad the video to screen if video and screen aspect ratios are different. + ``--video-align-y=-1`` would move the video to the top of the screen + (leaving a border only on the bottom), a value of ``0`` centers it + (default), and a value of ``1`` would put the video at the bottom of the + screen. + + If video and screen aspect match perfectly, these options do nothing. + + This option is disabled if the ``--no-keepaspect`` option is used. + +``--video-aspect=<ratio>`` + Override movie aspect ratio, in case aspect information is incorrect or + missing in the file being played. See also ``--no-video-aspect``. + + Two values have special meaning: + + :0: disable aspect ratio handling, pretend the video has square pixels + :-1: use the video stream or container aspect (default) + + But note that handling of these special values might change in the future. + + .. admonition:: Examples + + - ``--video-aspect=4:3`` or ``--video-aspect=1.3333`` + - ``--video-aspect=16:9`` or ``--video-aspect=1.7777`` + +``--no-video-aspect`` + Ignore aspect ratio information from video file and assume the video has + square pixels. See also ``--video-aspect``. + +``--video-pan-x=<value>``, ``--video-pan-y=<value>`` + Moves the displayed video rectangle by the given value in the X or Y + direction. The unit is in fractions of the size of the scaled video (the + full size, even if parts of the video are not visible due to panscan or + other options). + + For example, displaying a 1280x720 video fullscreen on a 1680x1050 screen + with ``--video-pan-x=-0.1`` would move the video 168 pixels to the left + (making 128 pixels of the source video invisible). + + This option is disabled if the ``--no-keepaspect`` option is used. + +``--video-rotate=<0-359|no>`` + Rotate the video clockwise, in degrees. Currently supports 90° steps only. + If ``no`` is given, the video is never rotated, even if the file has + rotation metadata. (The rotation value is added to the rotation metadata, + which means the value ``0`` would rotate the video according to the + rotation metadata.) + +``--video-unscaled`` + Disable scaling of the video. If the window is larger than the video, + black bars are added. Otherwise, the video is cropped. The video still + can be influenced by the other ``--video-...`` options. (If the + ``--video-zoom`` option is set to a value other than ``1``, scaling is + enabled, but the video isn't automatically scaled to the window size.) + + The video and monitor aspects aspect will be ignored. Aspect correction + would require to scale the video in the X or Y direction, but this option + disables scaling, disabling all aspect correction. + + Note that the scaler algorithm may still be used, even if the video isn't + scaled. For example, this can influence chroma conversion. + + This option is disabled if the ``--no-keepaspect`` option is used. + +``--video-zoom=<value>`` + Adjust the video display scale factor by the given value. The unit is in + fractions of the (scaled) window video size. + + For example, given a 1280x720 video shown in a 1280x720 window, + ``--video-zoom=-0.1`` would make the video by 128 pixels smaller in + X direction, and 72 pixels in Y direction. + + This option is disabled if the ``--no-keepaspect`` option is used. + +``--vo=<driver1[:suboption1[=value]:...],driver2,...[,]>`` + Specify a priority list of video output drivers to be used. For + 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 full range + (default: 3). + +``--volume=<-1-100>`` + Set the startup volume. A value of -1 (the default) will not change the + volume. See also ``--softvol``. + +``--volume-restore-data=<string>`` + Used internally for use by playback resume (e.g. with ``quit_watch_later``). + Restoring value has to be done carefully, because different AOs as well as + softvol can have different value ranges, and we don't want to restore + volume if setting the volume changes it system wide. The normal options + (like ``--volume``) would always set the volume. This option was added for + restoring volume in a safer way (by storing the method used to set the + volume), and is not generally useful. Its semantics are considered private + to mpv. + + Do not use. + +``--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 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 also ``--slave-broken``. + +``--no-window-dragging`` + Don't move the window when clicking on it and moving the mouse pointer. + +``--x11-netwm=no`` + (X11 only) + Disable use of the NetWM protocol when switching to or from fullscreen. + This may or may not help with broken window managers. This provides some + functionality that was implemented by the now removed ``--fstype`` option. + Actually, it is not known to the developers to which degree this option + was needed, so feedback is welcome. + + By default, NetWM support is autodetected, and using this option forces + autodetection to fail. + |