Skip to main content
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.

Command-line syntax

Arguments starting with - are interpreted as options; everything else is treated as a filename or URL.
Most options require a value:
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

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

Some options store key/value pairs (like --script-opts). Keys are unique — setting an existing key overwrites it.

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 --:
Options that are flags can use yes explicitly or just the bare name (which implies yes):

Profiles

Profiles group multiple options under a name so they can be applied together.
Apply a profile on the command line:
List defined profiles:
Inspect a specific profile:

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 with profile-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.
Most options have a corresponding property of the same name. You can change a property at runtime:
Outside of playback, reading a property returns the option value. During playback, it returns the effective runtime value (which may differ from the option if mpv chose a different default).

Getting help