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.