mpv accepts options on the command line, in configuration files, and at runtime through the scripting and IPC APIs. This page explains the general option system before diving into specific option groups.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/mpv-player/mpv/llms.txt
Use this file to discover all available pages before exploring further.
Command-line syntax
Arguments starting with- are interpreted as options; everything else is treated as a filename or URL.
The canonical form is
--option=value (double dash, equals sign). The legacy forms -option value and -option=value are accepted for compatibility but should be avoided.Flag options
Flag (boolean) options have a--no- counterpart and do not require a value:
Getting help for an option
Option types
| Type | Description | Example |
|---|---|---|
flag | Boolean yes/no | --fullscreen, --no-audio |
string | Arbitrary text | --title="My Window" |
integer | Whole number | --osd-level=2 |
float | Decimal number | --speed=1.5 |
choice | One of a fixed set of strings | --hr-seek=yes |
color | r/g/b or #RRGGBB | --osd-color='#FFFFFF' |
geometry | Window placement string | --geometry=1280x720 |
bytesize | Size with unit suffix | --demuxer-max-bytes=512MiB |
time | [[hh:]mm:]ss[.ms] | --start=01:30:00 |
object list | Complex filter chains | --vf=scale=1920:1080 |
List options
Several options accept comma-separated lists. These support action suffixes to modify lists incrementally rather than replacing them entirely.String list and path list options
String list suffixes
String list suffixes
| Suffix | Effect |
|---|---|
-set | Replace the entire list |
-append | Append one item (no escape interpretation) |
-add | Append one or more items |
-pre | Prepend one or more items |
-clr | Clear the list |
-del | Delete matching items |
-remove | Delete one item (no escape interpretation) |
-toggle | Append, or remove if already present |
Key/value list suffixes
Key/value list suffixes
Some options store key/value pairs (like
--script-opts). Keys are unique — setting an existing key overwrites it.| Suffix | Effect |
|---|---|
-set | Replace the entire map |
-append | Append one key=value pair |
-add | Append one or more pairs |
-clr | Clear the map |
-del | Delete by key |
-remove | Delete one key (no escape interpretation) |
Example: building a sub-file list incrementally
Configuration files
You can store options in~/.config/mpv/mpv.conf. The syntax mirrors the command line but without leading --:
yes explicitly or just the bare name (which implies yes):
Profiles
Profiles group multiple options under a name so they can be applied together.Built-in profiles
mpv ships several built-in profiles you can apply directly:fast
Uses lower-quality but faster scalers. Sets
scale=bilinear, dscale=bilinear, and disables some processing steps.high-quality
Enables the
ewa_lanczossharp scaler and other quality-enhancing settings at the cost of more GPU usage.sw-fast
Optimizes for software rendering performance, disabling GPU-intensive features.
Conditional auto profiles
Profiles withprofile-cond are applied automatically when a Lua expression evaluates to true:
Conditions are re-evaluated whenever a referenced property changes. Avoid using frequently-changing properties like
playback-time in conditions, as this re-evaluates on every frame.Options vs. properties
Options and properties are related but distinct:- Options are set on the command line or in config files. They define the initial state.
- Properties are the runtime state of the player, readable and writable via input commands, scripts, and IPC.