From ArchWiki
Revision as of 15:08, 29 January 2014 by Kevmitch (talk | contribs) (Hardware Decoding)
Jump to: navigation, search

From the development page:

Movie player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. If you are wondering what's different from mplayer2 and MPlayer you can read more about the changes.


Install mpv from the official repositories or mpv-gitAUR from the AUR. Alternatively install cmplayerAUR or cmplayer-gitAUR Qt5 frontend which provides its own mpv.


System-wide configuration is located in /etc/mpv/mpv.conf, whereas the user-local settings are stored in ~/.mpv/config. The complete list of options is located here.

Tip: If you prefer a custom location for configurations, set the MPV_HOME variable as you like in your shell configuration file. A predictable choice is MPV_HOME=$XDG_CONFIG_HOME/mpv.

An example configuration:

# default configuration that applies to every file

# try to use high quality opengl output, with standard opengl, classic xv, and wayland as fallbacks
# note: opengl has numerous quality/performance trade-off options.
# as per the mpv(1), "opengl-hq" is just an alias for "opengl:lscale=lanczos2:dither-depth=auto:fbo-format=rgb16"

# use alsa for audio output, choose pulse, or oss4 as fallback

# prefer using 5.1 channels audio (defaults to 2 - see mpv --channels=help) 
# mixing is handled by libavcodec unless using "--af-add=pan" (see below)

# scale the subtitles to the 3% of the screen size

# set the window title using the media filename (see Property Expansion section of mpv(1))

# add black borders so the movies have the same aspect ratio of the monitor
# for wide screen monitors

# for non wide screen traditional monitors, alternative to the above item

# disable screensaver

# execute a command every 30 seconds
# useful to disable a non-standard-compliant screensavers and to work around buggy behaviours
# BE WARNED: to avoid dangerous commands is your responsibility
#heartbeat-cmd="xscreensaver-command -deactivate &" # stop xscreensaver

# custom heartbeat frequency in seconds

# correct pitch when speed is faster or slower than 1.0

# allow to seek in a file which is still downloading whilst watching it
# from manpage:"this switch has no effect in the typical case" (usually done automatically by demuxers)
# idx=yes

# allow to increase the maximal volume to 600%

# skip displaying some frames to maintain A/V sync on slow systems

# profile for up-mixing two channels audio to six channels
# use --profile 2chto6ch to activate

# profile to down-mixing six channels audio to two channels
# use --profile 6chto2ch to activate

See another example at

Hardware Decoding

You can reduce the CPU usage (and extend mobile battery life) by enabling GPU hardware decoding for common video codecs. Unlike mplayer, and mplayer2, mpv has both VDPAU and VAAPI built-in! To enable hardware decoding, add "--hwdec=<method>" to the mpv command line, where <method> is one of "auto", "vdpau", "vaapi" or "vaapi-copy". To make this persistent, add the line "hwdec=<method>" to the config file. Any video output (--vo) can be used with "vaapi-copy", which, however is expected to have the worst performance because it requires the decoded video to be copied back from the GPU to the main system memory before being sent again to the video driver for display. Better performance is had using "--hwdec=vdpau"/"--hwdec=vaapi" with either "--vo=opengl" (preferred) or "--vo=vdpau"/"--vo=vaapi" respectively. While the opengl output should generally be of better quality, the "--vo=vdpau" may give better frame timings when using "--hwdec=vdpau". Using the "--vo=vaapi" option may use less power than "--vo=opengl" (saves around a watt and a half with Intel Ivy Bridge). If hardware decoding can't be used, mpv will automatically fallback to software decoding.

Key bindings

System key bindings are configured via /etc/mpv/input.conf. Personal key bindings are stored in ~/.mpv/input.conf. Available keybinds and configuration are explained in the manual pages.

Automatic resuming from where you left off

The default key to quit saving the video advance state is Q. This behaviour is controlled by the quit_watch_later string in the key bindings configuration file.

Quick aspect ratio change

Append to your input.conf:

F1 set aspect 1.3333
F2 set aspect 1.6
F3 set aspect 1.7777
F4 set aspect 1.85
F5 set aspect 0

Now you are able to change the aspect ratio with F1 to F5.