Skip to main content

Play your first file

Open a terminal and pass a file path or URL to mpv:
1

Play a local file

mpv auto-detects the best video and audio output for your system. The video opens in a window; the terminal shows playback status.
2

Play a URL or stream

mpv accepts HTTP/HTTPS URLs, HLS streams, and other network sources directly:
mpv reads from stdin too. Pipe media data with mpv - to play without a file on disk.
3

Play audio only

Pass an audio file the same way — mpv opens in audio-only mode with no video window:

Essential keyboard shortcuts

Once mpv is playing, use the keyboard to control it. The control layer is fully configurable; these are the defaults.

Playback

Volume and display

Subtitles and tracks

Stats and debugging

Press ? at any time while mpv is running to see all active key bindings in the video window.

Common command-line options

Pass options as --option=value after the filename or before it:

Set up a config file

Rather than typing options on every invocation, write them to ~/.config/mpv/mpv.conf. Options in this file are applied on every run.
1

Create the config directory

2

Create mpv.conf

3

Add your preferred settings

Open ~/.config/mpv/mpv.conf in a text editor and add options — one per line, without the leading --:
On Windows, the config file is at %APPDATA%\mpv\mpv.conf (for example, C:\Users\USERNAME\AppData\Roaming\mpv\mpv.conf).

Video output

The default high-quality video output driver is gpu-next, built on libplacebo. It uses shaders for scaling and rendering rather than fixed GPU hardware functions.
On low-power or integrated GPUs where you experience stuttering or tearing, use the fast profile:

Next steps

Keyboard controls

Full default key binding reference and how to customize them.

Configuration

All mpv.conf options and how to tune mpv for your setup.

Video output

Configure GPU-accelerated rendering, scaling, and HDR.

Scripting

Extend mpv with Lua or JavaScript scripts.