trusty (1) mpv.1.gz

Provided by: mpv_0.3.4-1_amd64 bug

NAME

       mpv - a movie player

SYNOPSIS

       mpv [options] [file|URL|-]
       mpv [options] --playlist=PLAYLIST
       mpv [options] files
       mpv [options] {group of files and options}
       mpv [bd]://[title][/device] [options]
       mpv dvd://[title|[start_title]-end_title][/device] [options]
       mpv dvdnav://[longest|menu|title][/device] [options]
       mpv vcd://[/device]
       mpv tv://[channel][/input_id] [options]
       mpv radio://[channel|frequency][/capture] [options]
       mpv pvr:// [options]
       mpv dvb://[card_number@]channel [options]
       mpv mf://[filemask|@listfile] [-mf options] [options]
       mpv cdda://track[-endtrack][:speed][/device] [options]
       mpv [file|mms[t]|http|httpproxy|rt[s]p|ftp|udp|smb]://[user:pass@]URL[:port] [options]
       mpv edl://[edl specification as in edl-mpv.rst]

DESCRIPTION

       mpv  is  a  movie player based on MPlayer and mplayer2. It supports a wide variety of video file formats,
       audio and video codecs, and subtitle types. Special input URL types are available to read  input  from  a
       variety  of  sources other than disk files. Depending on platform, a variety of different video and audio
       output methods are supported.

       Usage examples to get you started quickly can be found at the end of this man page.

INTERACTIVE CONTROL

       mpv has a fully configurable, command-driven  control  layer  which  allows  you  to  control  mpv  using
       keyboard,  mouse,  joystick or remote control (with LIRC). See the --input- options for ways to customize
       it.

   Keyboard Control
       LEFT and RIGHT
              Seek backward/forward 10 seconds. Shift+arrow does a 1 second exact seek (see --hr-seek).

       UP and DOWN
              Seek forward/backward 1 minute. Shift+arrow does a 5 second exact seek (see --hr-seek).

       PGUP and PGDWN
              Seek forward/backward 10 minutes.

       [ and ]
              Decrease/increase current playback speed by 10%.

       { and }
              Halve/double current playback speed.

       BACKSPACE
              Reset playback speed to normal.

       < and >
              Go backward/forward in the playlist.

       ENTER  Go forward in the playlist, even over the end.

       p / SPACE
              Pause (pressing again unpauses).

       .      Step forward. Pressing once will pause movie, every consecutive press will play one frame and then
              go into pause mode again.

       ,      Step  backward.  Pressing  once  will  pause movie, every consecutive press will play one frame in
              reverse and then go into pause mode again.

       q / ESC
              Stop playing and quit.

       Q      Like q, but store the current playback position. Playing the same file later will  resume  at  the
              old playback position if possible.

       U      Stop playing (and quit if --idle is not used).

       + and -
              Adjust audio delay by +/- 0.1 seconds.

       / and *
              Decrease/increase volume.

       9 and 0
              Decrease/increase volume.

       ( and )
              Adjust audio balance in favor of left/right channel.

       m      Mute sound.

       _      Cycle through the available video tracks.

       #      Cycle through the available audio tracks.

       TAB (MPEG-TS and libavformat only)
              Cycle through the available programs.

       f      Toggle fullscreen (see also --fs).

       T      Toggle stay-on-top (see also --ontop).

       w and e
              Decrease/increase pan-and-scan range.

       o      Toggle OSD states: none / seek / seek + timer / seek + timer + total time.

       d      Toggle frame dropping states: none / skip display / skip decoding (see --framedrop).

       v      Toggle subtitle visibility.

       j and J
              Cycle through the available subtitles.

       F      Toggle displaying "forced subtitles".

       x and z
              Adjust subtitle delay by +/- 0.1 seconds.

       V      Toggle  subtitle  VSFilter  aspect  compatibility  mode. See --ass-vsfilter-aspect-compat for more
              info.

       r and t
              Move subtitles up/down.

       s      Take a screenshot.

       S      Take a screenshot, without subtitles. (Whether this works depends on VO driver support.)

       I      Show filename on the OSD.

       P      Show progression bar, elapsed time and total duration on the OSD.

       ! and @
              Seek to the beginning of the previous/next chapter. In most cases, "previous" will actually go  to
              the beginning of the current chapter; see --chapter-seek-threshold.

       D (--vo=vdpau, --vf=yadif only)
              Activate/deactivate deinterlacer.

       A      Cycle through the available DVD angles.

       c      Change YUV colorspace.

       (The  following keys are valid only when using a video output that supports the corresponding adjustment,
       or the software equalizer (--vf=eq).)

       1 and 2
              Adjust contrast.

       3 and 4
              Adjust brightness.

       5 and 6
              Adjust gamma.

       7 and 8
              Adjust saturation.

       (The following keys are valid only on OSX.)

       command + 0
              Resize movie window to half its original size.

       command + 1
              Resize movie window to its original size.

       command + 2
              Resize movie window to double its original size.

       command + f
              Toggle fullscreen (see also --fs).

       command + [ and command + ]
              Set movie window alpha.

       (The following keys are valid if you have a keyboard with multimedia keys.)

       PAUSE  Pause.

       STOP   Stop playing and quit.

       PREVIOUS and NEXT
              Seek backward/forward 1 minute.

       (The following keys are only valid if you compiled with TV or DVB input support.)

       h and k
              Select previous/next channel.

       n      Change norm.

       u      Change channel list.

   Mouse Control
       button 3 and button 4
              Seek backward/forward 1 minute.

       button 5 and button 6
              Decrease/increase volume.

USAGE

       Every flag option has a no-flag counterpart, e.g. the opposite of the --fs option is --no-fs. --fs=yes is
       same as --fs, --fs=no is the same as --no-fs.

       If  an  option is marked as (XXX only), it will only work in combination with the XXX option or if XXX is
       compiled in.

       NOTE:
          The suboption  parser  (used  for  example  for  --ao=pcm  suboptions)  supports  a  special  kind  of
          string-escaping intended for use with external GUIs.

       It has the following format:

          %n%string_of_length_n

          Examples

                 mpv --ao=pcm:file=%10%C:test.wav test.avi

                 Or in a script:

                 mpv --ao=pcm:file=%`expr length "$NAME"`%"$NAME" test.avi

   Paths
       Some  care  must  be taken when passing arbitrary paths and filenames to mpv. For example, paths starting
       with - will be interpreted as options. Likewise, if a path contains the sequence ://, the  string  before
       that  might be interpreted as protocol prefix, even though :// can be part of a legal UNIX path. To avoid
       problems with arbitrary paths, you should be sure that absolute paths passed to mpv  start  with  /,  and
       relative paths with ./.

       The  name  - itself is interpreted as stdin, and will cause mpv to disable console controls. (Which makes
       it suitable for playing data piped to stdin.)

       For paths passed to suboptions, the situation is further  complicated  by  the  need  to  escape  special
       characters. To work this around, the path can be additionally wrapped in the %n%string_of_length_n syntax
       (see above).

       Some mpv options interpret paths  starting  with  ~.  Currently,  the  prefix  ~~/  expands  to  the  mpv
       configuration  directory  (usually ~/.mpv/).  ~/ expands to the user's home directory. (The trailing / is
       always required.)

   Per-File Options
       When playing multiple files, any option given on the command line usually affects all files. Example:

          mpv --a file1.mkv --b file2.mkv --c

                                             ┌──────────┬────────────────┐
                                             │File      │ Active options │
                                             ├──────────┼────────────────┤
                                             │file1.mkv │ --a --b --c    │
                                             ├──────────┼────────────────┤
                                             │file2.mkv │ --a --b --c    │
                                             └──────────┴────────────────┘

       (This is different from MPlayer and mplayer2.)

       Also, if any option is changed at runtime (via input commands), they are not reset when  a  new  file  is
       played.

       Sometimes,  it  is useful to change options per-file. This can be achieved by adding the special per-file
       markers --{ and --}. (Note that you must escape these on some shells.) Example:

          mpv --a file1.mkv --b --\{ --c file2.mkv --d file3.mkv --e --\} file4.mkv --f

                                         ┌──────────┬─────────────────────────┐
                                         │File      │ Active options          │
                                         ├──────────┼─────────────────────────┤
                                         │file1.mkv │ --a --b --f             │
                                         ├──────────┼─────────────────────────┤
                                         │file2.mkv │ --a --b --f --c --d --e │
                                         ├──────────┼─────────────────────────┤
                                         │file3.mkv │ --a --b --f --c --d --e │
                                         ├──────────┼─────────────────────────┤
                                         │file4.mkv │ --a --b --f             │
                                         └──────────┴─────────────────────────┘

       Additionally, any file-local option changed at runtime is reset when the current file stops  playing.  If
       option  --c  is  changed during playback of file2.mkv, it is reset when advancing to file3.mkv. This only
       affects file-local options. The option --a is never reset here.

CONFIGURATION FILES

   Location and Syntax
       You can put all of the options in configuration files which will be read  every  time  mpv  is  run.  The
       system-wide   configuration   file   'mpv.conf'  is  in  your  configuration  directory  (/etc/mpv),  the
       user-specific one is ~/.mpv/config.  User-specific options override system-wide options and options given
       on  the command line override either. The syntax of the configuration files is option=<value>; everything
       after a # is considered a comment. Options that work without values can be enabled by setting them to yes
       and disabled by setting them to no. Even suboptions can be specified in this way.

          Example configuration file

              # Use opengl video output by default.
              vo=opengl
              # Use quotes for text that can contain spaces:
              status-msg="Time: ${time-pos}"

   Putting Command Line Options into the Configuration File
       Almost all command line options can be put into the configuration file. Here is a small guide:

                                    ┌──────────────────┬──────────────────────────┐
                                    │Option            │ Configuration file entry │
                                    ├──────────────────┼──────────────────────────┤
                                    │--flagflag                     │
                                    ├──────────────────┼──────────────────────────┤
                                    │-opt valopt=val                  │
                                    ├──────────────────┼──────────────────────────┤
                                    │--opt=valopt=val                  │
                                    ├──────────────────┼──────────────────────────┤
                                    │-opt "has spaces"opt="has spaces"         │
                                    └──────────────────┴──────────────────────────┘

   File-specific Configuration Files
       You can also write file-specific configuration files. If you wish to have a configuration file for a file
       called 'movie.avi', create a file named 'movie.avi.conf' with the file-specific options in it and put  it
       in  ~/.mpv/.  You  can also put the configuration file in the same directory as the file to be played, as
       long as you give the --use-filedir-conf option (either on the command  line  or  in  your  global  config
       file).  If  a  file-specific  configuration  file  is  found  in  the  same  directory,  no file-specific
       configuration  is  loaded   from   ~/.mpv.   In   addition,   the   --use-filedir-conf   option   enables
       directory-specific  configuration  files.   For  this,  mpv  first tries to load a mpv.conf from the same
       directory as the file played and then tries to load any file-specific configuration.

   Profiles
       To ease working with different configurations, profiles can be defined  in  the  configuration  files.  A
       profile starts with its name in square brackets, e.g. [my-profile]. All following options will be part of
       the profile. A description (shown by --profile=help) can be defined with the profile-desc option. To  end
       the profile, start another one or use the profile name default to continue with normal options.

          Example mpv profile

              [vo.vdpau]
              # Use hardware decoding (might break playback of some h264 files)
              hwdec=vdpau

              [protocol.dvd]
              profile-desc="profile for dvd:// streams"
              vf=pp=hb/vb/dr/al/fd
              alang=en

              [extension.flv]
              profile-desc="profile for .flv files"
              vf=flip

              [ao.alsa]
              device=spdif

TAKING SCREENSHOTS

       Screenshots of the currently played file can be taken using the 'screenshot' input mode command, which is
       by default bound to the s key. Files named shotNNNN.jpg will be saved in the working directory, using the
       first available number - no files will be overwritten.

       A  screenshot  will  usually contain the unscaled video contents at the end of the video filter chain and
       subtitles. By default, S takes screenshots without subtitles, while s includes subtitles.

       The screenshot video filter is not required when using a recommended GUI video output driver.  It  should
       normally  not  be  added  to the config file, as taking screenshots is handled by the VOs, and adding the
       screenshot filter will break hardware decoding. (The filter may still be useful for taking screenshots at
       a certain point within the video chain when using multiple video filters.)

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.

                 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 --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.

              Note: this feature is broken.

              --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.

                 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.

       --ar, --no-ar
              Enable/disable AppleIR remote support. Enabled by default.

       --aspect=<ratio>
              Override movie aspect ratio, in case aspect information is incorrect or missing in the file  being
              played. See also --no-aspect.

                 Examples

                 • --aspect=4:3  or --aspect=1.3333--aspect=16:9 or --aspect=1.7777

       --ass, --no-ass
              Render ASS subtitles natively (enabled by default).

              If --no-ass is specified, all tags and style declarations are stripped and ignored on display. The
              subtitle renderer uses the font style as specified by the --sub-text- options instead.

              NOTE:
                 Using --no-ass may lead to incorrect or completely broken rendering of  ASS/SSA  subtitles.  It
                 can  sometimes  be  useful  to  forcibly  override  the styling of ASS subtitles, but should be
                 avoided in general.

       --ass-force-style=<[Style.]Param=Value[,...]>
              Override some style or script info parameters.

                 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

                 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>
              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.

       --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-demuxer=<[+]name>
              Use this audio demuxer type when using --audiofile. Use a '+' before the name to  force  it;  this
              will skip some checks. Give the demuxer name as printed by --audio-demuxer=help.

       --audio-display=<no|attachment>
              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.

       --audiofile=<filename>
              Play audio from an external file (WAV, MP3 or Ogg Vorbis) while viewing a movie.

       --audiofile-cache=<kBytes>
              Enables caching for the stream used by --audiofile, using the specified amount of memory.

       --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.

                 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.

                 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.

       --autosub, --no-autosub
              Load additional subtitle  files  matching  the  video  filename.  Enabled  by  default.  See  also
              --autosub-match.

       --autosub-match=<exact|fuzzy|all>
              Adjust matching fuzziness when searching for subtitles:

              exact  exact match

              fuzzy  Load all subs containing movie name.

              all    Load all subs in the current and --sub-paths directories.

              (default: exact)

       --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.

                 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: 320 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=<no|percentage>
              If the cache percentage goes below the specified value, pause and wait until the percentage set by
              --cache-min is reached, then resume playback (default: 10). If no is specified, this  behavior  is
              disabled.

              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-min=<percentage>
              Playback will start when the cache has been filled up to <percentage> of the total (default: 20).

       --cache-seek-min=<percentage>
              If a seek is to be made to a position within <percentage> of  the  cache  size  from  the  current
              position,  mpv  will  wait  for  the  cache to be filled to this position rather than performing a
              stream seek (default: 50).

              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=<option1:option2>
              This option can be used to tune the CD Audio reading feature of mpv.

              Available options are:

              speed=<value>
                     Set CD spin speed.

              paranoia=<0-2>
                     Set  paranoia  level.  Values other than 0 seem to break playback of anything but the first
                     track.

                     0      disable checking (default)

                     1      overlap checking only

                     2      full data correction and verification

              generic-dev=<value>
                     Use specified generic SCSI device.

              sector-size=<value>
                     Set atomic read size.

              overlap=<value>
                     Force minimum overlap search during verification to <value> sectors.

              toc-bias
                     Assume that the beginning offset of track 1 as reported in the TOC will be addressed as LBA
                     0. Some discs need this for getting track boundaries correctly.

              toc-offset=<value>
                     Add <value> sectors to the values reported when addressing tracks.  May be negative.

              (no-)skip
                     (Never) accept imperfect data reconstruction.

       --cdrom-device=<path>
              Specify the CD-ROM device (default: /dev/cdrom).

       --channels=<number|layout>
              Request  the  number  of  playback channels (default: 2). mpv asks the decoder to decode the audio
              into as many channels as specified. Then it is up to the decoder to fulfill the requirement.  This
              is usually only important when playing videos with AC-3, AAC or DTS audio. In that case libavcodec
              downmixes the audio into the requested number of channels if possible.

              The --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  --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).

              NOTE:
                 Currently, this option is not very useful. The main effect of this  option  is  that  automatic
                 stereo  downmixing  is  disabled.  It  depends  mainly  on  the  selected  audio output and the
                 associated audio subsystem how playback of files with surround audio will behave.

       --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.

       --consolecontrols, --no-consolecontrols
              --no-consolecontrols prevents the player from reading key events from standard input. Useful  when
              reading  data  from  standard  input. This is automatically enabled when - is found on the command
              line. There are situations where you have to set it manually, e.g. if you open /dev/stdin (or  the
              equivalent  on your system), use stdin in a playlist or intend to read from stdin later on via the
              loadfile or loadlist slave commands.

       --contrast=<-100-100>
              Adjust the contrast of the video signal (default: 0). Not supported by all video output drivers.

       --cookies, --no-cookies
              (network only) Support cookies when making HTTP requests. Disabled by default.

       --cookies-file=<filename>
              (network only) Read HTTP cookies from <filename>. 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.

       --audio-delay=<sec>
              Audio  delay  in  seconds (positive or negative float value). Negative values delay the audio, and
              positive values delay the video.

       --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.

                 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.

                 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.

       --doubleclick-time=<milliseconds>
              Time in milliseconds to recognize two consecutive button presses as a double-click (default: 300).

       --dvbin=<options>
              Pass the following parameters to the DVB input module, in order to override the default ones:

              card=<1-4>
                     Specifies using card number 1-4 (default: 1).

              file=<filename>
                     Instructs   mpv   to   read   the   channels   list    from    <filename>.    Default    is
                     ~/.mpv/channels.conf.{sat,ter,cbl,atsc}  (based  on your card type) or ~/.mpv/channels.conf
                     as a last resort.

              timeout=<1-30>
                     Maximum number of seconds to wait  when  trying  to  tune  a  frequency  before  giving  up
                     (default: 30).

       --dvd-device=<path>
              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).

                 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.

       --dvdangle=<ID>
              Some DVDs contain scenes that can be viewed from multiple angles.  This  option  tells  mpv  which
              angle to use (default: 1).

       --edition=<ID|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 (--ass option).

       --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=1 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.

       --forceidx
              Force index rebuilding. Useful for files with broken index (A/V desync,  etc).  This  will  enable
              seeking in files where seeking was not possible.

              NOTE:
                 This  option  only  works  if the underlying media supports seeking (i.e. not with stdin, pipe,
                 etc).

       --format=<format>
              Select the sample format used for output from the audio filter layer to the sound card. The values
              that <format> can adopt are listed below in the description of the format audio filter.

       --fps=<float>
              Override video framerate. Useful if the original value is wrong or missing.

              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.

                 Note (X11)

                        This option does not work properly with all window managers.   all  in  particular  will
                        usually  only  work  with --fstype=-fullscreen or --fstype=none, and even then only with
                        some window managers.

                 Note (OS X)

                        all does not work on OSX and will behave like current.

              See also --screen.

       --fsmode-dontuse=<0-31>
              OBSOLETE, use the --fs option.  Try this option if you still experience fullscreen problems.

       --fstype=<type1,type2,...>
              (X11 only) Specify a priority list of fullscreen modes to be used. You can  negate  the  modes  by
              prefixing  them  with  '-'. If you experience problems like the fullscreen window being covered by
              other windows, try using a different order.

              NOTE:
                 See --fstype=help for a full list of available modes.

              The available types are:

              above  Use the _NETWM_STATE_ABOVE hint if available.

              below  Use the _NETWM_STATE_BELOW hint if available.

              fullscreen
                     Use the _NETWM_STATE_FULLSCREEN hint if available.

              layer  Use the _WIN_LAYER hint with the default layer.

              layer=<0...15>
                     Use the _WIN_LAYER hint with the given layer number.

              netwm  Force NETWM style.

              none   Clear the list of modes; you can add modes to enable afterward.

              stays_on_top
                     Use _NETWM_STATE_STAYS_ON_TOP hint if available.

                 Examples

                 --fstype=layer,stays_on_top,above,fullscreen
                        Default order, will be used  as  a  fallback  if  incorrect  or  unsupported  modes  are
                        specified.

                 --fstype=fullscreen
                        Fixes fullscreen switching on OpenBox 1.x.

       --native-fs
              (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
              Try  to  play  consecutive  audio files with no silence or disruption at the point of file change.
              This feature is implemented in a simple manner and relies on  audio  output  device  buffering  to
              continue  playback  while  moving  from  one  file  to another. If playback of the new file starts
              slowly, for example because it is played from a  remote  network  location  or  because  you  have
              specified cache settings that require time for the initial cache fill, then the buffered audio may
              run out before playback of the new file can start.

              NOTE:
                 The audio device is opened using parameters chosen according to the first file  played  and  is
                 then  kept  open  for gapless playback. This means that if the first file for example has a low
                 sample rate, then the following files may get resampled to the same low sample rate,  resulting
                 in  reduced  sound quality. If you play files with different parameters, consider using options
                 such as --srate and --format to explicitly select what the shared output format will be.

       --geometry=<[W[xH]][+-x+-y]>, --geometry=<x:y>
              Adjust the initial window position or size. W and H set the window size in pixels. x and y set the
              window  position, measured in pixels from the top-left corner of the screen to the top-left corner
              of the image being displayed. If a percentage sign (%) is given after the argument, it  turns  the
              value  into a percentage of the screen size in that direction.  Positions are specified similar to
              the standard X11 --geometry option format, in which e.g. +10-50 means "place 10  pixels  from  the
              left  border and 50 pixels from the lower border" and "--20+-10" means "place 20 pixels beyond the
              right and 10 pixels beyond the top border".

              If an external window is specified using the --wid option, this option is ignored.

              The coordinates are relative to the screen given with --screen for the video output  drivers  that
              fully support --screen.

              NOTE:
                 Generally only supported by GUI VOs. Ignored for encoding.

                 Note (X11)

                        This option does not work properly with all window managers.

                 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.

                 Example for xscreensaver

                        mpv --heartbeat-cmd="xscreensaver-command -deactivate" file

                 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.

       --http-header-fields=<field1,field2>
              Set custom HTTP fields when accessing HTTP stream.

                 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.

              This is usually only needed with broken GPUs, where a codec is reported as supported, but decoding
              causes more problems than it solves.

                 Example

                 mpv --hwdec=vdpau --vo=vdpau --hwdec-codecs=h264,mpeg2video
                        Enable vdpau decoding for h264 and mpeg2 only.

       --identify
              Deprecated. Use TOOLS/mpv_identify.sh.

       --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).

       --idx  Rebuilds index of files if no index was found, allowing  seeking.  Useful  with  broken/incomplete
              downloads  or  badly  created  files. Now this is done automatically by the demuxers used for most
              video formats, meaning that this switch has no effect in the typical case. See also --forceidx.

              NOTE:
                 This option only works if the underlying media supports seeking (i.e.  not  with  stdin,  pipe,
                 etc).

       --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.

       --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.

       --no-input-default-bindings
              Disable mpv default (builtin) key bindings.

       --input-keylist
              Prints all keys that can be bound to commands.

       --input-cmdlist
              Prints all commands that can be bound to keys.

       --input-js-dev
              Specifies the joystick device to use (default: /dev/input/js0).

       --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-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.

       --joystick, --no-joystick
              Enable/disable joystick support. Disabled 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.

       --key-fifo-size=<2-65000>
              Specify the size of the FIFO that buffers key events (default: 7). If it is too small some  events
              may  be lost. The main disadvantage of setting it to a very large value is that if you hold down a
              key triggering some particularly slow command  then  the  player  may  be  unresponsive  while  it
              processes all the queued commands.

       --length=<relative time>
              Stop  after  a  given  time  relative  to the start time.  See --start for valid option values and
              examples.

       --lirc, --no-lirc
              Enable/disable LIRC support. Enabled by default.

       --lircconf=<filename>
              (LIRC only) Specifies a configuration file for LIRC (default: ~/.lircrc).

       --list-options
              Prints all available options.

       --list-properties
              Print a list of the available properties.

       --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.

       --lua=<filename>
              Load a Lua script. You can load multiple scripts by separating them with commas (,).

       --mc=<seconds/frame>
              Maximum A-V sync correction per frame (in seconds)

       --media-keys, --no-media-keys
              OSX only: Enabled by default. Enables/disable media keys support.

       --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 --aspect.

                 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 --aspect.

       --mouse-movements, --no-mouse-movements
              Permit  mpv to receive pointer events reported by the video output driver. Necessary to select the
              buttons in DVD menus. Supported for X11-based  VOs  (x11,  xv,  etc)  and  the  gl,  direct3d  and
              corevideo VOs.

       --no-msgcolor
              Disable colorful console output on terminals.

       --msglevel=<module1=level1:module2=level2:...>
              Control  verbosity  directly  for  each  module.  The  all module changes the verbosity of all the
              modules not explicitly specified on the command line.

              Run mpv with --msglevel=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
                 --msglevel. 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

              One special case is the identify module name. This is silenced by default, and can be enabled with
              the -identify option.

       --msgmodule
              Prepend module name in front of each console message.

       --mute=<auto|yes|no>
              Set startup audio mute status. auto (default) will not change the mute status. Also see --volume.

       --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-aspect
              Ignore aspect ratio information from video file and assume the video has square pixels.  See  also
              --aspect.

       --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.

              Loading of some configuration files is not affected by this option, such  as  configuration  files
              for DVB code and fontconfig.

              NOTE:
                 Files  explicitly requested by command line options, like --include or --use-filedir-conf, will
                 still be loaded.

       --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. Supported by video output drivers which  use
              X11, as well as corevideo.

       --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=<#RRGGBB>, --sub-text-back-color=<#RRGGBB>
              See --osd-color. Color used for OSD/sub text background.

       --osd-blur=<0..20.0>, --sub-text-blur=<0..20.0>
              Gaussian blur factor. 0 means no blur applied (default).

       --osd-border-color=<#RRGGBB>, --sub-text-border-color=<#RRGGBB>
              See --osd-color. Color used for the OSD/sub font border.

              NOTE:
                 ignored  when  --osd-back-color/--sub-text-back-color  is specified (or more exactly: when that
                 option is not set to completely transparent).

       --osd-border-size=<size>, --sub-text-border-size=<size>
              Size of the OSD/sub font border in scaled pixels (see --osd-font-size for details). A value  of  0
              disables borders.

              Default: 2.5.

       --osd-color=<#RRGGBB|#AARRGGBB>, --sub-text-color=<#RRGGBB|#AARRGGBB>
              Specify the color used for OSD/unstyled text subtitles.

              The color is specified as a RGB hex triplet, and each 2-digit group expresses a color value in the
              range 0 (00) to 255 (FF).  For example, #FF0000 is red. This is similar to web colors.

              You can specify transparency by specifying an alpha value in  the  form  #AARRGGBB.  00  is  fully
              transparent, while FF is opaque (opaque is default with the shorter color specification).

                 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.

                 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-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      subtitles only

              1      volume + seek (default)

              2      volume + seek + timer + percentage

              3      volume + seek + timer + percentage + total time

       --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=<#RRGGBB>, --sub-text-shadow-color=<#RRGGBB>
              See --osd-color. Color used for OSD/sub text shadow.

       --osd-shadow-offset=<size>, --sub-text-shadow-offset=<size>
              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.

       --playing-msg=<string>
              Print  out  a  string  after  starting  playback.  The  string  is  expanded  for properties, e.g.
              --playing-msg='file: ${filename}' will print  the  string  file:  followed  by  a  space  and  the
              currently played filename.

              See Property Expansion.

       --status-msg=<string>
              Print out a custom string during playback instead of the standard status line. Expands properties.
              See Property Expansion.

       --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 (ASX, Winamp, SMIL, or one-file-per-line format).

              WARNING:
                 The  way  mpv parses and uses playlist files is not safe against maliciously constructed files.
                 Such files may trigger harmful actions.  This has  been  the  case  for  all  mpv  and  MPlayer
                 versions,  but  unfortunately  this  fact was not well documented earlier, and some people have
                 even misguidedly recommended use of --playlist with untrusted sources. Do  NOT  use  --playlist
                 with random internet sources or files you do not trust!

                 FIXME: This needs to be clarified and documented thoroughly.

       --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=<option1:option2:...>
              This option tunes various encoding properties of the PVR capture module.  It has to be  used  with
              any  hardware  MPEG  encoder  based  card  supported  by  the  V4L2  driver.  The  Hauppauge WinTV
              PVR-150/250/350/500 and all IVTV based cards are known as PVR capture cards. Be  aware  that  only
              Linux  2.6.18  kernel  and  above  is able to handle MPEG stream through V4L2 layer.  For hardware
              capture of an MPEG stream and watching it with mpv, use pvr:// as a movie URL.

              Available options are:

              aspect=<0-3>
                     Specify input aspect ratio:

                     0      1:1

                     1      4:3 (default)

                     2      16:9

                     3      2.21:1

              arate=<32000-48000>
                     Specify encoding audio rate (default: 48000 Hz, available: 32000, 44100 and 48000 Hz).

              alayer=<1-3>
                     Specify MPEG audio layer encoding (default: 2).

              abitrate=<32-448>
                     Specify audio encoding bitrate in kbps (default: 384).

              amode=<value>
                     Specify audio encoding mode. Available preset values are 'stereo',  'joint_stereo',  'dual'
                     and 'mono' (default: stereo).

              vbitrate=<value>
                     Specify average video bitrate encoding in Mbps (default: 6).

              vmode=<value>
                     Specify video encoding mode:

                     vbr    Variable BitRate (default)

                     cbr    Constant BitRate

              vpeak=<value>
                     Specify peak video bitrate encoding in Mbps (only useful for VBR encoding, default: 9.6).

              fmt=<value>
                     Choose an MPEG format for encoding:

                     ps     MPEG-2 Program Stream (default)

                     ts     MPEG-2 Transport Stream

                     mpeg1  MPEG-1 System Stream

                     vcd    Video CD compatible stream

                     svcd   Super Video CD compatible stream

                     dvd    DVD compatible stream

       --quiet
              Make  console  output  less  verbose;  in  particular,  prevents  the  status  line  (i.e. 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 --msglevel.

       --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/doc/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.

       --radio=<option1:option2:...>
              These options set various parameters of the radio capture module. For listening to radio with mpv,
              use radio://<frequency> (if channels option is not given) or radio://<channel_number> (if channels
              option is given) as a movie URL. You can see allowed frequency range by running mpv  with  -v.  To
              start  the  grabbing subsystem, use radio://<frequency or channel>/capture. If the capture keyword
              is not given, you can listen to radio using the line-in cable only. Using capture to listen is not
              recommended due to synchronization problems, which makes this process uncomfortable.

              Available options are:

              device=<value>
                     Radio device to use (default: /dev/radio0 for Linux and /dev/tuner0 for *BSD).

              driver=<value>
                     Radio  driver  to use (default: v4l2 if available, otherwise v4l).  Currently, v4l and v4l2
                     drivers are supported.

              volume=<0..100>
                     Sound volume for radio device (default 100).

              channels=<frequency>-<name>,<frequency>-<name>,...
                     Set channel list. Use _ for spaces in names (or play with quoting ;-) ).  The channel names
                     will   then   be   written  using  OSD,  and  the  slave  commands  radio_step_channel  and
                     radio_set_channel will be usable for a remote control (see LIRC). If given, number in movie
                     URL will be treated as channel position in channel list.

                        Example

                               radio://1, radio://104.4, radio_set_channel 1

              adevice=<value> (radio capture only)
                     Name  of  device to capture sound from. Without such a name, capture will be disabled, even
                     if the capture keyword appears  in  the  URL.   For  ALSA  devices,  use  it  in  the  form
                     hw=<card>.<device>. If the device name contains a '=', the module will use ALSA to capture,
                     otherwise OSS.

              arate=<value> (radio capture only)
                     Rate in samples per second (default: 44100).

                     NOTE:
                        When using audio capture set also --rawaudio=rate=<value> option with the same value  as
                        arate.  If  you  have  problems  with  sound  speed (runs too quickly), try to play with
                        different rate values (e.g.  48000, 44100, 32000,...).

              achannels=<value> (radio capture only)
                     Number of audio channels to capture.

       --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: --reset-on-next-file=pause (only the pause mode is reset).

              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.

                 Examples

                 • --reset-on-next-file=fullscreen,speed  Reset  fullscreen  and playback speed settings if they
                   were changed during playback.

                 • --reset-on-next-file=all Try to reset all settings that were changed during playback.

                 • --reset-on-next-file="" Do not reset pause mode.

       --right-alt-gr, --no-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.

       --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.

       --sb=<n>
              Seek  to  byte  position.  Useful  for  playback  from CD-ROM images or VOB files with junk at the
              beginning. See also --start.

       --screen=<default|0-32>
              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.

                 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.

              %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.

       --screenh=<pixels>
              Specify the screen height for video output drivers which do not know the screen  resolution,  like
              x11 and TV-out.

       --screenw=<pixels>
              Specify  the  screen  width for video output drivers which do not know the screen resolution, like
              x11 and TV-out.

       --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-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-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.

                 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.

                 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.

       --srate=<Hz>
              Select the output sample rate to be used (of course sound cards  have  limits  on  this).  If  the
              sample  frequency  selected  is  different  from that of the current media, the lavrresample audio
              filter will be inserted into the audio filter layer to compensate for the difference.

       --start=<relative time>
              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.)

                 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.

       --ssf=<mode>
              Specifies software scaler parameters.

              lgb=<0-100>
                     gaussian blur filter (luma)

              cgb=<0-100>
                     gaussian blur filter (chroma)

              ls=<-100-100>
                     sharpen filter (luma)

              cs=<-100-100>
                     sharpen filter (chroma)

              chs=<h>
                     chroma horizontal shifting

              cvs=<v>
                     chroma vertical shifting

                 Example

                        --vf=scale --ssf=lgb=3.0

       --sstep=<sec>
              Skip <sec> seconds after every frame.

              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=<subtitlefile1,subtitlefile2,...>
              Use/display these subtitle files. Only one file can be displayed at the same time.

       --sub-fix-timing, --no-sub-fix-timing
              By  default,  external  text  subtitles  are preprocessed to remove minor gaps or overlaps between
              subtitles (if the difference is smaller than 200 ms, the gap or overlap is removed). This does not
              affect image subtitles, subtitles muxed with audio/video, or subtitles in the ASS format.

       --sub-demuxer=<[+]name>
              Force subtitle demuxer type for --sub. Give the demuxer name as printed by --sub-demuxer=help.

       --sub-paths=<path1:path2:...>
              Specify extra directories to search for subtitles matching the video.  Multiple directories can be
              separated by ":" (";" on Windows).   Paths  can  be  relative  or  absolute.  Relative  paths  are
              interpreted relative to video file directory.

                 Example

                        Assuming that /path/to/movie/movie.avi is played and --sub-paths=sub:subtitles:/tmp/subs
                        is specified, mpv searches for subtitle files in these directories:

                 • /path/to/movie//path/to/movie/sub//path/to/movie/subtitles//tmp/subs/~/.mpv/sub/

       --subcp=<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).

                 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.

                 Examples

                 • --subcp=utf8:latin2 Use Latin 2 if input is not UTF-8.

                 • --subcp=utf8:cp1250 Use CP1250 if input is not UTF-8.

                 • --subcp=cp1250 Always force recoding to cp1250.

              The  pseudo  codepage  UTF-8-BROKEN  is used internally. If this is used as codepage, the subtitle
              will be interpreted as UTF-8, but 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:

                 ``--subcp=enca:<language>:<fallback codepage>``

              You  can  specify  your language using a two letter language code to make ENCA detect the codepage
              automatically. If unsure, enter anything (if the language is invalid, mpv will complain  and  list
              valid  languages).  Fallback codepage specifies the codepage to use if autodetection fails.  If no
              fallback is specified, UTF-8-BROKEN is used.

                 Examples

                 • --subcp=enca:cs:latin2 guess the encoding, assuming the subtitles are  Czech,  fall  back  on
                   latin 2, if the detection fails.

                 • --subcp=enca:pl:cp1250 guess the encoding for Polish, fall back on cp1250.

                 • --subcp=enca:pl guess the encoding for Polish, fall back on UTF-8.

                 • --subcp=enca try universal detection, fall back on UTF-8.

              If the player was compiled with libguess support, you can use it with:

              --subcp=guess:<language>:<fallback codepage>

              Note  that  libguess  always  needs  a  language.  There  is  no  universal  detection  mode.  Use
              --subcp=guess:help to get a list of languages (like with ENCA, it will  be  printed  only  if  the
              conversion code is somehow called, for example when loading an external subtitle).

       --sub-delay=<sec>
              Delays subtitles by <sec> seconds. Can be negative.

       --subfps=<rate>
              Specify the framerate of the subtitle file (default: movie fps).

              NOTE:
                 <rate>  >  movie fps speeds the subtitles up for frame-based subtitle files and slows them down
                 for time-based ones.

              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-speed=<0.1-10.0>
              Multiply the subtitle event timestamps with the given value. Can be used to fix the playback speed
              for frame-based subtitle formats. Works for external text subtitles only.

                 Example

                        --sub-speed=25/23.976`  plays  frame  based  subtitles which have been loaded assuming a
                        framerate of 23.976 at 25 FPS.

       --sws=<n>
              Specify the software scaler algorithm to be used with --vf=scale. This also affects  video  output
              drivers which lack hardware acceleration, e.g. x11. See also --vf=scale.

              Available types are:

              0      fast bilinear

              1      bilinear

              2      bicubic (good quality) (default)

              3      experimental

              4      nearest neighbor (bad quality)

              5      area

              6      luma bicubic / chroma bilinear

              7      gauss

              8      sincR

              9      lanczos

              10     natural bicubic spline

              NOTE:
                 Some  --sws  options  are  tunable.  The  description  of  the  scale  video filter has further
                 information.

       --term-osd, --no-term-osd, --term-osd=force
              Display OSD messages on the console when no video output is available.  Enabled by default.

       --term-osd-esc=<string>
              Specify the escape sequence to use before writing an  OSD  message  on  the  console.  The  escape
              sequence  should  move  the  pointer  to  the  beginning of the line used for the OSD and clear it
              (default: ^[[A\r^[[K).

              force enables terminal OSD even if a video window is created.

       --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=<option1:option2:...>
              This option tunes various properties of the TV capture module. For watching TV with mpv, use tv://
              or tv://<channel_number> or even tv://<channel_name> (see option channels for channel_name  below)
              as  a  movie  URL. You can also use tv:///<input_id> to start watching a movie from a composite or
              S-Video input (see option input for details).

              Available options are:

              noaudio
                     no sound

              automute=<0-255> (v4l and v4l2 only)
                     If signal strength reported by device is less than this value,  audio  and  video  will  be
                     muted. In most cases automute=100 will be enough.  Default is 0 (automute disabled).

              driver=<value>
                     See  --tv=driver=help  for  a list of compiled-in TV input drivers.  available: dummy, v4l2
                     (default: autodetect)

              device=<value>
                     Specify TV device (default: /dev/video0).

              input=<value>
                     Specify input (default: 0 (TV), see console output for available inputs).

              freq=<value>
                     Specify the frequency to set the tuner to (e.g. 511.250). Not compatible with the  channels
                     parameter.

              outfmt=<value>
                     Specify  the  output  format  of  the tuner with a preset value supported by the V4L driver
                     (YV12, UYVY, YUY2, I420) or an arbitrary format given as hex value.

              width=<value>
                     output window width

              height=<value>
                     output window height

              fps=<value>
                     framerate at which to capture video (frames per second)

              buffersize=<value>
                     maximum size of the capture buffer in megabytes (default: dynamical)

              norm=<value>
                     See the console output for a list of all available norms, also see the normid option below.

              normid=<value> (v4l2 only)
                     Sets the TV norm to the given numeric ID. The TV norm depends on the capture card. See  the
                     console output for a list of available TV norms.

              channel=<value>
                     Set tuner to <value> channel.

              chanlist=<value>
                     available:  argentina,  australia,  china-bcast, europe-east, europe-west, france, ireland,
                     italy, japan-bcast,  japan-cable,  newzealand,  russia,  southafrica,  us-bcast,  us-cable,
                     us-cable-hrc

              channels=<chan>-<name>[=<norm>],<chan>-<name>[=<norm>],...
                     Set names for channels.

                     NOTE:
                        If  <chan>  is  an  integer  greater than 1000, it will be treated as frequency (in kHz)
                        rather than channel name from frequency table.  Use _ for spaces in names (or play  with
                        quoting  ;-) ). The channel names will then be written using OSD, and the slave commands
                        tv_step_channel, tv_set_channel and tv_last_channel will be usable for a remote  control
                        (see LIRC). Not compatible with the frequency parameter.

                     NOTE:
                        The channel number will then be the position in the 'channels' list, beginning with 1.

                        Examples

                               tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1

              [brightness|contrast|hue|saturation]=<-100-100>
                     Set the image equalizer on the card.

              audiorate=<value>
                     Set input audio sample rate.

              forceaudio
                     Capture audio even if there are no audio sources reported by v4l.

              alsa   Capture from ALSA.

              amode=<0-3>
                     Choose an audio mode:

                     0      mono

                     1      stereo

                     2      language 1

                     3      language 2

              forcechan=<1-2>
                     By  default,  the  count of recorded audio channels is determined automatically by querying
                     the audio mode  from  the  TV  card.  This  option  allows  forcing  stereo/mono  recording
                     regardless  of  the  amode  option  and  the  values  returned by v4l. This can be used for
                     troubleshooting when the TV card is unable to report the current audio mode.

              adevice=<value>
                     Set an audio device. <value> should be /dev/xxx for OSS and a hardware  ID  for  ALSA.  You
                     must replace any ':' by a '.' in the hardware ID for ALSA.

              audioid=<value>
                     Choose an audio output of the capture card, if it has more than one.

              [volume|bass|treble|balance]=<0-100>
                     These  options  set  parameters  of the mixer on the video capture card.  They will have no
                     effect, if your card does not have one. For v4l2 50  maps  to  the  default  value  of  the
                     control, as reported by the driver.

              gain=<0-100>
                     Set  gain  control  for video devices (usually webcams) to the desired value and switch off
                     automatic control. A value of 0 enables automatic control. If this option is omitted,  gain
                     control will not be modified.

              immediatemode=<bool>
                     A  value  of  0  means  capture and buffer audio and video together. A value of 1 (default)
                     means to do video capture only and let the audio go through a loopback cable  from  the  TV
                     card to the sound card.

              mjpeg  Use  hardware  MJPEG  compression (if the card supports it). When using this option, you do
                     not need to specify the width and height of the output window, because mpv  will  determine
                     it automatically from the decimation value (see below).

              decimation=<1|2|4>
                     choose the size of the picture that will be compressed by hardware MJPEG compression:

                     1      full size

                            • 704x576 PAL

                            • 704x480 NTSC

                     2      medium size

                            • 352x288 PAL

                            • 352x240 NTSC

                     4      small size

                            • 176x144 PAL

                            • 176x120 NTSC

              quality=<0-100>
                     Choose the quality of the JPEG compression (< 60 recommended for full size).

       --tvscan=<option1:option2:...>
              Tune  the  TV  channel  scanner.  mpv  will  also print value for --tv=channels= option, including
              existing and just found channels.

              Available suboptions are:

              autostart
                     Begin channel scanning immediately after startup (default: disabled).

              period=<0.1-2.0>
                     Specify delay in seconds before switching to next channel (default: 0.5). Lower values will
                     cause faster scanning, but can detect inactive TV channels as active.

              threshold=<1-100>
                     Threshold  value  for the signal strength (in percent), as reported by the device (default:
                     50). A signal strength higher than this value will indicate  that  the  currently  scanning
                     channel is active.

       --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.

                 Example

                        --vd--lavc-o=debug=pict

       --vd-lavc-show-all=<yes|no>
              Show even broken/corrupt frames (default: yes). 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-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-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.

AUDIO OUTPUT DRIVERS

       Audio output drivers are interfaces to different audio output facilities. The syntax is:

       --ao=<driver1[:suboption1[=value]:...],driver2,...[,]>
              Specify a priority list of audio output drivers to be used.

       If the list has a trailing ',', mpv will fall back on drivers not contained in the list.  Suboptions  are
       optional and can mostly be omitted.

       You can also set defaults for each driver. The defaults are applied before the normal driver parameters.

       --ao-defaults=<driver1[:parameter1:parameter2:...],driver2,...>
              Set defaults for each driver.

       NOTE:
          See --ao=help for a list of compiled-in audio output drivers.

          Examples

          • --ao=alsa,oss, Try the ALSA driver, then the OSS driver, then others.

          • --ao=alsa:no-block:device=[hw:0,3]  Sets  noblock-mode  and  the  device-name  as first card, fourth
            device.

       Available audio output drivers are:

       alsa (Linux only)
              ALSA audio output driver

              no-block
                     Sets noblock-mode.

              resample=yes
                     Enable ALSA resampling plugin. (This is disabled by default, because  some  drivers  report
                     incorrect audio delay in some cases.)

              device=<device>
                     Sets  the device name. For ac3 output via S/PDIF, use an "iec958" or "spdif" device, unless
                     you really know how to set it correctly.

              mixer-device=<device>
                     Set the mixer device used with --no-softvol (default: default).

              mixer-name=<name>
                     Set the name of the mixer element (default: Master). This is for example PCM or Master.

              mixer-index=<number>
                     Set the index of the mixer channel (default: 0). Consider the output of "amixer scontrols",
                     then the index is the number that follows the name of the element.

              NOTE:
                 MPlayer  and mplayer2 required you to replace any ',' with '.' and any ':' with '=' in the ALSA
                 device name. mpv does not do this anymore.  Instead, quote the device name:
                     --ao=alsa:device=[plug:surround50]

                 Note that the [ and ] simply quote the device name. With some shells (like zsh),  you  have  to
                 quote  the option string to prevent the shell from interpreting the brackets instead of passing
                 them to mpv.

       oss    OSS audio output driver

              <dsp-device>
                     Sets the audio output device (default: /dev/dsp).

              <mixer-device>
                     Sets the audio mixer device (default: /dev/mixer).

              <mixer-channel>
                     Sets the audio mixer channel (default: pcm). Other valid values include vol, pcm, line. For
                     a complete list of options look for SOUND_DEVICE_NAMES in /usr/include/linux/soundcard.h.

       jack   JACK (Jack Audio Connection Kit) audio output driver

              port=<name>
                     Connects to the ports with the given name (default: physical ports).

              name=<client>
                     Client  name  that  is  passed  to  JACK (default: mpv). Useful if you want to have certain
                     connections established automatically.

              (no-)estimate
                     Estimate the audio delay, supposed to make the video playback smoother (default: enabled).

              (no-)autostart
                     Automatically start jackd if necessary (default: disabled). Note  that  this  tends  to  be
                     unreliable and will flood stdout with server messages.

              (no-)connect
                     Automatically  create  connections  to  output ports (default: enabled).  When enabled, the
                     maximum number of output channels will be limited to the number of available output ports.

              std-channel-layout=alsa|waveext|any
                     Select the standard channel layout (default: alsa). JACK itself has no  notion  of  channel
                     layouts  (i.e.  assigning  which  speaker  a given channel is supposed to map to) - it just
                     takes whatever the application outputs, and reroutes it to whatever the user defines.  This
                     means  the  user and the application are in charge of dealing with the channel layout. alsa
                     uses the old MPlayer layout, which is inspired by ALSA's standard layouts.  In  this  mode,
                     ao_jack  will  refuse  to  play 3 or 7 channels (because these do not really have a defined
                     meaning in MPlayer). waveext uses WAVE_FORMAT_EXTENSIBLE order, which, even though  it  was
                     defined  by  Microsoft,  is  the standard on many systems.  The value any makes JACK accept
                     whatever comes from the audio filter  chain,  regardless  of  channel  layout  and  without
                     reordering.  This  mode  is probably not very useful, other than for debugging or when used
                     with fixed setups.

       coreaudio (Mac OS X only)
              Native Mac OS X audio output driver

              device_id=<id>
                     ID of output device to use (0 = default device)

              help   List all available output devices with their IDs.

       openal Experimental OpenAL audio output driver

       pulse  PulseAudio audio output driver

              [<host>][:<output sink>]
                     Specify the host and optionally output sink to use. An empty <host>  string  uses  a  local
                     connection, "localhost" uses network transfer (most likely not what you want).

       portaudio
              PortAudio audio output driver. This works on all platforms, and has extensive MS Windows support.

              device Specify  the  subdevice  to  use.  Giving  help  as  device name lists all devices found by
                     PortAudio. Devices can be given as numeric values, starting from 1.

       dsound (Windows only)
              DirectX DirectSound audio output driver

              device=<devicenum>
                     Sets the device number to use. Playing a file  with  -v  will  show  a  list  of  available
                     devices.

       sdl    SDL  1.2+  audio  output driver. Should work on any platform supported by SDL 1.2, but may require
              the SDL_AUDIODRIVER environment variable to be set appropriately for your system.

              buflen=<length>
                     Sets the audio buffer length in seconds. Is used only  as  a  hint  by  the  sound  system.
                     Playing a file with -v will show the requested and obtained exact buffer size. A value of 0
                     selects the sound system default.

              bufcnt=<count>
                     Sets the number of extra audio buffers in mpv. Usually needs not be changed.

       null   Produces  no  audio  output  but  maintains  video  playback  speed.  Use  --ao=null:untimed   for
              benchmarking.

              untimed
                     Do not simulate timing of a perfect audio device. This means audio decoding will go as fast
                     as possible, instead of timing it to the system clock.

              buffer Simulated buffer length in seconds.

              outburst
                     Simulated chunk size in samples.

       pcm    Raw PCM/WAVE file writer audio output

              (no-)waveheader
                     Include or do not include the WAVE header (default: included). When not included,  raw  PCM
                     will be generated.

              file=<filename>
                     Write  the  sound  to  <filename> instead of the default audiodump.wav. If no-waveheader is
                     specified, the default is audiodump.pcm.

       rsound Audio output to an RSound daemon

              host=<name/path>
                     Set the address of the server (default: localhost).  Can be either a network  hostname  for
                     TCP connections or a Unix domain socket path starting with '/'.

              port=<number>
                     Set  the  TCP  port  used  for  connecting  to  the  server  (default: 12345).  Not used if
                     connecting to a Unix domain socket.

       sndio  Audio output to the OpenBSD sndio sound system

              (Note: only supports mono, stereo, 4.0, 5.1 and 7.1 channel layouts.)

              device=<device>
                     sndio device to use (default: $AUDIODEVICE, resp. snd0).

       wasapi Audio output to the Windows Audio Session API.

              device=<id>
                     Uses the requested endpoint instead of the system's default audio endpoint. Both the number
                     and the ID String are valid; the ID String is guaranteed to not change unless the driver is
                     uninstalled.

                     Also supports searching active devices by name. If more than one device matches  the  name,
                     refuses loading it.

                     To  get  a list of the valid devices, give help as the id. The list is the same as the list
                     suboption, but stops the player initialization.

              exclusive
                     Requests exclusive, direct hardware access. By definition prevents sound  playback  of  any
                     other program until mpv exits.

              list   Lists all audio endpoints (output devices) present in the system.

VIDEO OUTPUT DRIVERS

       Video output drivers are interfaces to different video output facilities. The syntax is:

       --vo=<driver1[:suboption1[=value]:...],driver2,...[,]>
              Specify a priority list of video output drivers to be used.

       If  the  list has a trailing ',', mpv will fall back on drivers not contained in the list. Suboptions are
       optional and can mostly be omitted.

       You can also set defaults for each driver. The defaults are applied before the normal driver parameters.

       --vo-defaults=<driver1[:parameter1:parameter2:...],driver2,...>
              Set defaults for each driver.

       NOTE:
          See --vo=help for a list of compiled-in video output drivers.

          Example

          --vo=opengl,xv,
                 Try the opengl driver, then the xv driver, then others.

       Available video output drivers are:

       xv (X11 only)
              Uses the XVideo extension to enable hardware-accelerated display. This is the most  compatible  VO
              on X, but may be low-quality, and has issues with OSD and subtitle display.

              adaptor=<number>
                     Select a specific XVideo adaptor (check xvinfo results).

              port=<number>
                     Select a specific XVideo port.

              ck=<cur|use|set>
                     Select the source from which the colorkey is taken (default: cur).

                     cur    The default takes the colorkey currently set in Xv.

                     use    Use but do not set the colorkey from mpv (use the --colorkey option to change it).

                     set    Same as use but also sets the supplied colorkey.

              ck-method=<man|bg|auto>
                     Sets the colorkey drawing method (default: man).

                     man    Draw the colorkey manually (reduces flicker in some cases).

                     bg     Set the colorkey as window background.

                     auto   Let Xv draw the colorkey.

              colorkey=<number>
                     Changes  the  colorkey  to  an  RGB value of your choice. 0x000000 is black and 0xffffff is
                     white.

              no-colorkey
                     Disables colorkeying.

       x11 (X11 only)
              Shared memory video output driver  without  hardware  acceleration  that  works  whenever  X11  is
              present.

              NOTE:
                 This is a fallback only, and should not be normally used.

       vdpau (X11 only)
              Uses  the  VDPAU interface to display and optionally also decode video.  Hardware decoding is used
              with --hwdec=vdpau.

              sharpen=<-1-1>
                     For positive values, apply a sharpening algorithm to  the  video,  for  negative  values  a
                     blurring algorithm (default: 0).

              denoise=<0-1>
                     Apply a noise reduction algorithm to the video (default: 0; no noise reduction).

              deint=<-4-4>
                     Select   deinterlacing   mode  (default:  -3).  Positive  values  choose  mode  and  enable
                     deinterlacing. Corresponding negative values select the same deinterlacing mode, but do not
                     enable  deinterlacing  on startup (useful in configuration files to specify which mode will
                     be enabled by the "D" key). All modes respect --field-dominance.

                     0      Same as -3.

                     1      Show only first field.

                     2      Bob deinterlacing.

                     3      Motion-adaptive temporal deinterlacing. May lead  to  A/V  desync  with  slow  video
                            hardware and/or high resolution.

                     4      Motion-adaptive temporal deinterlacing with edge-guided spatial interpolation. Needs
                            fast video hardware.

              chroma-deint
                     Makes  temporal  deinterlacers  operate  both  on   luma   and   chroma   (default).    Use
                     no-chroma-deint  to  solely  use luma and speed up advanced deinterlacing. Useful with slow
                     video memory.

              pullup Try to apply inverse telecine, needs motion adaptive temporal deinterlacing.

              hqscaling=<0-9>

                     0      Use default VDPAU scaling (default).

                     1-9    Apply high quality VDPAU scaling (needs capable hardware).

              fps=<number>
                     Override autodetected display refresh rate value (the value  is  needed  for  framedrop  to
                     allow  video  playback  rates  higher  than display refresh rate, and for vsync-aware frame
                     timing  adjustments).  Default  0  means  use  autodetected  value.  A  positive  value  is
                     interpreted  as a refresh rate in Hz and overrides the autodetected value. A negative value
                     disables all timing adjustment and framedrop logic.

              composite-detect
                     NVIDIA's current VDPAU implementation behaves  somewhat  differently  under  a  compositing
                     window  manager  and  does  not  give  accurate  frame timing information. With this option
                     enabled, the player tries to detect whether a compositing window manager is active. If  one
                     is detected, the player disables timing adjustments as if the user had specified fps=-1 (as
                     they would be based on incorrect input). This means timing is somewhat less  accurate  than
                     without  compositing,  but with the composited mode behavior of the NVIDIA driver, there is
                     no hard playback speed limit even without the  disabled  logic.  Enabled  by  default,  use
                     no-composite-detect to disable.

              queuetime_windowed=<number> and queuetime_fs=<number>
                     Use  VDPAU's  presentation  queue functionality to queue future video frame changes at most
                     this many milliseconds in advance (default: 50).  See below for additional information.

              output_surfaces=<2-15>
                     Allocate this many output surfaces to display video frames  (default:  3).  See  below  for
                     additional information.

              colorkey=<#RRGGBB|#AARRGGBB>
                     Set  the  VDPAU presentation queue background color, which in practice is the colorkey used
                     if VDPAU operates in overlay mode (default: #020507, some shade of  black).  If  the  alpha
                     component  of  this  value  is 0, the default VDPAU colorkey will be used instead (which is
                     usually green).

              force-yuv
                     Never accept RGBA input. This means mpv will insert a filter to convert  to  a  YUV  format
                     before  the  VO.  Sometimes useful to force availability of certain YUV-only features, like
                     video equalizer or deinterlacing.

              Using the VDPAU frame queueing functionality controlled by the queuetime options makes mpv's frame
              flip  timing  less sensitive to system CPU load and allows mpv to start decoding the next frame(s)
              slightly earlier, which can reduce jitter caused by individual slow-to-decode frames. However, the
              NVIDIA  graphics  drivers  can  make other window behavior such as window moves choppy if VDPAU is
              using the blit queue (mainly happens if you have the composite extension enabled) and this feature
              is  active. If this happens on your system and it bothers you then you can set the queuetime value
              to 0 to disable this feature. The settings to use in windowed and  fullscreen  mode  are  separate
              because  there should be no reason to disable this for fullscreen mode (as the driver issue should
              not affect the video itself).

              You can queue more frames ahead by increasing the queuetime values and the  output_surfaces  count
              (to  ensure  enough  surfaces  to  buffer video for a certain time ahead you need at least as many
              surfaces as the video has frames during that time, plus two). This could help make video  smoother
              in  some  cases.  The  main  downsides  are  increased video RAM requirements for the surfaces and
              laggier display response to user commands (display changes only become  visible  some  time  after
              they're  queued). The graphics driver implementation may also have limits on the length of maximum
              queuing time or number of queued surfaces that work well or at all.

       direct3d_shaders (Windows only)
              Video output driver that uses the Direct3D interface.

              prefer-stretchrect
                     Use IDirect3DDevice9::StretchRect over other methods if possible.

              disable-stretchrect
                     Never render the video using IDirect3DDevice9::StretchRect.

              disable-textures
                     Never render the video using D3D texture rendering. Rendering with textures +  shader  will
                     still be allowed. Add disable-shaders to completely disable video rendering with textures.

              disable-shaders
                     Never use shaders when rendering video.

              only-8bit
                     Never  render  YUV  video  with more than 8 bits per component.  Using this flag will force
                     software conversion to 8-bit.

              disable-texture-align
                     Normally texture sizes are always aligned to  16.  With  this  option  enabled,  the  video
                     texture will always have exactly the same size as the video itself.

              Debug  options. These might be incorrect, might be removed in the future, might crash, might cause
              slow downs, etc. Contact the developers if you actually need  any  of  these  for  performance  or
              proper operation.

              force-power-of-2
                     Always  force  textures  to  power  of 2, even if the device reports non-power-of-2 texture
                     sizes as supported.

              texture-memory=N
                     Only affects operation with shaders/texturing enabled, and (E)OSD.  Values for N:

                        0      default, will often use an additional shadow texture + copy

                        1      use D3DPOOL_MANAGED

                        2      use D3DPOOL_DEFAULT

                        3      use D3DPOOL_SYSTEMMEM, but without shadow texture

              swap-discard
                     Use D3DSWAPEFFECT_DISCARD, which might be faster.  Might be slower too, as it must(?) clear
                     every frame.

              exact-backbuffer
                     Always resize the backbuffer to window size.

       direct3d (Windows only)
              Same as direct3d_shaders, but with the options disable-textures and disable-shaders forced.

       corevideo (Mac OS X 10.6 and later)
              Mac  OS X CoreVideo video output driver. Uses the CoreVideo APIs to fill PixelBuffers and generate
              OpenGL textures from them (useful as a fallback for opengl).

       opengl OpenGL video output driver. It supports extended scaling methods, dithering and color management.

              By default, it tries to use fast and fail-safe settings. Use  the  alias  opengl-hq  to  use  this
              driver with defaults set to high quality rendering.

              Requires  at  least  OpenGL 2.1 and the GL_ARB_texture_rg extension. For older drivers, opengl-old
              may work.

              Some features are available with OpenGL 3 capable graphics  drivers  only  (or  if  the  necessary
              extensions are available).

              Hardware  decoding  over  OpenGL-interop is supported to some degree. Note that in this mode, some
              corner case might not be gracefully handled, and colorspace conversion and  chroma  upsampling  is
              generally in the hand of the hardware decoder APIs.

              lscale=<filter>

                 bilinear
                        Bilinear hardware texture filtering (fastest, mid-quality).  This is the default.

                 lanczos2
                        Lanczos  scaling  with  radius=2.  Provides good quality and speed.  This is the default
                        when using opengl-hq.

                 lanczos3
                        Lanczos with radius=3.

                 bicubic_fast
                        Bicubic filter. Has a blurring effect on the image, even if no scaling is done.

                 sharpen3
                        Unsharp masking (sharpening) with radius=3 and a default strength of 0.5 (see lparam1).

                 sharpen5
                        Unsharp masking (sharpening) with radius=5 and a default strength of 0.5 (see lparam1).

                 mitchell
                        Mitchell-Netravali. The b and c parameters can be set with lparam1 and lparam2. Both are
                        set to 1/3 by default.

                 There are some more filters. For a complete list, pass help as value, e.g.:

                     mpv --vo=opengl:lscale=help

              lparam1=<value>
                     Set  filter  parameters.  Ignored if the filter is not tunable. These are unset by default,
                     and use the filter specific default if applicable.

              lparam2=<value>
                     See lparam1.

              scaler-resizes-only
                     Disable the scaler if the video image is not  resized.  In  that  case,  bilinear  is  used
                     instead  whatever is set with lscale. Bilinear will reproduce the source image perfectly if
                     no scaling is performed.   Note  that  this  option  never  affects  cscale,  although  the
                     different processing chain might do chroma scaling differently if lscale is disabled.

              stereo=<value>
                     Select  a  method for stereo display. You may have to use --aspect to fix the aspect value.
                     Experimental, do not expect too much from it.

                     no     Normal 2D display

                     red-cyan
                            Convert side by side input to full-color red-cyan stereo.

                     green-magenta
                            Convert side by side input to full-color green-magenta stereo.

                     quadbuffer
                            Convert side by side input to quadbuffered stereo. Only supported by very few OpenGL
                            cards.

              srgb   Enable  gamma-correct  scaling  by working in linear light. This makes use of sRGB textures
                     and framebuffers.  This option forces the options indirect and gamma.

                     NOTE:
                        for YUV colorspaces, gamma 1/0.45 (2.222) is assumed. RGB input is always assumed to  be
                        in sRGB.

                     This  option  is  not  really  useful,  as  gamma-correct scaling has not much influence on
                     typical video playback. Most visible effect comes from slightly different gamma.

              pbo    Enable use of PBOs. This is slightly  faster,  but  can  sometimes  lead  to  sporadic  and
                     temporary  image corruption (in theory, because reupload is not retried when it fails), and
                     perhaps actually triggers slower paths with drivers that don't support PBOs properly.

              dither-depth=<N|no|auto>
                     Set dither target depth to N. Default: no.

                     no     Disable any dithering done by mpv.

                     auto   Automatic selection. If output bit depth cannot be detected, 8  bits  per  component
                            are assumed.

                     8      Dither to 8 bit output.

                     Note  that  the depth of the connected video display device can not be detected. Often, LCD
                     panels will do dithering on their own, which conflicts with opengl's dithering and leads to
                     ugly output.

              dither-size-fruit=<2-8>
                     Set  the  size  of the dither matrix (default: 6). The actual size of the matrix is (2^N) x
                     (2^N) for an option value of N, so a value of 6 gives  a  size  of  64x64.  The  matrix  is
                     generated at startup time, and a large matrix can take rather long to compute (seconds).

                     Used in dither=fruit mode only.

              dither=<fruit|ordered|no>
                     Select dithering algorithm (default: fruit).

              temporal-dither
                     Enable  temporal  dithering. (Only active if dithering is enabled in general.) This changes
                     between 8 different dithering pattern on each frame by  changing  the  orientation  of  the
                     tiled  dithering  matrix.   Unfortunately,  this can lead to flicker on LCD displays, since
                     these have a high reaction time.

              debug  Check for OpenGL errors, i.e. call glGetError(). Also request a debug OpenGL context (which
                     does nothing with current graphics drivers as of this writing).

              swapinterval=<n>
                     Interval  in displayed frames between two buffer swaps.  1 is equivalent to enable VSYNC, 0
                     to disable VSYNC.

              no-scale-sep
                     When using a separable scale filter for luma, usually two filter passes are done.  This  is
                     often  faster. However, it forces conversion to RGB in an extra pass, so it can actually be
                     slower if used with fast filters on small screen resolutions. Using this options will  make
                     rendering a single operation.  Note that chroma scalers are always done as 1-pass filters.

              cscale=<n>
                     As  lscale,  but  for  chroma  (2x slower with little visible effect).  Note that with some
                     scaling filters, upscaling is always done in RGB. If chroma is not subsampled, this  option
                     is ignored, and the luma scaler is used instead. Setting this option is often useless.

              fancy-downscaling
                     When  using  convolution  based  filters,  extend  the filter size when downscaling. Trades
                     quality for reduced downscaling performance.

              no-npot
                     Force use of power-of-2 texture sizes. For debugging only.  Borders will be  distorted  due
                     to filtering.

              glfinish
                     Call glFinish() before swapping buffers

              sw     Continue even if a software renderer is detected.

              backend=<sys>
                     The value auto (the default) selects the windowing backend. You can also pass help to get a
                     complete list of compiled in backends (sorted by autoprobe order).

                     auto   auto-select (default)

                     cocoa  Cocoa/OSX

                     win    Win32/WGL

                     x11    X11/GLX

                     wayland
                            Wayland/EGL

              indirect
                     Do YUV conversion and scaling as separate passes. This will first render the video  into  a
                     video-sized  RGB  texture, and draw the result on screen.  The luma scaler is used to scale
                     the RGB image when rendering to screen.  The chroma scaler is used only on YUV  conversion,
                     and  only if the video is chroma-subsampled (usually the case).  This mechanism is disabled
                     on RGB input.  Specifying this option directly is generally useful for debugging only.

              fbo-format=<fmt>
                     Selects the internal format of textures used for FBOs. The format can influence performance
                     and  quality  of the video output. (FBOs are not always used, and typically only when using
                     extended scalers.)  fmt can be one of: rgb, rgba, rgb8,  rgb10,  rgb10_a2,  rgb16,  rgb16f,
                     rgb32f, rgba12, rgba16, rgba16f, rgba32f.  Default: rgb.

              gamma  Always enable gamma control. (Disables delayed enabling.)

              icc-profile=<file>
                     Load  an ICC profile and use it to transform linear RGB to screen output.  Needs LittleCMS2
                     support compiled in.

              icc-cache=<file>
                     Store and load the 3D LUT created from the ICC profile in this file.  This can be  used  to
                     speed  up  loading,  since LittleCMS2 can take a while to create the 3D LUT. Note that this
                     file contains an uncompressed LUT.  Its size depends on the 3dlut-size,  and  can  be  very
                     big.

              icc-intent=<value>

                     0      perceptual

                     1      relative colorimetric

                     2      saturation

                     3      absolute colorimetric (default)

              3dlut-size=<r>x<g>x<b>
                     Size  of  the  3D  LUT  generated  from  the  ICC  profile  in  each dimension.  Default is
                     128x256x64.  Sizes must be a power of two, and 256 at most.

              alpha=<blend|yes|no>
                     Decides what to do if the input has an alpha component (default: blend).

                     blend  Blend the frame against a black background.

                     yes    Try to create a framebuffer with alpha component. This only makes sense if the video
                            contains  alpha  information  (which is extremely rare). May not be supported on all
                            platforms. If alpha framebuffers are unavailable, it silently falls back on a normal
                            framebuffer.  Note that when using FBO indirections (such as with opengl-hq), an FBO
                            format with alpha must be specified with the fbo-format option.

                     no     Ignore alpha component.

              chroma-location=<auto|center|left>
                     Set the YUV chroma sample location. auto means use the bitstream flags (default: auto).

              rectangle-textures
                     Force use of rectangle textures (default: no). Normally this shouldn't have any  advantages
                     over normal textures. Note that hardware decoding overrides this flag.

       opengl-hq
              Same as opengl, but with default settings for high quality rendering.

              This is equivalent to:

                 --vo=opengl:lscale=lanczos2:dither-depth=auto:fbo-format=rgb16

              Note  that  some  cheaper  LCDs  do  dithering  that  gravely  interferes with opengl's dithering.
              Disabling dithering with dither-depth=no helps.

              Unlike opengl, opengl-hq makes use of FBOs by default. Sometimes you can achieve better quality or
              performance  by changing the fbo-format suboption to rgb16f, rgb32f or rgb. Known problems include
              Mesa/Intel not accepting rgb16, Mesa sometimes not being compiled with float texture support,  and
              some OSX setups being very slow with rgb16 but fast with rgb32f.

       opengl-old
              OpenGL  video output driver, old version. Video size must be smaller than the maximum texture size
              of your OpenGL implementation. Intended to work even with the most basic  OpenGL  implementations,
              but also makes use of newer extensions which allow support for more color spaces.

              The  code performs very few checks, so if a feature does not work, this might be because it is not
              supported by your card and/or OpenGL implementation, even if you do not get any error message. Use
              glxinfo or a similar tool to display the supported OpenGL extensions.

              (no-)ati-hack
                     ATI  drivers  may  give  a  corrupted image when PBOs are used (when using force-pbo). This
                     option fixes this, at the expense of using a bit more memory.

              (no-)force-pbo
                     Always uses PBOs to transfer textures even if this involves an extra copy.  Currently  this
                     gives  a  little extra speed with NVIDIA drivers and a lot more speed with ATI drivers. May
                     need the ati-hack suboption to work correctly.

              (no-)scaled-osd
                     Scales the OSD and subtitles instead of rendering them at display size (default: disabled).

              rectangle=<0,1,2>
                     Select usage of rectangular textures, which saves video RAM, but often is slower  (default:
                     0).

                     0      Use power-of-two textures (default).

                     1      Use the GL_ARB_texture_rectangle extension.

                     2      Use  the  GL_ARB_texture_non_power_of_two extension. In some cases only supported in
                            software and thus very slow.

              swapinterval=<n>
                     Minimum interval between two buffer swaps, counted in displayed frames (default: 1).  1  is
                     equivalent  to  enabling  VSYNC, 0 to disabling VSYNC.  Values below 0 will leave it at the
                     system default. This limits the framerate  to  (horizontal  refresh  rate  /  n).  Requires
                     GLX_SGI_swap_control  support  to  work.  With  some (most/all?)  implementations this only
                     works in fullscreen mode.

              ycbcr  Use the GL_MESA_ycbcr_texture extension to convert YUV  to  RGB.  In  most  cases  this  is
                     probably slower than doing software conversion to RGB.

              yuv=<n>
                     Select  the  type  of YUV to RGB conversion. The default is auto-detection deciding between
                     values 0 and 2.

                     0      Use software conversion. Compatible with all OpenGL versions.  Provides  brightness,
                            contrast and saturation control.

                     1      Same  as  2.  This used to use NVIDIA-specific extensions, which did not provide any
                            advantages over using fragment programs, except possibly on  very  ancient  graphics
                            cards. It produced a gray-ish output, which is why it has been removed.

                     2      Use  a  fragment  program.  Needs the GL_ARB_fragment_program extension and at least
                            three texture units. Provides brightness, contrast, saturation and hue control.

                     3      Use a fragment program using the POW instruction. Needs the  GL_ARB_fragment_program
                            extension   and  at  least  three  texture  units.  Provides  brightness,  contrast,
                            saturation, hue and gamma control. Gamma can also  be  set  independently  for  red,
                            green and blue. Method 4 is usually faster.

                     4      Use  a  fragment  program  with additional lookup. Needs the GL_ARB_fragment_program
                            extension  and  at  least  four  texture  units.  Provides   brightness,   contrast,
                            saturation,  hue  and  gamma  control.  Gamma can also be set independently for red,
                            green and blue.

                     5      Use ATI-specific method (for older  cards).  This  uses  an  ATI-specific  extension
                            (GL_ATI_fragment_shader - not GL_ARB_fragment_shader!). At least three texture units
                            are needed. Provides saturation and hue control. This method is fast but inexact.

                     6      Use a 3D texture to do conversion  via  lookup.  Needs  the  GL_ARB_fragment_program
                            extension  and  at  least four texture units. Extremely slow (software emulation) on
                            some (all?) ATI  cards  since  it  uses  a  texture  with  border  pixels.  Provides
                            brightness,  contrast,  saturation,  hue  and  gamma  control. Gamma can also be set
                            independently for red, green and blue. Speed depends more on  GPU  memory  bandwidth
                            than other methods.

              lscale=<n>
                     Select  the scaling function to use for luminance scaling. Only valid for yuv modes 2, 3, 4
                     and 6.

                     0      Use simple linear filtering (default).

                     1      Use bicubic B-spline filtering (better quality). Needs one additional texture  unit.
                            Older cards will not be able to handle this for chroma at least in fullscreen mode.

                     2      Use  cubic filtering in horizontal, linear filtering in vertical direction. Works on
                            a few more cards than method 1.

                     3      Same as 1 but does not use a lookup texture. Might be faster on some cards.

                     4      Use experimental unsharp masking with 3x3 support and a default strength of 0.5 (see
                            filter-strength).

                     5      Use experimental unsharp masking with 5x5 support and a default strength of 0.5 (see
                            filter-strength).

              cscale=<n>
                     Select the scaling function to use for chrominance scaling. For details see lscale.

              filter-strength=<value>
                     Set the effect strength for the lscale/cscale filters that support it.

              stereo=<value>
                     Select a method for stereo display. You may have to use --aspect to fix the  aspect  value.
                     Experimental, do not expect too much from it.

                     0      Normal 2D display

                     1      Convert side by side input to full-color red-cyan stereo.

                     2      Convert side by side input to full-color green-magenta stereo.

                     3      Convert side by side input to quadbuffered stereo. Only supported by very few OpenGL
                            cards.

              The following options are only useful if writing your own fragment programs.

              customprog=<filename>
                     Load a custom fragment program from <filename>.

              customtex=<filename>
                     Load a custom "gamma ramp" texture from <filename>. This can be used  in  combination  with
                     yuv=4 or with the customprog option.

              (no-)customtlin
                     If  enabled  (default)  use GL_LINEAR interpolation, otherwise use GL_NEAREST for customtex
                     texture.

              (no-)customtrect
                     If enabled, use texture_rectangle for the customtex texture.  Default is disabled.

              (no-)mipmapgen
                     If enabled, mipmaps for the video  are  automatically  generated.  This  should  be  useful
                     together with the customprog and the TXB instruction to implement blur filters with a large
                     radius. For most OpenGL implementations,  this  is  very  slow  for  any  non-RGB  formats.
                     Default is disabled.

              Normally there is no reason to use the following options; they mostly exist for testing purposes.

              (no-)glfinish
                     Call  glFinish()  before  swapping  buffers.  Slower  but in some cases more correct output
                     (default: disabled).

              (no-)manyfmts
                     Enables support for more (RGB and BGR) color  formats  (default:  enabled).   Needs  OpenGL
                     version >= 1.2.

              slice-height=<0-...>
                     Number of lines copied to texture in one piece (default: 0). 0 for whole image.

              sw     Continue even if a software renderer is detected.

              backend=<sys>

                     auto   auto-select (default)

                     cocoa  Cocoa/OSX

                     win    Win32/WGL

                     x11    X11/GLX

                     wayland
                            Wayland/EGL

       sdl    SDL  2.0+  Render  video output driver, depending on system with or without hardware acceleration.
              Should work on all platforms supported by SDL 2.0.  For tuning, refer to your  copy  of  the  file
              SDL_hints.h.

              sw     Continue even if a software renderer is detected.

              switch-mode
                     Instruct SDL to switch the monitor video mode when going fullscreen.

       vaapi  Intel VA API video output driver with support for hardware decoding. Note that there is absolutely
              no reason to use this, other than wanting to use hardware decoding to save power  on  laptops,  or
              possibly preventing video tearing with some setups.

              scaling=<algorithm>

                     default
                            Driver default (mpv default as well).

                     fast   Fast, but low quality.

                     hq     Unspecified driver dependent high-quality scaling, slow.

                     nla    non-linear anamorphic scaling

              deint-mode=<mode>
                     Select deinterlacing algorithm. Note that by default deinterlacing is initially always off,
                     and needs to be enabled with the D key (default key binding for cycle deinterlace).

                     This option doesn't apply if libva supports video post processing (vpp).  In this case, the
                     default  for  deint-mode  is  no, and enabling deinterlacing via user interaction using the
                     methods mentioned above actually inserts the vavpp video filter. If  vpp  is  not  actually
                     supported  with  the  libva  backend  in use, you can use this option to forcibly enable VO
                     based deinterlacing.

                     no     Don't allow deinterlacing (default for newer libva).

                     first-field
                            Show only first field (going by --field-dominance).

                     bob    bob deinterlacing (default for older libva).

              scaled-osd=<yes|no>
                     If enabled, then the OSD is rendered at video resolution and scaled to display  resolution.
                     By  default,  this is disabled, and the OSD is rendered at display resolution if the driver
                     supports it.

       null   Produces no video output. Useful for benchmarking.

       caca   Color ASCII art video output driver that works on a text console.

       image  Output each frame into an image file in the current directory. Each file takes  the  frame  number
              padded with leading zeros as name.

              format=<format>
                     Select the image file format.

                     jpg    JPEG files, extension .jpg. (Default.)

                     jpeg   JPEG files, extension .jpeg.

                     png    PNG files.

                     ppm    Portable bitmap format.

                     pgm    Portable graymap format.

                     pgmyuv Portable graymap format, using the YV12 pixel format.

                     tga    Truevision TGA.

              png-compression=<0-9>
                     PNG compression factor (speed vs. file size tradeoff) (default: 7)

              png-filter=<0-5>
                     Filter applied prior to PNG compression (0 = none; 1 = sub; 2 = up; 3 = average; 4 = Paeth;
                     5 = mixed) (default: 5)

              jpeg-quality=<0-100>
                     JPEG quality factor (default: 90)

              (no-)jpeg-progressive
                     Specify standard or progressive JPEG (default: no).

              (no-)jpeg-baseline
                     Specify use of JPEG baseline or not (default: yes).

              jpeg-optimize=<0-100>
                     JPEG optimization factor (default: 100)

              jpeg-smooth=<0-100>
                     smooth factor (default: 0)

              jpeg-dpi=<1->
                     JPEG DPI (default: 72)

              outdir=<dirname>
                     Specify the directory to save the image files to (default: ./).

       wayland (Wayland only)
              Wayland shared memory video output as fallback for opengl.

              default-format
                     Use the default RGB32 format instead of an auto-detected one.

              alpha  Use a buffer format that supports videos and images with alpha information

AUDIO FILTERS

       Audio filters allow you to modify the audio stream and its properties. The syntax is:

       --af=<filter1[=parameter1:parameter2:...],filter2,...>
              Setup a chain of audio filters.

       NOTE:
          To get a full list of available audio filters, see --af=help.

       You can also set defaults for each filter. The defaults are applied before the normal filter parameters.

       --af-defaults=<filter1[=parameter1:parameter2:...],filter2,...>
              Set defaults for each filter.

       Audio filters are managed in lists. There are a few commands to manage the filter list:

       --af-add=<filter1[,filter2,...]>
              Appends the filters given as arguments to the filter list.

       --af-pre=<filter1[,filter2,...]>
              Prepends the filters given as arguments to the filter list.

       --af-del=<index1[,index2,...]>
              Deletes the filters at the given indexes. Index numbers start at 0, negative numbers  address  the
              end of the list (-1 is the last).

       --af-clr
              Completely empties the filter list.

       Available filters are:

       lavrresample[=option1:option2:...]
              This  filter  uses libavresample (or libswresample, depending on the build) to change sample rate,
              sample format, or channel layout of the audio stream.  This filter is automatically enabled if the
              audio output does not support the audio configuration of the file being played.

              It supports only the following sample formats: u8, s16, s32, float.

              filter-size=<length>
                     Length of the filter with respect to the lower sampling rate. (default: 16)

              phase-shift=<count>
                     Log2 of the number of polyphase entries. (..., 10->1024, 11->2048, 12->4096, ...) (default:
                     10->1024)

              cutoff=<cutoff>
                     Cutoff frequency (0.0-1.0), default set depending upon filter length.

              linear If set then filters will be linearly interpolated between polyphase entries. (default: no)

              no-detach
                     Do not detach if input and output audio format/rate/channels match.  (If you just  want  to
                     set  defaults for this filter that will be used even by automatically inserted lavrresample
                     instances, you should prefer setting them with --af-defaults=lavrresample:....)

              o=<string>
                     Set AVOptions on the SwrContext or AVAudioResampleContext. These should  be  documented  by
                     FFmpeg or Libav.

       lavcac3enc[=tospdif[:bitrate[:minchn]]]
              Encode  multi-channel  audio  to  AC-3  at runtime using libavcodec. Supports 16-bit native-endian
              input format, maximum 6 channels. The output is big-endian when  outputting  a  raw  AC-3  stream,
              native-endian  when  outputting  to S/PDIF. If the input sample rate is not 48 kHz, 44.1 kHz or 32
              kHz, it will be resampled to 48 kHz.

              tospdif=<yes|no>
                     Output raw AC-3 stream if no, output to S/PDIF for passthrough if yes (default).

              bitrate=<rate>
                     The bitrate use for the AC-3 stream. Set it to 384 to get 384 kbps.

                     Valid values: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, 448, 512,
                     576, 640.

                     The special value default selects a default bitrate based on the input channel number:

                     1ch    96

                     2ch    192

                     3ch    224

                     4ch    384

                     5ch    448

                     6ch    448

              minchn=<n>
                     If  the input channel number is less than <minchn>, the filter will detach itself (default:
                     5).

       sweep[=speed]
              Produces a sine sweep.

              <0.0-1.0>
                     Sine function delta, use very low values to hear the sweep.

       sinesuppress[=freq:decay]
              Remove a sine at the specified frequency. Useful to get rid of the 50/60Hz noise  on  low  quality
              audio equipment. It only works on mono input.

              <freq> The frequency of the sine which should be removed (in Hz) (default: 50)

              <decay>
                     Controls  the  adaptivity (a larger value will make the filter adapt to amplitude and phase
                     changes quicker, a smaller value  will  make  the  adaptation  slower)  (default:  0.0001).
                     Reasonable values are around 0.001.

       bs2b[=option1:option2:...]
              Bauer  stereophonic  to  binaural  transformation  using libbs2b. Improves the headphone listening
              experience by making the sound similar to that from loudspeakers, allowing each ear to  hear  both
              channels  and  taking  into  account  the distance difference and the head shadowing effect. It is
              applicable only to 2-channel audio.

              fcut=<300-1000>
                     Set cut frequency in Hz.

              feed=<10-150>
                     Set feed level for low frequencies in 0.1*dB.

              profile=<value>
                     Several profiles are available for convenience:

                     default
                            will be used if nothing else was specified (fcut=700, feed=45)

                     cmoy   Chu Moy circuit implementation (fcut=700, feed=60)

                     jmeier Jan Meier circuit implementation (fcut=650, feed=95)

              If fcut or feed options are specified together with a profile, they will be applied on top of  the
              selected profile.

       hrtf[=flag]
              Head-related  transfer  function:  Converts multichannel audio to 2-channel output for headphones,
              preserving the spatiality of the sound.

                                         ┌─────┬─────────────────────────────────────┐
                                         │Flag │ Meaning                             │
                                         ├─────┼─────────────────────────────────────┤
                                         │m    │ matrix decoding of the rear channel │
                                         ├─────┼─────────────────────────────────────┤
                                         │s    │ 2-channel matrix decoding           │
                                         ├─────┼─────────────────────────────────────┤
                                         │0    │ no matrix decoding (default)        │
                                         └─────┴─────────────────────────────────────┘

       equalizer=g1:g2:g3:...:g10
              10 octave band graphic equalizer, implemented using 10 IIR band-pass filters. This means  that  it
              works  regardless  of  what  type of audio is being played back. The center frequencies for the 10
              bands are:

                                                      ┌────┬────────────┐
                                                      │No. │ frequency  │
                                                      ├────┼────────────┤
                                                      │0   │ 31.25  Hz  │
                                                      ├────┼────────────┤
                                                      │1   │ 62.50  Hz  │
                                                      ├────┼────────────┤
                                                      │2   │ 125.00  Hz │
                                                      ├────┼────────────┤
                                                      │3   │ 250.00  Hz │
                                                      ├────┼────────────┤
                                                      │4   │ 500.00  Hz │
                                                      ├────┼────────────┤
                                                      │5   │ 1.00 kHz   │
                                                      ├────┼────────────┤
                                                      │6   │ 2.00 kHz   │
                                                      ├────┼────────────┤
                                                      │7   │ 4.00 kHz   │
                                                      ├────┼────────────┤
                                                      │8   │ 8.00 kHz   │
                                                      ├────┼────────────┤
                                                      │9   │ 16.00 kHz  │
                                                      └────┴────────────┘

              If the sample rate of the sound being played is lower than the center frequency  for  a  frequency
              band,  then  that  band will be disabled. A known bug with this filter is that the characteristics
              for the uppermost band are not completely symmetric if the sample rate  is  close  to  the  center
              frequency  of  that  band.  This  problem  can  be  worked  around by upsampling the sound using a
              resampling filter before it reaches this filter.

              <g1>:<g2>:<g3>:...:<g10>
                     floating point numbers representing the gain in dB for each frequency band (-12-12)

                 Example

                 mpv --af=equalizer=11:11:10:5:0:-12:0:5:12:12 media.avi
                        Would amplify the sound in the upper and  lower  frequency  region  while  canceling  it
                        almost completely around 1kHz.

       channels=nch[:routes]
              Can  be used for adding, removing, routing and copying audio channels. If only <nch> is given, the
              default routing is used. It works as follows: If the number of output channels is greater than the
              number  of  input  channels,  empty channels are inserted (except when mixing from mono to stereo;
              then the mono channel is duplicated). If the number of output channels is less than the number  of
              input channels, the exceeding channels are truncated.

              <nch>  number of output channels (1-8)

              <routes>
                     List  of  , separated routes, in the form from1-to1,from2-to2,....  Each pair defines where
                     to route each channel. There can be at most 8 routes. Without this  argument,  the  default
                     routing  is  used.  Since  , is also used to separate filters, you must quote this argument
                     with [...] or similar.

                 Examples

                 mpv --af=channels=4:[0-1,1-0,0-2,1-3] media.avi
                        Would change the number of channels to 4 and set up 4 routes that  swap  channel  0  and
                        channel  1  and  leave  channel  2  and  3 intact.  Observe that if media containing two
                        channels were played back, channels 2 and 3 would contain silence  but  0  and  1  would
                        still be swapped.

                 mpv --af=channels=6:[0-0,0-1,0-2,0-3] media.avi
                        Would  change  the  number  of  channels to 6 and set up 4 routes that copy channel 0 to
                        channels 0 to 3. Channel 4 and 5 will contain silence.

              NOTE:
                 You should probably not use this filter. If you want to change the output channel  layout,  try
                 the format filter, which can make mpv automatically up- and downmix standard channel layouts.

       format=format:srate:channels:out-format:out-srate:out-channels
              Force a specific audio format/configuration without actually changing the audio data. Keep in mind
              that the filter system might auto-insert actual conversion filters before or after this filter  if
              needed.

              All parameters are optional. The first 3 parameters restrict what the filter accepts as input. The
              out- parameters change the audio format, without actually doing a conversion.  The  data  will  be
              'reinterpreted' by the filters or audio outputs following this filter.

              <format>
                     Force  conversion  to  this  format.  Use  --af=format=format=help  to  get a list of valid
                     formats.

              <srate>
                     Force conversion to a specific sample rate. The rate is an integer, 48000 for example.

              <channels>
                     Force mixing to a specific channel layout. See --channels option for possible values.

              <out-format>

              <out-srate>

              <out-channels>

              See also --format, --srate, and --channels for related options.  Keep in mind that --channels does
              not actually force the number of channels in most cases, while this filter can do this.

              NOTE: this filter used to be named force. Also, unlike the old format filter, this does not do any
              actual conversion anymore.  Conversion is done by other, automatically inserted filters.

       convert24
              Filter for internal use only. Converts between 24-bit and 32-bit sample formats.

       convertsignendian
              Filter for internal use only. Converts between signed/unsigned formats and formats with  different
              endian.

       volume[=volumedb[:softclip[:s16]]]
              Implements software volume control. Use this filter with caution since it can reduce the signal to
              noise ratio of the sound. In most cases it is best to use the Master volume control of your  sound
              card or the volume knob on your amplifier.

              NOTE: This filter is not reentrant and can therefore only be enabled once for every audio stream.

              <volumedb>
                     Sets  the  desired  gain  in  dB for all channels in the stream from -200dB to +60dB, where
                     -200dB mutes the sound completely and +60dB equals a gain of 1000 (default: 0).

              <softclip>
                     Turns soft clipping on. Soft-clipping can make the sound more smooth if  very  high  volume
                     levels are used. Enable this option if the dynamic range of the loudspeakers is very low.

                     WARNING: This feature creates distortion and should be considered a last resort.

              <s16>  Force S16 sample format if set. Lower quality, but might be faster in some situations.

                 Example

                 mpv --af=volume=10.1 media.avi
                        Would amplify the sound by 10.1dB and hard-clip if the sound level is too high.

       pan=n[:<matrix>]
              Mixes channels arbitrarily. Basically a combination of the volume and the channels filter that can
              be used to down-mix many channels to only a few, e.g. stereo to mono, or vary the "width"  of  the
              center  speaker  in  a  surround  sound  system. This filter is hard to use, and will require some
              tinkering before the desired result is obtained. The number of options for this filter depends  on
              the  number  of output channels. An example how to downmix a six-channel file to two channels with
              this filter can be found in the examples section near the end.

              <n>    Number of output channels (1-8).

              <matrix>
                     A list of values [L00,L01,L02,...,L10,L11,L12,...,Ln0,Ln1,Ln2,...], where each element  Lij
                     means  how  much  of  input  channel  i  is  mixed into output channel j (range 0-1). So in
                     principle you first have n numbers saying what to do with the first input channel,  then  n
                     numbers  that  act  on  the second input channel etc. If you do not specify any numbers for
                     some input channels, 0 is assumed.  Note that the values  are  separated  by  ,,  which  is
                     already used by the option parser to separate filters. This is why you must quote the value
                     list with [...] or similar.

                 Examples

                 mpv --af=pan=1:[0.5,0.5] media.avi
                        Would downmix from stereo to mono.

                 mpv --af=pan=3:[1,0,0.5,0,1,0.5] media.avi
                        Would give 3 channel output leaving channels 0 and 1 intact, and mix channels  0  and  1
                        into output channel 2 (which could be sent to a subwoofer for example).

              NOTE:
                 If  you just want to force remixing to a certain output channel layout, it is easier to use the
                 format filter. For example, mpv '--af=format=channels=5.1' '--channels=5.1' would always  force
                 remixing audio to 5.1 and output it like this.

       sub[=fc:ch]
              Adds  a  subwoofer  channel  to  the  audio stream. The audio data used for creating the subwoofer
              channel is an average of the sound in channel 0  and  channel  1.  The  resulting  sound  is  then
              low-pass  filtered  by  a 4th order Butterworth filter with a default cutoff frequency of 60Hz and
              added to a separate channel in the audio stream.

              WARNING:
                 Disable this filter when you are playing media with an LFE channel (e.g. 5.1  surround  sound),
                 otherwise this filter will disrupt the sound to the subwoofer.

              <fc>   cutoff frequency in Hz for the low-pass filter (20Hz to 300Hz) (default: 60Hz) For the best
                     result try setting the cutoff frequency as low as possible. This will improve the stereo or
                     surround sound experience.

              <ch>   Determines  the channel number in which to insert the sub-channel audio. Channel number can
                     be between 0 and 7 (default: 5). Observe that the number of channels will automatically  be
                     increased to <ch> if necessary.

                 Example

                 mpv --af=sub=100:4 --channels=5 media.avi
                        Would add a subwoofer channel with a cutoff frequency of 100Hz to output channel 4.

       center Creates  a  center  channel  from  the front channels. May currently be low quality as it does not
              implement a high-pass filter for proper extraction yet,  but  averages  and  halves  the  channels
              instead.

              <ch>   Determines the channel number in which to insert the center channel.  Channel number can be
                     between 0 and 7 (default: 5). Observe that the number of  channels  will  automatically  be
                     increased to <ch> if necessary.

       surround[=delay]
              Decoder  for  matrix  encoded  surround sound like Dolby Surround. Some files with 2-channel audio
              actually contain matrix encoded surround sound.

              <delay>
                     delay time in ms for the rear speakers (0 to 1000) (default: 20) This delay should  be  set
                     as  follows: If d1 is the distance from the listening position to the front speakers and d2
                     is the distance from the listening position to the rear speakers, then the delay should  be
                     set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.

                 Example

                 mpv --af=surround=15 --channels=4 media.avi
                        Would add surround sound decoding with 15ms delay for the sound to the rear speakers.

       delay[=[ch1,ch2,...]]
              Delays  the  sound  to the loudspeakers such that the sound from the different channels arrives at
              the listening position simultaneously. It is only useful if you have more than 2 loudspeakers.

              [ch1,ch2,...]
                     The delay in ms that should be imposed on each channel (floating point number between 0 and
                     1000).

              To calculate the required delay for the different channels, do as follows:

              1. Measure  the  distance  to  the  loudspeakers in meters in relation to your listening position,
                 giving you the distances s1 to s5 (for a 5.1 system). There is no point in compensating for the
                 subwoofer (you will not hear the difference anyway).

              2. Subtract  the  distances  s1  to  s5 from the maximum distance, i.e.  s[i] = max(s) - s[i]; i =
                 1...5.

              3. Calculate the required delays in ms as d[i] = 1000*s[i]/342; i = 1...5.

                 Example

                 mpv --af=delay=[10.5,10.5,0,0,7,0] media.avi
                        Would delay front left and right by 10.5ms, the two rear channels and the  subwoofer  by
                        0ms and the center channel by 7ms.

       export=mmapped_file:nsamples]
              Exports  the incoming signal to other processes using memory mapping (mmap()). Memory mapped areas
              contain a header:

                 int nch                      /* number of channels */
                 int size                     /* buffer size */
                 unsigned long long counter   /* Used to keep sync, updated every time
                                                 new data is exported. */

              The rest is payload (non-interleaved) 16-bit data.

              <mmapped_file>
                     File to map data to (required)

              <nsamples>
                     number of samples per channel (default: 512).

                 Example

                 mpv --af=export=/tmp/mpv-af_export:1024 media.avi
                        Would export 1024 samples per channel to /tmp/mpv-af_export.

       extrastereo[=mul]
              (Linearly) increases the difference between left and right channels which adds some sort of "live"
              effect to playback.

              <mul>  Sets  the  difference  coefficient  (default:  2.5).  0.0 means mono sound (average of both
                     channels), with 1.0 sound will be unchanged, with -1.0 left  and  right  channels  will  be
                     swapped.

       drc[=method:target]
              Applies  dynamic  range  compression.  This maximizes the volume by compressing the audio signal's
              dynamic range. (Formerly called volnorm.)

              <method>
                     Sets the used method.

                     1      Use a single sample to smooth the variations via the  standard  weighted  mean  over
                            past samples (default).

                     2      Use  several  samples  to  smooth the variations via the standard weighted mean over
                            past samples.

              <target>
                     Sets the target amplitude as a fraction of the maximum for the sample type (default: 0.25).

              NOTE:
                 This filter can cause distortion with audio signals that have a very large dynamic range.

       ladspa=file:label:[<control0>,<control1>,...]
              Load a LADSPA (Linux Audio Developer's Simple Plugin API) plugin. This  filter  is  reentrant,  so
              multiple LADSPA plugins can be used at once.

              <file> Specifies the LADSPA plugin library file.

                     NOTE:
                        See also the note about the LADSPA_PATH variable in the ENVIRONMENT VARIABLES section.

              <label>
                     Specifies the filter within the library. Some libraries contain only one filter, but others
                     contain many of them. Entering 'help' here will  list  all  available  filters  within  the
                     specified library, which eliminates the use of 'listplugins' from the LADSPA SDK.

              [<control0>,<control1>,...]
                     Controls  are zero or more , separated floating point values that determine the behavior of
                     the loaded plugin (for example delay, threshold or gain).  In verbose mode (add -v  to  the
                     mpv  command  line),  all  available  controls  and  their  valid  ranges are printed. This
                     eliminates the use of 'analyseplugin' from the LADSPA SDK.  Note that , is already used  by
                     the  option  parser to separate filters, so you must quote the list of values with [...] or
                     similar.

                 Example

                 mpv --af=ladspa='/usr/lib/ladspa/delay.so':delay_5s:[0.5,0.2] media.avi
                        Does something.

       karaoke
              Simple voice removal filter exploiting the fact that voice is usually recorded with mono gear  and
              later  'center'  mixed  onto the final audio stream. Beware that this filter will turn your signal
              into mono. Works well for 2 channel tracks; do not bother trying it  on  anything  but  2  channel
              stereo.

       scaletempo[=option1:option2:...]
              Scales audio tempo without altering pitch, optionally synced to playback speed (default).

              This  works  by  playing  'stride' ms of audio at normal speed then consuming 'stride*scale' ms of
              input audio. It pieces the strides together by blending 'overlap'% of stride with audio  following
              the  previous  stride. It optionally performs a short statistical analysis on the next 'search' ms
              of audio to determine the best overlap position.

              scale=<amount>
                     Nominal amount to scale tempo. Scales this amount in addition to speed. (default: 1.0)

              stride=<amount>
                     Length in milliseconds to output each stride. Too high of a  value  will  cause  noticeable
                     skips  at  high  scale amounts and an echo at low scale amounts. Very low values will alter
                     pitch. Increasing improves performance. (default: 60)

              overlap=<percent>
                     Percentage of stride to overlap. Decreasing improves performance.  (default: .20)

              search=<amount>
                     Length in milliseconds to search for best overlap position. Decreasing improves performance
                     greatly. On slow systems, you will probably want to set this very low. (default: 14)

              speed=<tempo|pitch|both|none>
                     Set response to speed change.

                     tempo  Scale tempo in sync with speed (default).

                     pitch  Reverses  effect  of  filter. Scales pitch without altering tempo.  Add [ speed_mult
                            0.9438743126816935 and ] speed_mult 1.059463094352953 to your input.conf to step  by
                            musical semi-tones.

                            WARNING:
                               Loses sync with video.

                     both   Scale both tempo and pitch.

                     none   Ignore speed changes.

                 Examples

                 mpv --af=scaletempo --speed=1.2 media.ogg
                        Would  play  media  at  1.2x normal speed, with audio at normal pitch. Changing playback
                        speed would change audio tempo to match.

                 mpv --af=scaletempo=scale=1.2:speed=none --speed=1.2 media.ogg
                        Would play media at 1.2x normal speed, with audio at normal pitch, but changing playback
                        speed would have no effect on audio tempo.

                 mpv --af=scaletempo=stride=30:overlap=.50:search=10 media.ogg
                        Would tweak the quality and performace parameters.

                 mpv --af=format=float,scaletempo media.ogg
                        Would make scaletempo use float code. Maybe faster on some platforms.

                 mpv --af=scaletempo=scale=1.2:speed=pitch audio.ogg
                        Would  play  media  at 1.2x normal speed, with audio at normal pitch.  Changing playback
                        speed would change pitch, leaving audio tempo at 1.2x.

       lavfi=graph
              Filter audio using ffmpeg's libavfilter.

              <graph>
                     Libavfilter graph. See lavfi video filter for details - the graph syntax is the same.

                     WARNING:
                        Don't forget to quote libavfilter graphs as described in the lavfi video filter section.

              o=<string>
                     AVOptions.

VIDEO FILTERS

       Video filters allow you to modify the video stream and its properties. The syntax is:

       --vf=<filter1[=parameter1:parameter2:...],filter2,...>
              Setup a chain of video filters.

       You can also set defaults for each filter. The defaults are applied before the normal filter parameters.

       --vf-defaults=<filter1[=parameter1:parameter2:...],filter2,...>
              Set defaults for each filter.

       NOTE:
          To get a full list of available video filters, see --vf=help.

       Video filters are managed in lists. There are a few commands to manage the filter list.

       --vf-add=<filter1[,filter2,...]>
              Appends the filters given as arguments to the filter list.

       --vf-pre=<filter1[,filter2,...]>
              Prepends the filters given as arguments to the filter list.

       --vf-del=<index1[,index2,...]>
              Deletes the filters at the given indexes. Index numbers start at 0, negative numbers  address  the
              end of the list (-1 is the last).

       --vf-clr
              Completely empties the filter list.

       With filters that support it, you can access parameters by their name.

       --vf=<filter>=help
              Prints the parameter names and parameter value ranges for a particular filter.

       --vf=<filter=named_parameter1=value1[:named_parameter2=value2:...]>
              Sets a named parameter to the given value. Use on and off or yes and no to set flag parameters.

       Available filters are:

       crop[=w:h:x:y]
              Crops  the  given  part  of  the  image  and  discards the rest. Useful to remove black bands from
              widescreen movies.

              <w>,<h>
                     Cropped width and height, defaults to original width and height.

              <x>,<y>
                     Position of the cropped picture, defaults to center.

       expand[=w:h:x:y:aspect:round]
              Expands (not scales) movie resolution to the given value  and  places  the  unscaled  original  at
              coordinates x, y.

              <w>,<h>
                     Expanded  width,height  (default:  original  width,height). Negative values for w and h are
                     treated as offsets to the original size.

                        Example

                        expand=0:-50:0:0
                               Adds a 50 pixel border to the bottom of the picture.

              <x>,<y>
                     position of original image on the expanded image (default: center)

              <aspect>
                     Expands to fit an aspect instead of a resolution (default: 0).

                        Example

                        expand=800::::4/3
                               Expands to 800x600, unless the source is higher  resolution,  in  which  case  it
                               expands to fill a 4/3 aspect.

              <round>
                     Rounds up to make both width and height divisible by <r> (default: 1).

       flip   Flips the image upside down.

       mirror Mirrors the image on the Y axis.

       rotate[=<0-7>]
              Rotates  the  image by 90 degrees and optionally flips it. For values between 4-7 rotation is only
              done if the movie geometry is portrait and not landscape.

              0      Rotate by 90 degrees clockwise and flip (default).

              1      Rotate by 90 degrees clockwise.

              2      Rotate by 90 degrees counterclockwise.

              3      Rotate by 90 degrees counterclockwise and flip.

       scale[=w:h[:interlaced[:chr_drop[:par[:par2[:noup[:arnd]]]]]]]
              Scales the image with the software scaler (slow) and performs a  YUV<->RGB  colorspace  conversion
              (see also --sws).

              <w>,<h>
                     scaled width/height (default: original width/height)

                     0      scaled d_width/d_height

                     -1     original width/height

                     -2     Calculate w/h using the other dimension and the prescaled aspect ratio.

                     -3     Calculate w/h using the other dimension and the original aspect ratio.

                     -(n+8) Like -n above, but rounding the dimension to the closest multiple of 16.

              <chr_drop>
                     chroma skipping

                     0      Use all available input lines for chroma.

                     1      Use only every 2. input line for chroma.

                     2      Use only every 4. input line for chroma.

                     3      Use only every 8. input line for chroma.

              <par>[:<par2>] (see also --sws)
                     Set some scaling parameters depending on the type of scaler selected with --sws:

                        --sws=2 (bicubic):  B (blurring) and C (ringing)
                            0.00:0.60 default
                            0.00:0.75 VirtualDub's "precise bicubic"
                            0.00:0.50 Catmull-Rom spline
                            0.33:0.33 Mitchell-Netravali spline
                            1.00:0.00 cubic B-spline

                        --sws=7 (gaussian): sharpness (0 (soft) - 100 (sharp))

                        --sws=9 (lanczos):  filter length (1-10)

              <noup> Disallow upscaling past the original dimensions.

                     0      Allow upscaling (default).

                     1      Disallow upscaling if one dimension exceeds its original value.

                     2      Disallow upscaling if both dimensions exceed their original values.

              <arnd> Accurate  rounding  for the vertical scaler, which may be faster or slower than the default
                     rounding.

                     0      Disable accurate rounding (default).

                     1      Enable accurate rounding.

       dsize[=w:h:aspect-method:r:aspect]
              Changes the intended display size/aspect at an arbitrary point in the filter chain. Aspect can  be
              given  as  a  fraction  (4/3)  or floating point number (1.33). Alternatively, you may specify the
              exact display width and height desired. Note that this filter does not do any scaling  itself;  it
              just  affects  what  later  scalers  (software  or  hardware) will do when auto-scaling to correct
              aspect.

              <w>,<h>
                     New display width and height.

                     Can also be these special values:

                     0      original display width and height

                     -1     original video width and height (default)

                     -2     Calculate w/h using the other dimension and the original display aspect ratio.

                     -3     Calculate w/h using the other dimension and the original video aspect ratio.

                        Example

                        dsize=800:-2
                               Specifies a display resolution of 800x600 for a 4/3 aspect video, or 800x450  for
                               a 16/9 aspect video.

              <aspect-method>
                     Modifies width and height according to original aspect ratios.

                     -1     Ignore original aspect ratio (default).

                     0      Keep display aspect ratio by using <w> and <h> as maximum resolution.

                     1      Keep display aspect ratio by using <w> and <h> as minimum resolution.

                     2      Keep video aspect ratio by using <w> and <h> as maximum resolution.

                     3      Keep video aspect ratio by using <w> and <h> as minimum resolution.

                        Example

                        dsize=800:600:0
                               Specifies  a  display resolution of at most 800x600, or smaller, in order to keep
                               aspect.

              <r>    Rounds up to make both width and height divisible by <r> (default: 1).

              <aspect>
                     Force an aspect ratio.

       format[=fmt[:outfmt]]
              Restricts the color space for the next filter without doing any conversion.  Use together with the
              scale filter for a real conversion.

              NOTE:
                 For a list of available formats, see format=fmt=help.

              <fmt>  Format name, e.g. rgb15, bgr24, 420p, etc. (default: yuyv).

              <outfmt>
                     Format  name that should be substituted for the output. If this is not 100% compatible with
                     the <fmt> value, it will crash.

                        Examples

                                                  ┌───────────────────┬──────────────────────┐
                                                  │Valid              │ Invalid (will crash) │
                                                  └───────────────────┴──────────────────────┘

                                                  │format=rgb24:bgr24format=rgb24:420p    │
                                                  ├───────────────────┼──────────────────────┤
                                                  │format=yuyv:uyvy   │                      │
                                                  └───────────────────┴──────────────────────┘

       noformat[=fmt]
              Restricts the colorspace for the next filter without doing  any  conversion.   Unlike  the  format
              filter, this will allow any colorspace except the one you specify.

              NOTE:
                 For a list of available formats, see noformat=fmt=help.

              <fmt>  Format name, e.g. rgb15, bgr24, 420p, etc. (default: 420p).

       pp[=[filter1[:option1[:option2...]]/[-]filter2...]]
              Enables  the specified chain of postprocessing subfilters. Subfilters must be separated by '/' and
              can be disabled by prepending a '-'. Each subfilter and some options have a short and a long  name
              that can be used interchangeably, i.e. dr/dering are the same. All subfilters share common options
              to determine their scope:

              a/autoq
                     Automatically switch the subfilter off if the CPU is too slow.

              c/chrom
                     Do chrominance filtering, too (default).

              y/nochrom
                     Do luminance filtering only (no chrominance).

              n/noluma
                     Do chrominance filtering only (no luminance).

              NOTE:
                 --vf=pp:help shows a list of available subfilters.

              NOTE:
                 Unlike in MPlayer or in earlier versions, you must  quote  the  pp  string  if  it  contains  :
                 characters, e.g. '--vf=pp=[...]'.

              Available subfilters are:

              hb/hdeblock[:difference[:flatness]]
                     horizontal deblocking filter

                     <difference>
                            Difference factor where higher values mean more deblocking (default: 32).

                     <flatness>
                            Flatness threshold where lower values mean more deblocking (default: 39).

              vb/vdeblock[:difference[:flatness]]
                     vertical deblocking filter

                     <difference>
                            Difference factor where higher values mean more deblocking (default: 32).

                     <flatness>
                            Flatness threshold where lower values mean more deblocking (default: 39).

              ha/hadeblock[:difference[:flatness]]
                     accurate horizontal deblocking filter

                     <difference>
                            Difference factor where higher values mean more deblocking (default: 32).

                     <flatness>
                            Flatness threshold where lower values mean more deblocking (default: 39).

              va/vadeblock[:difference[:flatness]]
                     accurate vertical deblocking filter

                     <difference>
                            Difference factor where higher values mean more deblocking (default: 32).

                     <flatness>
                            Flatness threshold where lower values mean more deblocking (default: 39).

              The  horizontal  and  vertical  deblocking filters share the difference and flatness values so you
              cannot set different horizontal and vertical thresholds.

              h1/x1hdeblock
                     experimental horizontal deblocking filter

              v1/x1vdeblock
                     experimental vertical deblocking filter

              dr/dering
                     deringing filter

              tn/tmpnoise[:threshold1[:threshold2[:threshold3]]]
                     temporal noise reducer

                     <threshold1>
                            larger -> stronger filtering

                     <threshold2>
                            larger -> stronger filtering

                     <threshold3>
                            larger -> stronger filtering

              al/autolevels[:f/fullyrange]
                     automatic brightness / contrast correction

                     f/fullyrange
                            Stretch luminance to (0-255).

              lb/linblenddeint
                     Linear blend deinterlacing filter that deinterlaces the given block by filtering all  lines
                     with a (1 2 1) filter.

              li/linipoldeint
                     Linear  interpolating  deinterlacing  filter  that deinterlaces the given block by linearly
                     interpolating every second line.

              ci/cubicipoldeint
                     Cubic  interpolating  deinterlacing  filter  deinterlaces  the  given  block  by  cubically
                     interpolating every second line.

              md/mediandeint
                     Median  deinterlacing  filter that deinterlaces the given block by applying a median filter
                     to every second line.

              fd/ffmpegdeint
                     FFmpeg deinterlacing filter that deinterlaces the given block  by  filtering  every  second
                     line with a (-1 4 2 4 -1) filter.

              l5/lowpass5
                     Vertically  applied  FIR  lowpass deinterlacing filter that deinterlaces the given block by
                     filtering all lines with a (-1 2 6 2 -1) filter.

              fq/forceQuant[:quantizer]
                     Overrides the quantizer table from the input with the constant quantizer you specify.

                     <quantizer>
                            quantizer to use

              de/default
                     default pp filter combination (hb:a,vb:a,dr:a)

              fa/fast
                     fast pp filter combination (h1:a,v1:a,dr:a)

              ac     high quality pp filter combination (ha:a:128:7,va:a,dr:a)

              NOTE:
                 This filter is only available if FFmpeg/libav has been compiled with libpostproc enabled.

                 Examples

                 --vf=pp=hb/vb/dr/al
                        horizontal and vertical deblocking, deringing and automatic brightness/contrast

                 --vf=pp=de/-al
                        default filters without brightness/contrast correction

                 --vf=pp=[default/tmpnoise:1:2:3]
                        Enable default filters & temporal denoiser.

                 --vf=pp=[hb:y/vb:a]
                        Horizontal deblocking on luminance only,  and  switch  vertical  deblocking  on  or  off
                        automatically depending on available CPU time.

       lavfi=graph[:sws-flags[:o=opts]]
              Filter video using FFmpeg's libavfilter.

              <graph>
                     The  libavfilter  graph  string. The filter must have a single video input pad and a single
                     video output pad.

                     See https://ffmpeg.org/ffmpeg-filters.html for syntax and available filters.

                     WARNING:
                        If you want to use the full filter syntax with this option, you have to quote the filter
                        graph in order to prevent mpv's syntax and the filter graph syntax from clashing.

                        Examples

                        -vf lavfi=[gradfun=20:30,vflip]
                               gradfun  filter  with  nonsense  parameters,  followed  by  a vflip filter. (This
                               demonstrates how libavfilter takes a graph and not just  a  single  filter.)  The
                               filter  graph  string is quoted with [ and ]. This requires no additional quoting
                               or escaping with some  shells  (like  bash),  while  others  (like  zsh)  require
                               additional " quotes around the option string.

                        '--vf=lavfi="gradfun=20:30,vflip"'
                               Same as before, but uses quoting that should be safe with all shells. The outer '
                               quotes make sure that the shell does not remove the " quotes needed by mpv.

                        '--vf=lavfi=graph="gradfun=radius=30:strength=20,vflip"'
                               Same as before, but uses named parameters for everything.

              <sws-flags>
                     If libavfilter inserts filters for pixel format conversion, this  option  gives  the  flags
                     which  should  be  passed  to  libswscale.  This  option  is  numeric  and takes a bit-wise
                     combination of SWS_ flags.

                     See http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libswscale/swscale.h.

              <o>    Set AVFilterGraph options. These should be documented by FFmpeg.

                        Example

                        '--vf=lavfi=yadif:o="threads=2,thread_type=slice"'
                               forces a specific threading configuration.

       noise[=<strength>[:averaged][:pattern][:temporal][:uniform][:hq]
              Adds noise.

              strength
                     Set the noise for all components. If you  want  different  strength  values  for  luma  and
                     chroma, use libavfilter's noise filter directly (using --vf=lavfi=[noise=...]), or tell the
                     libavfilter developers to stop being stupid.

              averaged
                     averaged temporal noise (smoother, but a lot slower)

              pattern
                     mix random noise with a (semi)regular pattern

              temporal
                     temporal noise (noise pattern changes between frames)

              uniform
                     uniform noise (gaussian otherwise)

              hq     high quality (slightly  better  looking,  slightly  slower)  -  not  available  when  using
                     libavfilter

       hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]
              This  filter  aims  to  reduce  image noise producing smooth images and making still images really
              still (This should enhance compressibility.).

              <luma_spatial>
                     spatial luma strength (default: 4)

              <chroma_spatial>
                     spatial chroma strength (default: 3)

              <luma_tmp>
                     luma temporal strength (default: 6)

              <chroma_tmp>
                     chroma temporal strength (default: luma_tmp*chroma_spatial/luma_spatial)

       eq[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]
              Software equalizer that uses lookup tables (slow), allowing gamma correction in addition to simple
              brightness and contrast adjustment. The parameters are given as floating point values.

              <0.1-10>
                     initial gamma value (default: 1.0)

              <-2-2> initial contrast, where negative values result in a negative image (default: 1.0)

              <-1-1> initial brightness (default: 0.0)

              <0-3>  initial saturation (default: 1.0)

              <0.1-10>
                     gamma value for the red component (default: 1.0)

              <0.1-10>
                     gamma value for the green component (default: 1.0)

              <0.1-10>
                     gamma value for the blue component (default: 1.0)

              <0-1>  The weight parameter can be used to reduce the effect of a high gamma value on bright image
                     areas, e.g. keep them from getting overamplified and just plain white. A value of 0.0 turns
                     the  gamma  correction  all the way down while 1.0 leaves it at its full strength (default:
                     1.0).

       ilpack[=mode]
              When interlaced video is stored in YUV 4:2:0 formats, chroma interlacing does not line up properly
              due  to vertical downsampling of the chroma channels. This filter packs the planar 4:2:0 data into
              YUY2 (4:2:2) format with the chroma lines  in  their  proper  locations,  so  that  in  any  given
              scanline, the luma and chroma data both come from the same field.

              <mode> Select the sampling mode.

                     0      nearest-neighbor sampling, fast but incorrect

                     1      linear interpolation (default)

       unsharp[=lx:ly:la:cx:cy:ca]
              unsharp mask / gaussian blur

              l is for the luma component, c for the chroma component. x/y is the filter size. a is the amount.

              lx, ly, cx, cy
                     width  and  height  of  the matrix, odd sized in both directions (min = 3:3, max = 13:11 or
                     11:13, usually something between 3:3 and 7:7)

              la, ca Relative amount of sharpness/blur to add to the image (a sane range should be -1.5-1.5).

                     <0     blur

                     >0     sharpen

       swapuv Swap U & V plane.

       pullup[=jl:jr:jt:jb:sb:mp]
              Pulldown reversal (inverse telecine) filter, capable of handling mixed  hard-telecine,  24000/1001
              fps  progressive,  and  30000/1001  fps progressive content. The pullup filter makes use of future
              context in making its decisions. It is stateless in the sense that it does not lock onto a pattern
              to  follow,  but it instead looks forward to the following fields in order to identify matches and
              rebuild progressive frames.

              jl, jr, jt, and jb
                     These options set the amount of "junk" to ignore at the left, right, top, and bottom of the
                     image,  respectively. Left/right are in units of 8 pixels, while top/bottom are in units of
                     2 lines. The default is 8 pixels on each side.

              sb (strict breaks)
                     Setting this option to 1 will  reduce  the  chances  of  pullup  generating  an  occasional
                     mismatched  frame, but it may also cause an excessive number of frames to be dropped during
                     high motion sequences.  Conversely, setting it to -1 will make  pullup  match  fields  more
                     easily.  This  may  help  processing  of  video  where there is slight blurring between the
                     fields, but may also cause there to be interlaced frames in the output.

              mp (metric plane)
                     This option may be set to u or v to use a chroma plane instead of the luma plane for  doing
                     pullup's  computations.  This  may improve accuracy on very clean source material, but more
                     likely will decrease accuracy, especially if there is chroma noise (rainbow effect) or  any
                     grayscale video. The main purpose of setting mp to a chroma plane is to reduce CPU load and
                     make pullup usable in realtime on slow machines.

       divtc[=options]
              Inverse telecine for deinterlaced video. If 3:2-pulldown telecined  video  has  lost  one  of  the
              fields  or  is  deinterlaced  using  a method that keeps one field and interpolates the other, the
              result is a juddering video that has every fourth frame duplicated. This  filter  is  intended  to
              find  and  drop  those duplicates and restore the original film framerate. Two different modes are
              available: One-pass mode is the default and is straightforward to use, but  has  the  disadvantage
              that any changes in the telecine phase (lost frames or bad edits) cause momentary judder until the
              filter can resync again. Two-pass mode avoids this by analyzing the entire video beforehand so  it
              will have forward knowledge about the phase changes and can resync at the exact spot. These passes
              do not correspond to pass one and two of the encoding process. You must run an  extra  pass  using
              divtc  pass  one before the actual encoding throwing the resulting video away. Then use divtc pass
              two for the actual encoding. If you use multiple encoder passes, use divtc pass  two  for  all  of
              them.

              The options are:

              pass=1|2
                     Use two pass mode.

              file=<filename>
                     Set the two pass log filename (default: framediff.log).

              threshold=<value>
                     Set  the  minimum  strength  the telecine pattern must have for the filter to believe in it
                     (default: 0.5). This is used to avoid recognizing false pattern from the parts of the video
                     that are very dark or very still.

              window=<numframes>
                     Set  the  number of past frames to look at when searching for pattern (default: 30). Longer
                     window improves the reliability of the pattern search,  but  shorter  window  improves  the
                     reaction  time  to  the changes in the telecine phase. This only affects the one-pass mode.
                     The two-pass mode currently uses fixed window that extends to both future and past.

              phase=0|1|2|3|4
                     Sets the initial telecine phase for one pass mode (default: 0). The two-pass mode  can  see
                     the  future,  so  it is able to use the correct phase from the beginning, but one-pass mode
                     can only guess. It catches the correct phase when it finds it, but this option can be  used
                     to  fix  the  possible juddering at the beginning. The first pass of the two pass mode also
                     uses this, so if you save the output from the first pass, you get constant phase result.

              deghost=<value>
                     Set the deghosting threshold (0-255 for one-pass mode, -255-255 for two-pass mode,  default
                     0).  If  nonzero,  deghosting mode is used. This is for video that has been deinterlaced by
                     blending the fields together instead of dropping one of the  fields.  Deghosting  amplifies
                     any  compression  artifacts  in  the  blended  frames,  so the parameter value is used as a
                     threshold to exclude those pixels from deghosting that differ from the previous frame  less
                     than specified value. If two pass mode is used, then negative value can be used to make the
                     filter analyze the whole video in the beginning of pass-2 to  determine  whether  it  needs
                     deghosting  or  not  and  then  select  either zero or the absolute value of the parameter.
                     Specify this option for pass 2, it makes no difference on pass 1.

       phase[=t|b|p|a|u|T|B|A|U][:v]
              Delay interlaced video by one field time so that the field order changes.  The intended use is  to
              fix  PAL  movies  that  have  been  captured  with  the  opposite field order to the film-to-video
              transfer. The options are:

              t      Capture field order top-first, transfer bottom-first. Filter will delay the bottom field.

              b      Capture bottom-first, transfer top-first. Filter will delay the top field.

              p      Capture and transfer with the same field order. This mode only exists for the documentation
                     of the other options to refer to, but if you actually select it, the filter will faithfully
                     do nothing ;-)

              a      Capture field order determined automatically by  field  flags,  transfer  opposite.  Filter
                     selects  among  t  and  b  modes  on  a frame by frame basis using field flags. If no field
                     information is available, then this works just like u.

              u      Capture unknown or varying, transfer opposite. Filter selects among t and b on a  frame  by
                     frame  basis by analyzing the images and selecting the alternative that produces best match
                     between the fields.

              T      Capture top-first, transfer unknown or varying. Filter selects among t and  p  using  image
                     analysis.

              B      Capture bottom-first, transfer unknown or varying. Filter selects among b and p using image
                     analysis.

              A      Capture determined by field flags, transfer unknown or varying. Filter selects among  t,  b
                     and p using field flags and image analysis. If no field information is available, then this
                     works just like U. This is the default mode.

              U      Both capture and transfer unknown or varying. Filter selects among t, b and p  using  image
                     analysis only.

              v      Verbose  operation.  Prints  the  selected  mode  for  each  frame  and the average squared
                     difference between fields for t, b, and p alternatives. (Ignored when libavfilter is used.)

       yadif=[mode[:enabled=yes|no]]
              Yet another deinterlacing filter

              <mode>

                     frame  Output 1 frame for each frame.

                     field  Output 1 frame for each field.

                     frame-nospatial
                            Like frame but skips spatial interlacing check.

                     field-nospatial
                            Like field but skips spatial interlacing check.

              <enabled>

                     yes    Filter is active (default).

                     no     Filter is not active, but can be activated with the D key (or  any  other  key  that
                            toggles the deinterlace property).

              This  filter,  is  automatically  inserted when using the D key (or any other key that toggles the
              deinterlace property or when using the --deinterlace switch), assuming the video output  does  not
              have native deinterlacing support.

              If  you  just  want  to  set  the default mode, put this filter and its options into --vf-defaults
              instead, and enable deinterlacing with D or --deinterlace.

              Also note that the D key is stupid enough to insert an interlacer twice when inserting yadif  with
              --vf, so using the above methods is recommended.

       delogo[=x:y:w:h:t:show]
              Suppresses  a  TV  station  logo  by  a simple interpolation of the surrounding pixels. Just set a
              rectangle covering the logo and watch it disappear (and sometimes something even uglier  appear  -
              your mileage may vary).

              <x>,<y>
                     top left corner of the logo

              <w>,<h>
                     width and height of the cleared rectangle

              <t>    Thickness  of  the  fuzzy edge of the rectangle (added to w and h). When set to -1, a green
                     rectangle is drawn  on  the  screen  to  simplify  finding  the  right  x,``y``,``w``,``h``
                     parameters.

              file=<file>
                     You  can specify a text file to load the coordinates from.  Each line must have a timestamp
                     (in seconds, and in ascending order) and the x:y:w:h:t  coordinates  (t  can  be  omitted).
                     (Not supported when using libavfilter.)

              show   Draw a rectangle showing the area defined by x/y/w/h.

       screenshot
              Optional  filter  for screenshot support. This is only needed if the video output does not provide
              working direct screenshot support. Note that it is not  always  safe  to  insert  this  filter  by
              default. See TAKING SCREENSHOTS for details.

       sub=[=bottom-margin:top-margin]
              Moves subtitle rendering to an arbitrary point in the filter chain, or force subtitle rendering in
              the video filter as opposed to using video output OSD support.

              <bottom-margin>
                     Adds a black band at the bottom of the frame. The  SSA/ASS  renderer  can  place  subtitles
                     there (with --ass-use-margins).

              <top-margin>
                     Black band on the top for toptitles  (with --ass-use-margins).

                 Examples

                 --vf=sub,eq
                        Moves  sub  rendering before the eq filter. This will put both subtitle colors and video
                        under the influence of the video equalizer settings.

       stereo3d[=in:out]
              Stereo3d converts between different stereoscopic image formats.

              <in>   Stereoscopic image format of input. Possible values:

                     sbsl or side_by_side_left_first
                            side by side parallel (left eye left, right eye right)

                     sbsr or side_by_side_right_first
                            side by side crosseye (right eye left, left eye right)

                     abl or above_below_left_first
                            above-below (left eye above, right eye below)

                     abr or above_below_right_first
                            above-below (right eye above, left eye below)

                     ab2l or above_below_half_height_left_first
                            above-below with half height resolution (left eye above, right eye below)

                     ab2r or above_below_half_height_right_first
                            above-below with half height resolution (right eye above, left eye below)

              <out>  Stereoscopic image format of output. Possible values are all the input formats as well as:

                     arcg or anaglyph_red_cyan_gray
                            anaglyph red/cyan gray (red filter on left eye, cyan filter on right eye)

                     arch or anaglyph_red_cyan_half_color
                            anaglyph red/cyan half colored (red filter on left eye, cyan filter on right eye)

                     arcc or anaglyph_red_cyan_color
                            anaglyph red/cyan color (red filter on left eye, cyan filter on right eye)

                     arcd or anaglyph_red_cyan_dubois
                            anaglyph red/cyan color optimized with the least squares projection of  dubois  (red
                            filter on left eye, cyan filter on right eye)

                     agmg or anaglyph_green_magenta_gray
                            anaglyph green/magenta gray (green filter on left eye, magenta filter on right eye)

                     agmh or anaglyph_green_magenta_half_color
                            anaglyph  green/magenta  half  colored  (green filter on left eye, magenta filter on
                            right eye)

                     agmc or anaglyph_green_magenta_color
                            anaglyph green/magenta colored (green filter on left eye, magenta  filter  on  right
                            eye)

                     aybg or anaglyph_yellow_blue_gray
                            anaglyph yellow/blue gray (yellow filter on left eye, blue filter on right eye)

                     aybh or anaglyph_yellow_blue_half_color
                            anaglyph  yellow/blue  half colored (yellow filter on left eye, blue filter on right
                            eye)

                     aybc or anaglyph_yellow_blue_color
                            anaglyph yellow/blue colored (yellow filter on left eye, blue filter on right eye)

                     irl or interleave_rows_left_first
                            Interleaved rows (left eye has top row, right eye starts on next row)

                     irr or interleave_rows_right_first
                            Interleaved rows (right eye has top row, left eye starts on next row)

                     ml or mono_left
                            mono output (left eye only)

                     mr or mono_right
                            mono output (right eye only)

       gradfun[=strength[:radius|:size=<size>]]
              Fix the banding artifacts that are sometimes introduced into nearly flat regions by truncation  to
              8bit color depth. Interpolates the gradients that should go where the bands are, and dithers them.

              <strength>
                     Maximum  amount  by  which  the  filter  will  change any one pixel. Also the threshold for
                     detecting nearly flat regions (default: 1.5).

              <radius>
                     Neighborhood to fit the gradient to. Larger radius makes for smoother gradients,  but  also
                     prevents the filter from modifying pixels near detailed regions (default: disabled).

              <size> size  of  the  filter  in percent of the image diagonal size. This is used to calculate the
                     final radius size (default: 1).

       dlopen=dll[:a0[:a1[:a2[:a3]]]]
              Loads an external library to filter the image. The library interface is  the  vf_dlopen  interface
              specified using libmpcodecs/vf_dlopen.h.

              dll=<library>
                     Specify  the  library to load. This may require a full file system path in some cases. This
                     argument is required.

              a0=<string>
                     Specify the first parameter to pass to the library.

              a1=<string>
                     Specify the second parameter to pass to the library.

              a2=<string>
                     Specify the third parameter to pass to the library.

              a3=<string>
                     Specify the fourth parameter to pass to the library.

       vavpp  VA-AP-API  video  post  processing.  Works  with  --vo=vaapi  and  --vo=opengl   only.   Currently
              deinterlaces.  This  filter  is automatically inserted if deinterlacing is requested (either using
              the D key, by default mapped to the command cycle deinterlace, or the --deinterlace option).

              deint=<method>
                     Select the deinterlacing algorithm.

                     no     Don't perform deinterlacing.

                     first-field
                            Show only first field (going by --field-dominance).

                     bob    bob deinterlacing (default).

ENCODING

       You can encode files from one format/codec to another using this facility.

       -o <filename>
              Enables encoding mode and specifies the output file name.

       --of=<format>
              Specifies the output format (overrides autodetection by  the  file  name  extension  of  the  file
              specified by -o). This can be a comma separated list of possible formats to try. See --of=help for
              a full list of supported formats.

       --ofopts=<options>
              Specifies the output format options for  libavformat.   See  --ofopts=help  for  a  full  list  of
              supported options.

              Options are managed in lists. There are a few commands to manage the options list.

              --ofopts-add=<options1[,options2,...]>
                     Appends the options given as arguments to the options list.

              --ofopts-pre=<options1[,options2,...]>
                     Prepends the options given as arguments to the options list.

              --ofopts-del=<index1[,index2,...]>
                     Deletes  the  options  at  the  given  indexes.  Index numbers start at 0, negative numbers
                     address the end of the list (-1 is the last).

              --ofopts-clr
                     Completely empties the options list.

       --ofps=<float value>
              Specifies the output format time base (default: 24000). Low values like  25  limit  video  fps  by
              dropping frames.

       --oautofps
              Sets  the output format time base to the guessed frame rate of the input video (simulates mencoder
              behavior, useful for AVI; may cause frame drops).  Note that not all codecs and  not  all  formats
              support  VFR encoding, and some which do have bugs when a target bitrate is specified - use --ofps
              or --oautofps to force CFR encoding in these cases.

       --omaxfps=<float value>
              Specifies the minimum distance of adjacent frames (default: 0,  which  means  unset).  Content  of
              lower  frame  rate is not readjusted to this frame rate; content of higher frame rate is decimated
              to this frame rate.

       --oharddup
              If set, the frame rate given by --ofps is attained not by skipping time codes, but by  duplicating
              frames (constant frame rate mode).

       --oneverdrop
              If  set, frames are never dropped. Instead, time codes of video are readjusted to always increase.
              This may cause AV desync, though; to work around this, use a high-fps time base using  --ofps  and
              absolutely avoid --oautofps.

       --oac=<codec>
              Specifies  the  output  audio codec. This can be a comma separated list of possible codecs to try.
              See --oac=help for a full list of supported codecs.

       --oaoffset=<value>
              Shifts audio data by the given time (in seconds) by adding/removing samples at the start.

       --oacopts=<options>
              Specifies the output audio codec options for libavcodec.  See --oacopts=help for a  full  list  of
              supported options.

                 Example

                 --oac=libmp3lame --oacopts=b=128000
                        selects 128kbps MP3 encoding.

              Options are managed in lists. There are a few commands to manage the options list.

              --oacopts-add=<options1[,options2,...]>
                     Appends the options given as arguments to the options list.

              --oacopts-pre=<options1[,options2,...]>
                     Prepends the options given as arguments to the options list.

              --oacopts-del=<index1[,index2,...]>
                     Deletes  the  options  at  the  given  indexes.  Index numbers start at 0, negative numbers
                     address the end of the list (-1 is the last).

              --oacopts-clr
                     Completely empties the options list.

       --oafirst
              Force the audio stream to become the  first  stream  in  the  output.  By  default  the  order  is
              unspecified.

       --ovc=<codec>
              Specifies  the  output  video codec. This can be a comma separated list of possible codecs to try.
              See --ovc=help for a full list of supported codecs.

       --ovoffset=<value>
              Shifts video data by the given time (in seconds) by shifting the pts values.

       --ovcopts <options>
              Specifies the output video codec options for libavcodec.  See --ovcopts=help for a  full  list  of
              supported options.

                 Examples

                 "--ovc=mpeg4 --oacopts=qscale=5"
                        selects constant quantizer scale 5 for MPEG-4 encoding.

                 "--ovc=libx264 --ovcopts=crf=23"
                        selects VBR quality factor 23 for H.264 encoding.

              Options are managed in lists. There are a few commands to manage the options list.

              --ovcopts-add=<options1[,options2,...]>
                     Appends the options given as arguments to the options list.

              --ovcopts-pre=<options1[,options2,...]>
                     Prepends the options given as arguments to the options list.

              --ovcopts-del=<index1[,index2,...]>
                     Deletes  the  options  at  the  given  indexes.  Index numbers start at 0, negative numbers
                     address the end of the list (-1 is the last).

              --ovcopts-clr
                     Completely empties the options list.

       --ovfirst
              Force the video stream to become the  first  stream  in  the  output.  By  default  the  order  is
              unspecified.

       --ocopyts
              Copies  input  pts to the output video (not supported by some output container formats, e.g. AVI).
              Discontinuities are still fixed.  By default, audio pts are set to playback time and video pts are
              synchronized to match audio pts, as some output formats do not support anything else.

       --orawts
              Copies  input  pts to the output video (not supported by some output container formats, e.g. AVI).
              In this mode, discontinuities are not fixed and all pts  are  passed  through  as-is.  Never  seek
              backwards or use multiple input files in this mode!

INPUT.CONF

       The input.conf file consists of a list of key bindings, for example:

          s screenshot      # take a screenshot with the s key

       Each  line  maps  a  key  to an input command. Keys are specified with their literal value (upper case if
       combined with Shift), or a name for special keys. For example, a maps to the a key without shift,  and  A
       maps to a with shift.

       A list of special keys can be obtained with
          mpv --input-keylist

       In general, keys can be combined with Shift, Ctrl and Alt:

          ctrl+q quit

       mpv  can  be started in input test mode, which displays key bindings and the commands they're bound to on
       the OSD, instead of executing the commands:

          mpv --input-test --demuxer=rawvideo --demuxer-rawvideo=w=1280:h=720 /dev/zero

       (Commands which normally close the player will not work in this mode, and you must kill mpv externally to
       make it exit.)

   General Input Command Syntax
       [Shift+][Ctrl+][Alt+][Meta+]<key> [{<section>}] [<prefixes>] <command> (<argument>)* [; <command>]

       Note  that  by  default,  the  right  Alt key can be used to create special characters, and thus does not
       register as a modifier. The option --no-right-alt-gr changes this behavior.

       Newlines always start a new binding. # starts a comment (outside of quoted  string  arguments).  To  bind
       commands to the # key, SHARP can be used.

       <key>  is  either the literal character the key produces (ASCII or Unicode character), or a symbolic name
       (as printed by --input-keylist).

       <section> (braced with { and }) is the input section for this command.

       Arguments are separated by whitespace. This applies even to string arguments.  For  this  reason,  string
       arguments should be quoted with ". Inside quotes, C-style escaping can be used.

       You can bind multiple commands to one key. For example:
       a show_text "command 1" ; show_text "command 2"

       Note  that  some  magic  is disabled for keys: seek commands inside lists are not coalesced (seeking will
       appear slower), and no check is done for abort commands  (so  these  commands  can't  be  used  to  abort
       playback if the network cache is stuck).

   List of Input Commands
       ignore Use  this  to  "block"  keys  that should be unbound, and do nothing. Useful for disabling default
              bindings, without disabling all bindings with --no-input-default-bindings.

       seek <seconds> [relative|absolute|absolute-percent|- [default-precise|exact|keyframes]]
              Change the playback position. By default, seeks by a relative amount of seconds.

              The second argument sets the seek mode:

              relative (default)
                     Seek relative to current position (a negative value seeks backwards).

              absolute
                     Seek to a given time.

              absolute-percent
                     Seek to a given percent position.

              The third argument defines how exact the seek is:

              default-precise (default)
                     Follow the default behavior as set by --hr-seek, which  by  default  does  imprecise  seeks
                     (like keyframes).

              exact  Always do exact/hr/precise seeks (slow).

              keyframes
                     Always restart playback at keyframe boundaries (fast).

       revert_seek
              Undoes  the  seek  command,  and  some other commands that seek (but not necessarily all of them).
              Calling this command once will jump to the playback position before the seek. Calling it a  second
              time undoes the revert_seek command itself.

       frame_step
              Play one frame, then pause.

       frame_back_step
              Go  back  by  one  frame, then pause. Note that this can be very slow (it tries to be precise, not
              fast), and sometimes fails to behave as expected. How well this works depends on  whether  precise
              seeking  works  correctly  (e.g.  see the --hr-seek-demuxer-offset option). Video filters or other
              video postprocessing that modifies timing of frames (e.g. deinterlacing) should usually work,  but
              might make backstepping silently behave incorrectly in corner cases.

              This does not work with audio-only playback.

       set <property> <value>
              Set the given property to the given value.

       add <property> [<value>]
              Add  the given value to the property. On overflow or underflow, clamp the property to the maximum.
              If <value> is omitted, assume 1.

       cycle <property> [up|down]
              Cycle the given property. up and down set the cycle direction. On overflow, set the property  back
              to the minimum, on underflow set it to the maximum. If up or down is omitted, assume up.

       multiply <property> <factor>
              Multiplies the value of a property with the numeric factor.

       screenshot [subtitles|video|window|- [single|each-frame]]
              Take a screenshot.

              First argument:

              <subtitles> (default)
                     Save  the  video image, in its original resolution, and with subtitles.  Some video outputs
                     may still include the OSD in the output under certain circumstances.

              <video>
                     Like subtitles, but typically without OSD or subtitles. The exact behavior depends  on  the
                     selected video output.

              <window>
                     Save  the  contents  of the mpv window. Typically scaled, with OSD and subtitles. The exact
                     behavior depends on the selected video output, and if no support is  available,  this  will
                     act like video.

              Second argument:

              <single> (default)
                     Take a single screenshot.

              <each-frame>
                     Take a screenshot each frame. Issue this command again to stop taking screenshots.

       screenshot_to_file <filename> [subtitles|video|window]
              Take  a  screenshot  and  save  it  to a given file. The format of the file will be guessed by the
              extension (and --screenshot-format is ignored - the behavior when  the  extension  is  missing  or
              unknown is arbitrary).

              The second argument is like the first argument to screenshot.

              This command tries to never overwrite files. If the file already exists, it fails.

              Like  all  input command parameters, the filename is subject to property expansion as described in
              Property Expansion.

       playlist_next [weak|force]
              Go to the next entry on the playlist.

              weak (default)
                     If the last file on the playlist is currently played, do nothing.

              force  Terminate playback if there are no more files on the playlist.

       playlist_prev [weak|force]
              Go to the previous entry on the playlist.

              weak (default)
                     If the first file on the playlist is currently played, do nothing.

              force  Terminate playback if the first file is being played.

       loadfile <file> [replace|append]
              Load the given file and play it.

              Second argument:

              <replace> (default)
                     Stop playback of the current file, and play the new file immediately.

              <append>
                     Append the file to the playlist.

       loadlist <playlist> [replace|append]
              Load the given playlist file (like --playlist).

       playlist_clear
              Clear the playlist, except the currently played file.

       playlist_remove current|<index>
              Remove the playlist entry at the given index. Index values start  counting  with  0.  The  special
              value  current removes the current entry. Note that removing the current entry also stops playback
              and starts playing the next entry.

       playlist_move <index1> <index2>
              Move the playlist entry at index1, so that it takes the place of the entry index2. (Paradoxically,
              the  moved  playlist  entry  will not have the index value index2 after moving if index1 was lower
              than index2, because index2 refers to the target entry, not the index the entry  will  have  after
              moving.)

       run command arg1 arg2 ...
              (Unix  only)  Run the given command. Unlike in MPlayer/mplayer2 and earlier versions of mpv (0.2.x
              and older), this doesn't call the shell. Instead, the command is run directly, with each  argument
              passed  separately.  Each  argument  is  expanded like in Property Expansion. Note that there is a
              static limit of (as of this writing) 10 arguments (this limit could be raised on demand).

              The program is run in a detached way. mpv  doesn't  wait  until  the  command  is  completed,  but
              continues playback right after spawning it.

              To get the old behavior, use /bin/sh and -c as the first two arguments.

                 Example

                        run "/bin/sh" "-c" "echo ${title} > /tmp/playing"

                        This  is  not  a  particularly  good  example, because it doesn't handle escaping, and a
                        specially prepared file might allow an attacker to execute arbitrary shell commands.  It
                        is recommended to write a small shell script, and call that with run.

       quit [<code>]
              Exit the player using the given exit code.

       quit_watch_later
              Exit  player,  and  store  current  playback  position.  Playing  that file later will seek to the
              previous position on start.

       sub_add <file>
              Load the given subtitle file. It is not selected as current subtitle after loading.

       sub_remove [<id>]
              Remove the given subtitle track. If the id argument is missing, remove the current  track.  (Works
              on external subtitle files only.)

       sub_reload [<id>]
              Reload  the given subtitle tracks. If the id argument is missing, remove the current track. (Works
              on external subtitle files only.)

              This works by unloading and re-adding the subtitle track.

       sub_step <skip>
              Change subtitle timing such, that the subtitle event after the  next  <skip>  subtitle  events  is
              displayed. <skip> can be negative to step backwards.

       sub_seek <skip>
              Seek  to  the  next (skip set to 1) or the previous (skip set to -1) subtitle.  This is similar to
              sub_step, except that it seeks video and audio instead of adjusting the subtitle delay.

              Like with sub_step, this works with external text subtitles  only.  For  embedded  text  subtitles
              (like with Matroska), this works only with subtitle events that have already been displayed.

       osd [<level>]
              Toggle OSD level. If <level> is specified, set the OSD mode (see --osd-level for valid values).

       print_text <string>
              Print text to stdout. The string can contain properties (see Property Expansion).

       show_text <string> [<duration>|- [<level>]]
              Show  text  on  the  OSD.  The  string  can contain properties, which are expanded as described in
              Property Expansion. This can be used to show playback time, filename, and so on.

              <duration>
                     The time in  ms  to  show  the  message  for.  By  default,  it  uses  the  same  value  as
                     --osd-duration.

              <level>
                     The minimum OSD level to show the text at (see --osd-level).

       show_progress
              Show the progress bar, the elapsed time and the total duration of the file on the OSD.

   Input Commands that are Possibly Subject to Change
       af set|add|toggle|del|clr filter1=params,filter2,...
              Change audio filter chain. See vf command.

       vf set|add|toggle|del|clr filter1=params,filter2,...
              Change video filter chain.

              The first argument decides what happens:

              set    Overwrite the previous filter chain with the new one.

              add    Append the new filter chain to the previous one.

              toggle Check  if  the  given  filter (with the exact parameters) is already in the video chain. If
                     yes, remove the filter. If no, add the filter.  (If  several  filters  are  passed  to  the
                     command, this is done for each filter.)

              del    Remove  the  given  filters  from  the  video  chain. Unlike in the other cases, the second
                     parameter is a comma separated list of filter names or integer indexes. 0 would denote  the
                     first filter. Negative indexes start from the last filter, and -1 denotes the last filter.

              clr    Remove  all  filters.  Note  that  like  the  other  sub-commands,  this  does  not control
                     automatically inserted filters.

              You can assign labels to filter by prefixing  them  with  @name:  (where  name  is  a  user-chosen
              arbitrary  identifier).  Labels can be used to refer to filters by name in all of the filter chain
              modification commands.  For add, using an already used label will replace the existing filter.

              The vf command shows the list of requested filters on the OSD after  changing  the  filter  chain.
              This  is  roughly  equivalent  to  show_text  ${vf}.  Note  that  auto-inserted filters for format
              conversion are not shown on the list, only what was requested by the user.

                 Example for input.conf

                 • a vf set flip turn video upside-down on the a key

                 • b vf set "" remove all video filters on bc vf toggle lavfi=gradfun toggle debanding on c

       cycle_values ["!reverse"] <property> <value1> <value2> ...
              Cycle through a list of values. Each invocation of the command will set the given property to  the
              next  value  in  the list. The command maintains an internal counter which value to pick next, and
              which is initially 0. It is reset to 0 once the last value is reached.

              The internal counter is associated using the  property  name  and  the  value  list.  If  multiple
              commands  (bound to different keys) use the same name and value list, they will share the internal
              counter.

              The special argument !reverse can be used to cycle the value list  in  reverse.  Compared  with  a
              command  that  just  lists  the  value  in  reverse, this command will actually share the internal
              counter with the forward-cycling key binding.

              Note that there is a static limit of (as of this writing) 10 arguments (this limit could be raised
              on demand).

       enable_section <section> [default|exclusive]
              Enable all key bindings in the named input section.

              The  enabled  input  sections  form  a  stack.  Bindings  in  sections on the top of the stack are
              preferred to lower sections. This command puts the section on top of the stack. If the section was
              already  on the stack, it is implicitly removed beforehand. (A section cannot be on the stack more
              than once.)

              If exclusive is specified as second argument, all sections below the  newly  enabled  section  are
              disabled. They will be re-enabled as soon as all exclusive sections above them are removed.

       disable_section <section>
              Disable the named input section. Undoes enable_section.

       overlay_add <id> <x> <y> <file> <offset> <fmt> <w> <h> <stride>
              Add  an  OSD  overlay  sourced  from  raw  data. This might be useful for scripts and applications
              controlling mpv, and which want to display things on top of the video window.

              Overlays are usually displayed in screen resolution, but with some VOs, the resolution is  reduced
              to  that  of  the  video's.  You  can  read the osd-width and osd-height properties. At least with
              --vo-xv and anamorphic video (such as DVD), osd-par should be read as well, and the overlay should
              be  aspect-compensated.  (Future  directions:  maybe  mpv should take care of some of these things
              automatically, but it's hard to tell where to draw the line.)

              id is an integer between 0 and 63 identifying the overlay element. The  ID  can  be  used  to  add
              multiple  overlay  parts,  update  a part by using this command with an already existing ID, or to
              remove a part with overlay_remove. Using a previously unused ID will  add  a  new  overlay,  while
              reusing  an  ID  will update it. (Future directions: there should be something to ensure different
              programs wanting to create overlays don't conflict with each others, should that ever be needed.)

              x and y specify the position where the OSD should be displayed.

              file specifies the file the raw image data is read from. It can be  either  a  numeric  UNIX  file
              descriptor  prefixed  with  @  (e.g.  @4), or a filename. The file will be mapped into memory with
              mmap(). Some VOs will pass the mapped pointer directly to display APIs (e.g. opengl or vdpau),  so
              no  actual  copying is involved. Truncating the source file while the overlay is active will crash
              the player. You shouldn't change the data while  the  overlay  is  active,  because  the  data  is
              essentially  accessed  at  random  points.  Instead,  call  overlay_add  again  (preferably with a
              different memory region to prevent tearing).

              offset is the offset of the first pixel in the source file. It is passed directly to mmap  and  is
              subject  to certain restrictions (see man mmap for details). In particular, this value has to be a
              multiple of the system's page size.

              fmt is a string identifying the image format. Currently, only bgra is defined. This format  has  4
              bytes  per pixels, with 8 bits per component.  The least significant 8 bits are blue, and the most
              significant 8 bits are alpha (in little endian, the components are B-G-R-A, with B as first byte).
              This  uses  premultiplied  alpha:  every  color  component  is  already  multiplied with the alpha
              component. This means the numeric value of each component is equal to or smaller  than  the  alpha
              component.  (Violating  this  rule  will  lead  to  different  results with different VOs: numeric
              overflows resulting from blending broken alpha  values  is  considered  something  that  shouldn't
              happen,  and  consequently  implementations don't ensure that you get predictable behavior in this
              case.)

              w, h, and stride specify the size of the overlay. w is the visible width  of  the  overlay,  while
              stride  gives  the  width  in  bytes  in  memory.  In  the  simple case, and with the bgra format,
              stride==4*w.  In general, the total amount of memory accessed is stride *  h.   (Technically,  the
              minimum  size  would  be  stride * (h - 1) + w * 4, but for simplicity, the player will access all
              stride * h bytes.)

                 Warning

                        When updating the overlay, you should prepare a second shared memory region  (e.g.  make
                        use of the offset parameter) and add this as overlay, instead of reusing the same memory
                        every time. Otherwise, you might get the equivalent of tearing,  when  your  application
                        and mpv write/read the buffer at the same time. Also, keep in mind that mpv might access
                        an overlay's memory at random times whenever it feels the need to  do  so,  for  example
                        when redrawing the screen.

       overlay_remove <id>
              Remove  an overlay added with overlay_add and the same ID. Does nothing if no overlay with this ID
              exists.

       Undocumented commands: tv_start_scan, tv_step_channel,  tv_step_norm,  tv_step_chanlist,  tv_set_channel,
       tv_last_channel, tv_set_freq, tv_step_freq, tv_set_norm, dvb_set_channel (all of these should be replaced
       by properties), stop (questionable use), get_property (?), vo_cmdline (experimental).

   Input Command Prefixes
       These prefixes are placed between key name and the actual command. Multiple prefixes  can  be  specified.
       They are separated by whitespace.

       osd-auto (default)
              Use the default behavior for this command.

       no-osd Do not use any OSD for this command.

       osd-bar
              If  possible,  show  a  bar  with this command. Seek commands will show the progress bar, property
              changing commands may show the newly set value.

       osd-msg
              If possible, show an OSD message with this command. Seek command show the current  playback  time,
              property changing commands show the newly set value as text.

       osd-msg-bar
              Combine osd-bar and osd-msg.

       raw    Do not expand properties in string arguments. (Like "${property-name}".)

       expand-properties (default)
              All string arguments are expanded as described in Property Expansion.

       All of the osd prefixes are still overridden by the global --osd-level settings.

       Undocumented  prefixes:  pausing, pausing_keep, pausing_toggle, pausing_keep_force. (Should these be made
       official?)

   Input Sections
       Input sections group a set of bindings, and enable or disable them at  once.   In  input.conf,  each  key
       binding is assigned to an input section, rather than actually having explicit text sections.

       Also see enable_section and disable_section commands.

       Predefined bindings:

       default
              Bindings  without  input section are implicitly assigned to this section. It is enabled by default
              during normal playback.

       encode Section which is active in encoding mode. It is enabled  exclusively,  so  that  bindings  in  the
              default sections are ignored.

   Properties
       Properties  are  used  to  set mpv options during runtime, or to query arbitrary information. They can be
       manipulated with the set/add/cycle commands, and retrieved with show_text, or  anything  else  that  uses
       property expansion. (See Property Expansion.)

       The  W  column  indicates  whether  the  property  is generally writable. If an option is referenced, the
       property should take/return exactly the same values as the option.

                            ┌───────────────────────────┬───┬──────────────────────────────┐
                            │Name                       │ W │ Comment                      │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │osd-level                  │ x │ see --osd-level              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │osd-scale                  │ x │ osd font size multiplicator, │
                            │                           │   │ see --osd-scale              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │loop                       │ x │ see --loop                   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │speed                      │ x │ see --speed                  │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │filename                   │   │ currently  played file (path │
                            │                           │   │ stripped)                    │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │path                       │   │ currently played file  (full │
                            │                           │   │ path)                        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │media-title                │   │ filename,   title   tag,  or │
                            │                           │   │ libquvi QUVIPROP_PAGETITLE   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │demuxer                    │   │                              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │stream-path                │   │ filename  (full   path)   of │
                            │                           │   │ stream layer filename        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │stream-pos                 │ x │ byte   position   in  source │
                            │                           │   │ stream                       │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │stream-start               │   │ start byte offset in  source │
                            │                           │   │ stream                       │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │stream-end                 │   │ end  position  in  bytes  in │
                            │                           │   │ source stream                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │stream-length              │   │ length       in        bytes │
                            │                           │   │ (${stream-end}             - │
                            │                           │   │ ${stream-start})             │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │stream-time-pos            │ x │ time  position   in   source │
                            │                           │   │ stream (also see time-pos)   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │length                     │   │ length  of  the current file │
                            │                           │   │ in seconds                   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │avsync                     │   │ last   A/V   synchronization │
                            │                           │   │ difference                   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │percent-pos                │ x │ position   in  current  file │
                            │                           │   │ (0-100)                      │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │ratio-pos                  │ x │ position  in  current   file │
                            │                           │   │ (0.0-1.0)                    │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │time-pos                   │ x │ position  in current file in │
                            │                           │   │ seconds                      │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │time-remaining             │   │ estimated  remaining  length │
                            │                           │   │ of the file in seconds       │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │playtime-remaining         │   │ time-remaining scaled by the │
                            │                           │   │ the current speed            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │chapter                    │ x │ current chapter number       │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │edition                    │ x │ current MKV edition number   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │titles                     │   │ number of DVD titles         │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │chapters                   │   │ number of chapters           │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │editions                   │   │ number of MKV editions       │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │angle                      │ x │ current DVD angle            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │metadata                   │   │ metadata key/value pairs     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │metadata/<key>             │   │ value  of   metadata   entry │
                            │                           │   │ <key>                        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │chapter-metadata           │   │ metadata  of current chapter │
                            │                           │   │ (works similar)              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │pause                      │ x │ pause status (bool)          │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │cache                      │   │ network  cache  fill   state │
                            │                           │   │ (0-100)                      │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │pts-association-mode       │ x │ see --pts-association-mode   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │hr-seek                    │ x │ see --hr-seek                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │volume                     │ x │ current volume (0-100)       │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │mute                       │ x │ current mute status (bool)   │
                            └───────────────────────────┴───┴──────────────────────────────┘

                            │audio-delay                │ x │ see --audio-delay            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │audio-format               │   │ audio format (string)        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │audio-codec                │   │ audio   codec  selected  for │
                            │                           │   │ decoding                     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │audio-bitrate              │   │ audio bitrate                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │samplerate                 │   │ audio samplerate             │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │channels                   │   │ number of audio channels     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │aid                        │ x │ current audio track (similar │
                            │                           │   │ to --aid)                    │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │audio                      │ x │ alias for aid                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │balance                    │ x │ audio channel balance        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │fullscreen                 │ x │ see --fullscreen             │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │deinterlace                │ x │ similar to --deinterlace     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │colormatrix                │ x │ see --colormatrix            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │colormatrix-input-range    │ x │ see                          │
                            │                           │   │ --colormatrix-input-range    │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │colormatrix-output-range   │ x │ see                          │
                            │                           │   │ --colormatrix-output-range   │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │ontop                      │ x │ see --ontop                  │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │border                     │ x │ see --border                 │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │framedrop                  │ x │ see --framedrop              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │gamma                      │ x │ see --gamma                  │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │brightness                 │ x │ see --brightness             │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │contrast                   │ x │ see --contrast               │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │saturation                 │ x │ see --saturation             │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │hue                        │ x │ see --hue                    │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │panscan                    │ x │ see --panscan                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-format               │   │ video format (string)        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-codec                │   │ video   codec  selected  for │
                            │                           │   │ decoding                     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-bitrate              │   │ video bitrate                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │width                      │   │ video  width  (container  or │
                            │                           │   │ decoded size)                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │height                     │   │ video height                 │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │fps                        │   │ container  FPS  (may contain │
                            │                           │   │ bogus values)                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │dwidth                     │   │ video width  (after  filters │
                            │                           │   │ and aspect scaling)          │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │dheight                    │   │ video height                 │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │window-scale               │ x │ window  size  multiplier  (1 │
                            │                           │   │ means video size)            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │aspect                     │ x │ video aspect                 │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │osd-width                  │   │ last known OSD width (can be │
                            │                           │   │ 0)                           │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │osd-height                 │   │ last  known  OSD height (can │
                            │                           │   │ be 0)                        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │osd-par                    │   │ last known OSD display pixel │
                            │                           │   │ aspect (can be 0)            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │vid                        │ x │ current video track (similar │
                            │                           │   │ to --vid)                    │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video                      │ x │ alias for vid                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-align-x              │ x │ see --video-align-x          │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-align-y              │ x │ see --video-align-y          │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-pan-x                │ x │ see --video-pan-x            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-pan-y                │ x │ see --video-pan-y            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-zoom                 │ x │ see --video-zoom             │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │video-unscaled             │ x │ see --video-unscaled         │
                            └───────────────────────────┴───┴──────────────────────────────┘

                            │program                    │ x │ switch      TS       program │
                            │                           │   │ (write-only)                 │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │sid                        │ x │ current    subtitle    track │
                            │                           │   │ (similar to --sid)           │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │secondary-sid              │ x │ secondary   subtitle   track │
                            │                           │   │ (--secondary-sid)            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │sub                        │ x │ alias for sid                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │sub-delay                  │ x │ see --sub-delay              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │sub-pos                    │ x │ see --sub-pos                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │sub-visibility             │ x │ see --sub-visibility         │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │sub-forced-only            │ x │ see --sub-forced-only        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │sub-scale                  │ x │ subtitle      font      size │
                            │                           │   │ multiplicator                │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │ass-use-margins            │ x │ see --ass-use-margins        │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │ass-vsfilter-aspect-compat │ x │ see                          │
                            │                           │   │ --ass-vsfilter-aspect-compat │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │ass-style-override         │ x │ see --ass-style-override     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │stream-capture             │ x │ a filename, see --capture    │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │tv-brightness              │ x │                              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │tv-contrast                │ x │                              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │tv-saturation              │ x │                              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │tv-hue                     │ x │                              │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │playlist-pos               │   │ current position on playlist │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │playlist-count             │   │ number   of  total  playlist │
                            │                           │   │ entries                      │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │playlist                   │   │ playlist,   current    entry │
                            │                           │   │ marked                       │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │track-list                 │   │ list    of   audio/video/sub │
                            │                           │   │ tracks, current entry marked │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │chapter-list               │   │ list  of  chapters,  current │
                            │                           │   │ entry marked                 │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │quvi-format                │ x │ see --quvi-format            │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │af                         │ x │ see --af                     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │vf                         │ x │ see --vf                     │
                            ├───────────────────────────┼───┼──────────────────────────────┤
                            │options/name               │   │ read-only access to value of │
                            │                           │   │ option --name                │
                            └───────────────────────────┴───┴──────────────────────────────┘

   Property Expansion
       All string arguments to input commands as well as certain options (like  --playing-msg)  are  subject  to
       property expansion.

          Example for input.conf

          i show_text Filename: ${filename}
                 shows the filename of the current file when pressing the i key

       Within input.conf, property expansion can be inhibited by putting the raw prefix in front of commands.

       The following expansions are supported:

       ${NAME}
              Expands  to  the  value of the property NAME. If retrieving the property fails, expand to an error
              string. (Use ${NAME:} with a trailing : to expand  to  an  empty  string  instead.)   If  NAME  is
              prefixed with =, expand to the raw value of the property (see section below).

       ${NAME:STR}
              Expands  to  the  value  of  the property NAME, or STR if the property cannot be retrieved. STR is
              expanded recursively.

       ${?NAME:STR}
              Expands to STR (recursively) if the property NAME is available.

       ${!NAME:STR}
              Expands to STR (recursively) if the property NAME cannot be retrieved.

       ${?NAME==VALUE:STR}
              Expands to STR (recursively) if the property NAME expands to a string  equal  to  VALUE.  You  can
              prefix  NAME  with  =  in order to compare the raw value of a property (see section below). If the
              property is unavailable, or other errors happen when retrieving it, the value is never  considered
              equal.   Note  that  VALUE  can't contain any of the characters : or }.  Also, it is possible that
              escaping with " or % might be added in the future, should the need arise.

       ${!NAME==VALUE:STR}
              Same as with the ? variant, but STR is expanded if  the  value  is  not  equal.  (Using  the  same
              semantics as with ?.)

       $$     Expands to $.

       $}     Expands to }. (To produce this character inside recursive expansion.)

       $>     Disable property expansion and special handling of $ for the rest of the string.

       In places where property expansion is allowed, C-style escapes are often accepted as well. Example:

          • \n becomes a newline character

          • \\ expands to \

   Raw and Formatted Properties
       Normally,  properties  are  formatted  as  human-readable  text,  meant  to be displayed on OSD or on the
       terminal. It is possible to retrieve an unformatted (raw) value from a property  by  prefixing  its  name
       with  =.  These raw values can be parsed by other programs and follow the same conventions as the options
       associated with the properties.

          Examples

          • ${time-pos} expands to 00:14:23 (if playback position is at 14 minutes 23 seconds)

          • ${=time-pos} expands to 863.4 (same time, plus 400 milliseconds  -  milliseconds  are  normally  not
            shown in the formatted case)

       Sometimes,  the  difference  in amount of information carried by raw and formatted property values can be
       rather big. In some cases, raw values have more information, like  higher  precision  than  seconds  with
       time-pos.  Sometimes it is the other way around, e.g. aid shows track title and language in the formatted
       case, but only the track number if it is raw.

ON SCREEN CONTROLLER

       The  On  Screen  Controller  (short:  OSC)  is  a  minimal  GUI  integrated  with  mpv  to  offer   basic
       mouse-controllability.  It is intended to make interaction easier for new users and to enable precise and
       direct seeking.

       The OSC is enabled by default if mpv was compiled with lua support. It can be disabled entirely using the
       --osc=no option.

   Using the OSC
       By  default,  the  OSC will show up whenever the mouse is moved inside the player window and will hide if
       the mouse is not moved outside the OSC for 0.5 seconds or if the mouse leaves the window.

   The Interface
          +------------------+-----------+--------------------+
          | playlist prev    |   title   |      playlist next |
          +-------+------+---+--+------+-+----+------+--------+
          | audio | skip | seek |      | seek | skip |  full  |
          +-------+ back | back | play | frwd | frwd | screen |
          | sub   |      |      |      |      |      |        |
          +-------+------+------+------+------+------+--------+
          |                     seekbar                       |
          +----------------+--------------+-------------------+
          | time passed    | cache status |    time remaining |
          +----------------+--------------+-------------------+

       playlist prev

                                       ┌──────────────┬────────────────────────────────┐
                                       │left-click    │ play previous file in playlist │
                                       ├──────────────┼────────────────────────────────┤
                                       │shift+L-click │ show playlist                  │
                                       └──────────────┴────────────────────────────────┘

       title
              Displays current media-title or filename

                                    ┌────────────┬───────────────────────────────────────┐
                                    │left-click  │ show playlist position and length and │
                                    │            │ full title                            │
                                    ├────────────┼───────────────────────────────────────┤
                                    │right-click │ show filename                         │
                                    └────────────┴───────────────────────────────────────┘

       playlist next

                                         ┌──────────────┬────────────────────────────┐
                                         │left-click    │ play next file in playlist │
                                         ├──────────────┼────────────────────────────┤
                                         │shift+L-click │ show playlist              │
                                         └──────────────┴────────────────────────────┘

       audio and sub
              Displays selected track and amount of available tracks

                                      ┌──────────────┬──────────────────────────────────┐
                                      │left-click    │ cycle audio/sub tracks forward   │
                                      ├──────────────┼──────────────────────────────────┤
                                      │right-click   │ cycle audio/sub tracks backwards │
                                      ├──────────────┼──────────────────────────────────┤
                                      │shift+L-click │ show available audio/sub tracks  │
                                      └──────────────┴──────────────────────────────────┘

       skip back

                                   ┌──────────────┬───────────────────────────────────────┐
                                   │left-click    │ go to beginning of chapter / previous │
                                   │              │ chapter                               │
                                   ├──────────────┼───────────────────────────────────────┤
                                   │shift+L-click │ show chapters                         │
                                   └──────────────┴───────────────────────────────────────┘

       seek back

                                            ┌──────────────┬──────────────────────┐
                                            │left-click    │ skip back  5 seconds │
                                            ├──────────────┼──────────────────────┤
                                            │right-click   │ skip back 30 seconds │
                                            ├──────────────┼──────────────────────┤
                                            │shift-L-click │ skip back  1 frame   │
                                            └──────────────┴──────────────────────┘

       play

                                               ┌───────────┬───────────────────┐
                                               │left-click │ toggle play/pause │
                                               └───────────┴───────────────────┘

       seek frwd

                                          ┌──────────────┬─────────────────────────┐
                                          │left-click    │ skip forward 10 seconds │
                                          ├──────────────┼─────────────────────────┤
                                          │right-click   │ skip forward 60 seconds │
                                          ├──────────────┼─────────────────────────┤
                                          │shift-L-click │ skip forward  1 frame   │
                                          └──────────────┴─────────────────────────┘

       skip frwd

                                             ┌──────────────┬────────────────────┐
                                             │left-click    │ go to next chapter │
                                             ├──────────────┼────────────────────┤
                                             │shift+L-click │ show chapters      │
                                             └──────────────┴────────────────────┘

       fullscreen

                                               ┌───────────┬───────────────────┐
                                               │left-click │ toggle fullscreen │
                                               └───────────┴───────────────────┘

       seekbar
              Indicates current playback position and position of chapters

                                               ┌───────────┬──────────────────┐
                                               │left-click │ seek to position │
                                               └───────────┴──────────────────┘

       time passed
              Shows current playback position timestamp

                                     ┌───────────┬───────────────────────────────────────┐
                                     │left-click │ toggle  displaying   timecodes   with │
                                     │           │ milliseconds                          │
                                     └───────────┴───────────────────────────────────────┘

       cache status
              Shows current cache fill status (only visible when below 45%)

       time remaining
              Shows remaining playback time timestamp

                                     ┌───────────┬───────────────────────────────────────┐
                                     │left-click │ toggle  between  total  and remaining │
                                     │           │ time                                  │
                                     └───────────┴───────────────────────────────────────┘

   Configuration
       The OSC offers limited configuration through a config file plugin_osc.conf placed in mpv's user dir.

   Config Syntax
       The config file must exactly follow the following syntax:

          # this is a comment
          parameter1=value1
          parameter2=value2

       # can only be used at the beginning of a line and there may be no spaces around the = or anywhere else.

   Configurable parameters
       showwindowed
              Default: yes
              Show OSC when windowed?

       showfullscreen
              Default: yes
              Show OSC when fullscreen?

       scalewindowed
              Default: 1
              Scaling of the controller when windowed

       scalefullscreen
              Default: 1
              Scaling of the controller when fullscreen

       scaleforcedwindow
              Default: 2
              Scaling of the controller when rendered on a forced (dummy) window

       vidscale
              Default: yes
              Scale the controller with the video?

       valign
              Default: 0.8
              Vertical alignment, -1 (top) to 1 (bottom)

       halign
              Default: 0
              Horizontal alignment, -1 (left) to 1 (right)

       boxalpha
              Default: 80
              Alpha of the background box, 0 (opaque) to 255 (fully transparent)

       hidetimeout
              Default: 500
              Duration in ms until the OSC hides if no mouse movement, negative value
              disables auto-hide

       fadeduration
              Default: 200
              Duration of fade out in ms, 0 = no fade

       deadzonesize
              Default: 0
              Size of the deadzone. The deadzone is an area that makes the mouse act
              like leaving the window. Movement there won't make the OSC show up and
              it will hide immediately if the mouse enters it.

       minmousemove
              Default: 3
              Minimum amount of pixels the mouse has to move between ticks to make
              the OSC show up

LUA SCRIPTING

       mpv can load Lua scripts. These scripts can be used to control mpv in a similar way to  slave  mode.  mpv
       provides  the  builtin  module  mp  (can  be  loaded with require 'mp'), which provides functions to send
       commands to the mpv  core  and  to  retrieve  information  about  playback  state,  user  settings,  file
       information, and so on.

          Warning

                 Lua  scripting  is work in progress, and it's in a very early stage. When writing scripts, rely
                 only on the features and functions documented here.  Everything else is subject to change.

          Warning

                 Nothing is finished and documented yet.

CHANGES FROM OTHER VERSIONS OF MPLAYER

       mpv is based on mplayer2, which  in  turn  is  based  on  the  original  MPlayer  (also  called  mplayer,
       mplayer-svn,  mplayer1). Many changes have been made. Some changes are incompatible, or completely change
       how the player behaves.

   General Changes for MPlayer to mplayer2
       • Removal of the internal GUI, MEncoder, OSD menu

       • Better pause handling (do not unpause on a command)

       • Better MKV support (such as ordered chapters)

       • vo_vdpau improvements

       • Precise seeking support

       • No embedded copy of ffmpeg and other libraries

       • Native OpenGL backend for OSX

       • General OSX improvements

       • Improvements in audio/video sync handling

       • Cleaned up terminal output

       • Gapless audio support (--gapless-audio)

       • Improved responsiveness on user input

       • Support for modifier keys (alt, shift, ctrl) in input.conf

       • OSS4 volume control

       • More correct color reproduction (color matrix generation)

       • Use libass for subtitle rendering by default (better quality)

       • Generally preferring ffmpeg/libav over internal demuxers and decoders

       • Improvements when playing multiple files (--fixed-vo)

       • Screenshot improvements (instant screenshots without 1-frame delay, allow taking screenshots even  with
         hardware decoding)

       • Improved support for PulseAudio

       • General code cleanups

       • Many more changes

   General Changes for mplayer2 to mpv
       • Switch back to GPLv2+.

       • Removal  of  lots of unneeded code to encourage developer activity (less obscure scary zombie code that
         kills any desire for hacking the codebase)

       • Removal of dust and dead bodies (code-wise), such as kernel drivers for decades old hardware

       • Removal of support for dead platforms

       • Generally improved MS Windows support (dealing with unicode filenames, improved --vo=direct3d, improved
         window handling)

       • Better OSD rendering (using libass). This has full unicode support, and languages like Arabic should be
         better supported.

       • Cleaned up terminal output (nicer status line, less useless noise)

       • Support    for    playing    URLs    of    popular    streaming    sites     directly     (e.g.     mpv
         https://www.youtube.com/watch?v=...)

       • Improved OpenGL output (--vo=opengl-hq)

       • Make --softvol default (mpv is not a mixer control panel)

       • Improved support for .cue files

       • Screenshot improvements (can save screenshots as JPG or PNG, configurable filenames, support for taking
         screenshots with or without subtitles - the screenshot video filter is not needed anymore,  and  should
         not be put into the mpv config file)

       • Removal of teletext support

       • Removal of most builtin demuxers, using libavformat instead

       • Removal of builtin network support, using libavformat instead (also, support https via libavformat)

       • Replace image VOs (--vo=jpeg etc.) with --vo=image

       • Do not lose settings when playing a new file in the same player instance

       • New location for config files, new name for the binary.

       • Slave mode compatibility broken (see below)

       • Encoding functionality (replacement for mencoder, see DOCS/encoding.rst)

       • Remove  --vo=gif89a,  --vo=md5sum, --vo=yuv4mpeg, as encoding can handle these use cases. For yuv4mpeg,
         for example, use: mpv input.mkv -o output.y4m --no-audio --oautofps --oneverdrop.

       • Image subtitles (DVDs etc.) are rendered in color and  use  more  correct  positioning  (color  can  be
         disabled with --sub-gray)

       • Wayland support

       • Support  for  precise  scrolling  which  scales the parameter of commands. If the input doesn't support
         precise scrolling the scale factor stays 1.

       • OSX: Cocoa event loop is independent from mplayer's event loop, so user actions  like  accessing  menus
         and live resizing do not block the playback.

       • OSX: Apple Remote support.

       • OSX: Media Keys support.

       • Windows: Added WASAPI audio output.

       • New  OSD  bar  with  chapter  marks  and  not positioned in the middle of the video (though this can be
         customized with the --osd-bar-align-y option).

       • Allow customizing whether a key binding for seeking shows the video time, the OSD bar, or nothing  (see
         section Input Command Prefixes).

       • Display list of chapters and audio/subtitle tracks on OSD (see section Properties).

       • --keep-open option to stop the player from closing the window and exiting after playback ends.

       • Re-enable screensaver while the player is paused.

       • Matroska edition switching at runtime.

       • Support  for  libavfilter  (for  video->video  and  audio->audio).  This  allows using most of FFmpeg's
         filters, which improve greatly on the old MPlayer filters in features, performance, and correctness.

       • Improved downmixing and output of surround  audio.  Instead  of  using  hardcoded  pan  filters  to  do
         remixing,  use libavresample. Channel maps are used to identify the channel layout, so e.g. 3.0 and 2.1
         audio can be distinguished.

       • Allow resuming playback at a later point with Shift+q, also see quit_watch_later input command.

       • Support mapping multiple commands to one key.

       • Allow changing/adjusting video filters at runtime. (This is also used to make the D key insert vf_yadif
         if deinterlacing is not supported otherwise.)

       • Native VAAPI support

       • OSX: VDA support using libavcodec hwaccel API insted of FFmpeg's decoder. Up to 2-2.5x reduction in CPU
         usage.

       • Make hardware decoding in general work with the opengl video output.

       • General bug fixes and removal of long-standing issues

       • General code cleanups (including refactoring or rewrites of many parts)

       • Many more changes

   Detailed Listing of User-visible Changes
       This listing is about changed command line switches,  slave  commands,  and  similar  things.  Completely
       removed features are not listed.

   Command Line Switches
       • There is a new command line syntax, which is generally preferred over the old syntax. -optname optvalue
         becomes --optname=optvalue.

         The old syntax will not be removed in the near future. However, the new  syntax  is  mentioned  in  all
         documentation and so on, so it is a good thing to know about this change.

         (The new syntax was introduced in mplayer2.)

       • In general, negating switches like -noopt now have to be written as -no-opt, or better --no-opt.

       • Per-file  options are not the default anymore. You can explicitly specify file-local options. See Usage
         section.

       • Table of renamed/replaced switches:

                              ┌───────────────────────┬───────────────────────────────────────┐
                              │Old                    │ New                                   │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-no<opt>--no-<opt> (add a dash)               │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-nosound--no-audio                            │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-use-filename-title--title='${filename}'                 │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-loop 0--loop=inf                            │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-hardframedrop--framedrop=hard                      │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-osdlevel--osd-level                           │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-delay--audio-delay                         │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-subdelay--sub-delay                           │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-subpos--sub-pos                             │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-forcedsubsonly--sub-forced-only                     │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-benchmark--untimed (no stats)                  │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-xineramascreen--screen (different values)           │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-ss--start                               │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-endpos--length                              │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-cursor-autohide-delay--cursor-autohide                     │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-sub-fuzziness--autosub-match                       │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-subfont--sub-text-font                       │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-font--osd-font                            │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-subfont-*--sub-text-*, --osd-*                 │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-subfont-text-scale--sub-scale                           │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-spugauss--sub-gauss                           │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-vobsub--sub (pass the .idx file)            │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-ass-bottom-margin--vf=sub=bottom:top                   │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-vc ffh264vdpau (etc.) │ --hwdec=vdpau                         │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-ac spdifac3--ad=spdif:ac3 (see --ad=help)        │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-afm hwac3--ad=spdif:ac3,spdif:dts              │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-x W, -y H--geometry=WxH + --no-keepaspect      │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-xy W--autofit=W                           │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-a52drc level--ad-lavc-ac3drc=level                │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-dumpstream--stream-dump=<filename>              │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-capture--stream-capture=<filename>           │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-stop-xscreensaver--stop-screensaver                    │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-subfile--sub                                 │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-lavdopts ...--vd-lavc-...                         │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-lavfdopts--demuxer-lavf-...                    │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-rawaudio ...--demuxer-rawaudio-...                │
                              └───────────────────────┴───────────────────────────────────────┘

                              │-rawvideo ...--demuxer-rawvideo-...                │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-mixer                 │ AO suboptions (alsa, oss)             │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-mixer-channel         │ AO suboptions (alsa, oss)             │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-ao alsa:device=hw=0.3--ao=alsa:device=[hw:0,3]             │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-af volnorm--af=drc (renamed)                    │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-zoom                  │ Inverse available as --video-unscaled │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-panscanrange--video-zoom, --video-pan-x/y         │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-pp ...'--vf=pp=[...]'                       │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │-pphelp--vf=pp:help                          │
                              ├───────────────────────┼───────────────────────────────────────┤
                              │dvdnav://dvdnav://menu                         │
                              └───────────────────────┴───────────────────────────────────────┘

       NOTE:
          -opt val becomes --opt=val.

       NOTE:
          Quite some video filters, video outputs, audio filters, audio outputs, had  changes  in  their  option
          parsing. These aren't mentioned in the table above.

          Also,  some  video  and  audio  filters  have  been  removed,  and  you have to use libavfilter (using
          --vf=lavfi=[...] or --af=lavfi=[...]) to get them back.

   input.conf and Slave Commands
       • Table of renamed input commands:
            This lists only commands that are not always gracefully handled by the internal  legacy  translation
            layer.  If  an  input.conf contains any legacy commands, a warning will be printed when starting the
            player. The warnings also show the replacement commands.

            Properties containing _ to separate words use - instead.

                      ┌──────────────────────────────────────┬───────────────────────────────────────┐
                      │Old                                   │ New                                   │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │pt_step 1 [0|1]playlist_next            [weak|force] │
                      │                                      │ (translation  layer  cannot deal with │
                      │                                      │ whitespace)                           │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │pt_step -1 [0|1]playlist_prev [weak|force] (same)     │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │switch_ratio [<ratio>]set aspect <ratio>                    │
                      │                                      │                                       │
                      │                                      │ set aspect 0 (to reset aspect)        │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │step_property_osd <prop> <step> <dir>cycle  <prop>  <step>  (wraps),   add │
                      │                                      │ <prop>    <step>   (clamps).    <dir> │
                      │                                      │ parameter unsupported. Use a negative │
                      │                                      │ <step> instead.                       │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │step_property <prop> <step> <dir>     │ Prefix  cycle  or  add  with  no-osd: │
                      │                                      │ no-osd cycle <prop> <step>            │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │osd_show_property_text <text>show_text   <text>    The    property │
                      │                                      │ expansion    format   string   syntax │
                      │                                      │ slightly changed.                     │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │osd_show_text                         │ Now     does     the     same      as │
                      │                                      │ osd_show_property_text.  Use  the raw │
                      │                                      │ prefix to disable property expansion. │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │show_tracksshow_text ${track-list}               │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │show_chaptersshow_text ${chapter-list}             │
                      ├──────────────────────────────────────┼───────────────────────────────────────┤
                      │af_switch, af_add, ...                │ af set|add|...                        │
                      └──────────────────────────────────────┴───────────────────────────────────────┘

   Other
       • The playtree has been removed. mpv's internal playlist is a simple and flat list now.  This  simplifies
         the code and makes mpv usage less confusing.

       • Slave  mode is broken. This mode is entirely insane in the old versions of MPlayer. A proper slave mode
         application needed tons of code and hacks to get it right. The main problem is that slave mode is a bad
         and  incomplete  interface,  and  to  get around that, applications parsed output messages intended for
         users. It is hard to know which messages exactly are parsed by slave mode applications. This  makes  it
         virtually impossible to improve terminal output intended for users without possibly breaking something.

         This  is  absolutely insane, and mpv will not try to keep slave mode compatible. If you are a developer
         of a slave mode application, contact us, and a new and better protocol can be developed.

   Policy for Removed Features
       Features are a good thing, because they make users happy. As such, it is  attempted  to  preserve  useful
       features  as  far  as  possible.  But  if a feature is likely to be not used by many, and causes problems
       otherwise, it will be removed. Developers should not be burdened with fixing or cleaning up code that has
       no actual use.

       It is always possible to add back removed features. File a feature request if a feature you relied on has
       been removed, and you want it back. Though it might be rejected in the worst case, it is much more likely
       that it will be either added back, or that a better solution will be implemented.

   Why this Fork?
       • MPlayer  wants  to maintain old code, even if it is very bad code. It seems mplayer2 was forked because
         MPlayer developers refused to get rid of all  the  cruft.  The  mplayer2  and  MPlayer  codebases  also
         deviated enough to make a reunification unlikely.

       • mplayer2  development  is  slow, and it is hard to get in changes. Details withheld as to not turn this
         into a rant.

       • MPlayer rarely merged from mplayer2, and mplayer2 practically stopped merging from  MPlayer  (not  even
         code cleanups or new features are merged)

       • mpv  intends  to continuously merge from mplayer-svn and mplayer2, while speeding up development. There
         is willingness for significant changes, even if this means breaking compatibility.

ENVIRONMENT VARIABLES

       There are a number of environment variables that can be used to control the behavior of mpv.

       HOME   Used to determine mpv config directory: $HOME/.mpv

       TERM   Used to determine terminal type.

       MPV_HOME
              Directory where mpv looks for user settings. Overrides HOME, and mpv will try to load  the  config
              file as $MPV_HOME/config.

       MPV_LOCALEDIR
              Directory where mpv looks for gettext translation files (if enabled).

       MPV_VERBOSE (see also -v and --msglevel)
              Set  the initial verbosity level across all message modules (default: 0).  The resulting verbosity
              corresponds to that of --msglevel=5 plus the value of MPV_VERBOSE.

       MPV_LEAK_REPORT
              If set to 1, enable internal talloc  leak  reporting.  Note  that  this  can  cause  trouble  with
              multithreading, so only developers should use this.

       LADSPA_PATH
              Specifies  the  search path for LADSPA plugins. If it is unset, fully qualified path names must be
              used.

       DISPLAY
              Standard X11 display name to use.

       FFmpeg/Libav:
              This library accesses various environment variables. However, they are not  centrally  documented,
              and documenting them is not our job. Therefore, this list is incomplete.

              Notable environment variables:

              http_proxy
                     URL to proxy for http:// and https:// URLs.

              no_proxy
                     List  of  domain patterns for which no proxy should be used.  List entries are separated by
                     ,. Patterns can include *.

       libdvdcss:

              DVDCSS_CACHE
                     Specify a directory in which to store title key values. This will speed up descrambling  of
                     DVDs  which  are  in the cache. The DVDCSS_CACHE directory is created if it does not exist,
                     and a subdirectory is created named  after  the  DVD's  title  or  manufacturing  date.  If
                     DVDCSS_CACHE  is  not  set  or  is  empty,  libdvdcss  will  use the default value which is
                     ${HOME}/.dvdcss/ under Unix and the roaming application data  directory  (%APPDATA%)  under
                     Windows. The special value "off" disables caching.

              DVDCSS_METHOD
                     Sets  the  authentication  and  decryption method that libdvdcss will use to read scrambled
                     discs. Can be one of title, key or disc.

                     key    is the default method. libdvdcss will use a set of calculated player keys to try and
                            get  the  disc  key. This can fail if the drive does not recognize any of the player
                            keys.

                     disc   is a fallback method when key has failed. Instead of using  player  keys,  libdvdcss
                            will crack the disc key using a brute force algorithm. This process is CPU intensive
                            and requires 64 MB of memory to store temporary data.

                     title  is the fallback when all other methods have failed.  It  does  not  rely  on  a  key
                            exchange with the DVD drive, but rather uses a crypto attack to guess the title key.
                            On rare cases this may fail because there is not enough encrypted data on  the  disc
                            to perform a statistical attack, but on the other hand it is the only way to decrypt
                            a DVD stored on a hard disc, or a DVD with the wrong region on an RPC2 drive.

              DVDCSS_RAW_DEVICE
                     Specify the raw device to use. Exact usage will depend on your operating system, the  Linux
                     utility  to  set  up raw devices is raw(8) for instance. Please note that on most operating
                     systems, using a raw device requires highly aligned buffers: Linux requires  a  2048  bytes
                     alignment (which is the size of a DVD sector).

              DVDCSS_VERBOSE
                     Sets the libdvdcss verbosity level.

                     0      Outputs no messages at all.

                     1      Outputs error messages to stderr.

                     2      Outputs error messages and debug messages to stderr.

              DVDREAD_NOKEYS
                     Skip retrieving all keys on startup. Currently disabled.

              HOME   FIXME: Document this.

EXIT CODES

       Normally  mpv  returns  0  as  exit  code  after  finishing playback successfully.  If errors happen, the
       following exit codes can be returned:

          1      Error initializing mpv. This is also returned if unknown options are passed to mpv.

          2      The file passed to mpv couldn't be played. This is somewhat fuzzy:  currently,  playback  of  a
                 file  is  considered to be successful if initialization was mostly successful, even if playback
                 fails immediately after initialization.

          3      There were some files that could be played, and some files which couldn't (using the definition
                 of success from above).

       Note  that  quitting  the  player manually will always lead to exit code 0, overriding the exit code that
       would be returned normally. Also, the quit input command can take an exit code: in this case,  that  exit
       code is returned.

FILES

       /etc/mpv/mpv.conf
              mpv system-wide settings (depends on --prefix passed to configure)

       ~/.mpv/config
              mpv user settings

       ~/.mpv/input.conf
              input bindings (see --input-keylist for the full list)

EXAMPLES OF MPV USAGE

       Blu-ray playback:mpv bd:////path/to/discmpv bd:// --bluray-device=/path/to/disc

       Play in Japanese with English subtitles:
              mpv dvd://1 --alang=ja --slang=en

       Play only chapters 5, 6, 7:
              mpv dvd://1 --chapter=5-7

       Play only titles 5, 6, 7:
              mpv dvd://5-7

       Play a multiangle DVD:
              mpv dvd://1 --dvdangle=2

       Play from a different DVD device:
              mpv dvd://1 --dvd-device=/dev/dvd2

       Play DVD video from a directory with VOB files:
              mpv dvd://1 --dvd-device=/path/to/directory/

       Stream from HTTP:
              mpv http://example.com/example.avi

       Stream using RTSP:
              mpv rtsp://server.example.com/streamName

       Play a libavfilter graph:
              mpv avdevice://lavfi:mandelbrot

AUTHORS

       mpv is a MPlayer fork based on mplayer2, which in turn is a fork of MPlayer.

       MPlayer  was  initially  written  by  Arpad Gereoffy. See the AUTHORS file for a list of some of the many
       other contributors.

       MPlayer is (C) 2000-2013 The MPlayer Team

       This man page was written mainly by Gabucino, Jonas Jermann and Diego Biurrun.

AUTHOR

       wm4

       GPLv2+

                                                                                                          MPV(1)