mpv(1)

a media player

Section 1 mpv bookworm source

Description

. .

.

\\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2]

. RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1

. RE

mpv - a media player

mpv [options] [file|URL|PLAYLIST|-] mpv [options] files

mpv is a media 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.

mpv has a fully configurable, command-driven control layer which allows you to control mpv using keyboard, mouse, or remote control (there is no LIRC support - configure remotes as input devices instead).

See the --input- options for ways to customize it.

The following listings are not necessarily complete. See etc/input.conf in the mpv source files for a list of default bindings. User input.conf files and Lua scripts can define additional key bindings.

See \%COMMAND INTERFACE and \%Key names sections for more details on configuring keybindings.

See also --input-test for interactive binding details by key, and the \%stats built-in script for key bindings list (including print to terminal).

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

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

Seek to the previous/next subtitle. Subject to some restrictions and might not always work; see sub-seek command.

Adjust subtitle delay so that the next or previous subtitle is displayed now. This is especially useful to sync subtitles to audio.

Decrease/increase current playback speed by 10%.

Halve/double current playback speed.

Reset playback speed to normal.

Undo the last seek. This works only if the playlist entry was not changed. Hitting it a second time will go back to the original position. See revert-seek command for details.

Mark the current position. This will then be used by Shift+BACKSPACE as revert position (once you seek back, the marker will be reset). You can use this to seek around in the file and then return to the exact position where you left off.

Go backward/forward in the playlist.

Go forward in the playlist.

Pause (pressing again unpauses).

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

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

Stop playing and quit.

Like q, but store the current playback position. Playing the same file later will resume at the old playback position if possible. See \%RESUMING PLAYBACK.

Decrease/increase volume.

Decrease/increase volume.

Mute sound.

Cycle through the available video tracks.

Cycle through the available audio tracks.

Cycle through the available Editions.

Toggle fullscreen (see also --fs).

Exit fullscreen mode.

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

Decrease/increase pan-and-scan range. The e key does the same as W currently, but use is discouraged.

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

Toggle OSD states between normal and playback time/duration.

Toggle subtitle visibility.

Cycle through the available subtitles.

Adjust subtitle delay by +/- 0.1 seconds. The x key does the same as Z currently, but use is discouraged.

Set/clear A-B loop points. See ab-loop command for details.

Toggle infinite looping.

Adjust audio delay (A/V sync) by +/- 0.1 seconds.

Adjust subtitle font size by +/- 10%.

Switch between applying no style overrides to SSA/ASS subtitles, and overriding them almost completely with the normal subtitle style. See --sub-ass-override for more info.

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

Move subtitles up/down. The t key does the same as R currently, but use is discouraged.

Take a screenshot.

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

Take a screenshot, as the window shows it (with subtitles, OSD, and scaled video).

Seek to the beginning of the previous/next chapter. In most cases, \(dqprevious\(dq will actually go to the beginning of the current chapter; see --chapter-seek-threshold.

Seek backward or forward by 10 minutes. (This used to be mapped to PGUP/PGDWN without Shift.)

Activate/deactivate deinterlacer.

Cycle aspect ratio override.

Toggle hardware video decoding on/off.

Move the video rectangle (panning).

Combining Alt with the + or - keys changes video zoom.

Reset the pan/zoom settings.

Show the playlist and the current position in it (useful only if a UI window is used, broken on the terminal).

Show the list of audio and subtitle streams (useful only if a UI window is used, broken on the terminal).

Show/toggle an overlay displaying statistics about the currently playing file such as codec, framerate, number of dropped frames and so on. See \%STATS for more information.

Cycle OSC visibility between never / auto (mouse-move) / always

Show the console. (ESC closes it again. See \%CONSOLE.)

(The following keys are valid only when using a video output that supports the corresponding adjustment.)

Adjust contrast.

Adjust brightness.

Adjust gamma.

Adjust saturation.

Resize video window to half its original size.

Resize video window to its original size.

Resize video window to double its original size.

Toggle fullscreen (see also --fs).

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

Pause.

Stop playing and quit.

Seek backward/forward 1 minute.

If you miss some older key bindings, look at etc/restore-old-bindings.conf in the mpv git repository.

Toggle fullscreen on/off.

Toggle pause on/off.

Skip to next/previous entry in playlist.

Seek forward/backward 10 seconds.

Decrease/increase volume.

Command line arguments starting with - are interpreted as options, everything else as filenames or URLs. All options except flag options (or choice options which include yes) require a parameter in the form --option=value.

One exception is the lone - (without anything else), which means media data will be read from stdin. Also, -- (without anything else) will make the player interpret all following arguments as filenames, even if they start with -. (To play a file named -, you need to use ./-.)

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.

The --option=value syntax is not strictly enforced, and the alternative legacy syntax -option value and -option=value will also work. This is mostly for compatibility with MPlayer. Using these should be avoided. Their semantics can change any time in the future.

For example, the alternative syntax will consider an argument following the option a filename. mpv -fs no will attempt to play a file named no, because --fs is a flag option that requires no parameter. If an option changes and its parameter becomes optional, then a command line using the alternative syntax will break.

Until mpv 0.31.0, there was no difference whether an option started with -- or a single -. Newer mpv releases strictly expect that you pass the option value after a =. For example, before mpv --log-file f.txt would write a log to f.txt, but now this command line fails, as --log-file expects an option value, and f.txt is simply considered a normal file to be played (as in mpv f.txt).

The future plan is that -option value will not work anymore, and options with a single - behave the same as -- options.

Keep in mind that the shell will partially parse and mangle the arguments you pass to mpv. For example, you might need to quote or escape options and filenames:

mpv \(dqfilename with spaces.mkv\(dq --title=\(dqwindow title\(dq

It gets more complicated if the suboption parser is involved. The suboption parser puts several options into a single string, and passes them to a component at once, instead of using multiple options on the level of the command line.

The suboption parser can quote strings with \(dq and [...]. Additionally, there is a special form of quoting with %n% described below.

For example, assume the hypothetical foo filter can take multiple options: