#
mpv
mpv is a versatile and lightweight media player with extensive customizability. It is used and recommended by most enthusiasts as it supports a wide range of video, audio, and subtitle formats. Additionally, it offers many advanced features and is available on multiple platforms.
#
Installation
#
Windows
- Download the latest Windows build of mpv from SourceForge: 64-bit 32-bit
- Once downloaded, extract the archive's contents to your specified location
This folder cannot be changed after installation. If you wish to change it in the future, you will need to uninstall it first.
- Navigate to the
installer
folder and runmpv-install.bat
. Follow the on-screen instructions to complete installation
Scoop is a command line package manager for Windows. We can use it to install and manage mpv. Scoop downloads and manages packages in a portable way, keeping them neatly isolated in %userprofile%/scoop
and automatically adds them to your PATH.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
scoop bucket add extras
scoop install extras/mpv-git
scoop update mpv-git
scoop uninstall mpv-git
mpv can also be found in the various forks below:
If you don't want to setup mpv yourself, a portable build of mpv is available below. This is pre-configured to have the settings described in the portable_config
folder and add it to your existing mpv installation.
If you want to access mpv from the command line, you will need to add it to Windows PATH:
- In Windows Settings -> System -> About, locate Advanced System Settings. Head to Advanced and click on Environment Variables...
- Under System Variables, select Path and click on Edit...
- Click New and point the new variable to the
mpv.exe
located where mpv is installed - Dismiss all of the dialogs by clicking
OK
#
macOS
Install Homebrew. Then, run the following command in your terminal:
brew install mpv
#
Linux
Distributions usually package outdated, unmaintained, and unsupported versions of mpv. This is especially true for popular distros like Debian and Ubuntu. You are recommended to use mpv-build or third-party packages instead.
All of these packages are unofficial:
#
Config Overview
By default, mpv's config can be found under %APPDATA%/mpv/
. However, a folder named portable_config
next to where mpv.exe
is stored can override this location as the config folder.
%APPDATA%
)
.
└── mpv/
├── fonts/
├── script-opts/
├── scripts/
├── shaders/
├── input.conf
└── mpv.conf
portable_config
)
.
├── mpv.exe
└── portable_config/
├── fonts/
├── script-opts/
├── scripts/
├── shaders/
├── input.conf
└── mpv.conf
%userprofile%/scoop/persist/mpv-git/portable_config
)
%userprofile%/scoop/persist/mpv-git/
└── portable_config/
├── fonts/
├── script-opts/
├── scripts/
├── shaders/
├── input.conf
└── mpv.conf
Some folders may not be present by default and will need to be created.
For more details, see mpv's documentation on files.
#
Basic Config
mpv is a great player out-of-the-box which can be extensively customized to your liking.
We recommend taking your time to create your own config. If you want to get up and running quickly, we suggest using the generic mpv.conf
config below:
mpv.conf
## Video
profile=high-quality
vo=gpu-next
scale-antiring=0.6
deband=no
# Dither
# This must be set to match your monitor's bit depth
dither-depth = 8
## Behavior (personal preference)
keep-open=yes
save-position-on-quit
## Screenshots
screenshot-format=png
screenshot-dir="~/Pictures/mpv"
screenshot-template="%F-%p-%n"
## Language Priority
# Sub
# Add enm before eng for honorifics
slang=eng,en
alang=jpn,ja
# Dub
# Uncomment this section to prefer English dub with subtitles for English dub
#slang=zxx,eng,en
#alang=eng,en
#subs-with-matching-audio=no
See mpv's user manual for a detailed explanation of all the options.
#
Advanced Config
mpv can be fine-tuned to meet your specific needs, from tweaking playback behavior to customizing video, audio, and subtitle settings. This section outlines the common options that can improve your experience.
This guide assumes you know the location of your config folder. See
#
Debanding
Color banding is a visual artifact that is typically seen in gradients, where the colors can be easily differentiated by the human eye. See Tom Scott's video explaining color banding.
Banding (left) vs. No banding (right)
To enable debanding in mpv, apply the following changes to your config:
mpv.conf
## Deband
# Set deband to "no" as we only need to enable it for specific cases
deband=no
deband-iterations=4
deband-grain=48
Your deband settings should be placed after your profile
in order to prevent conflict.
input.conf
D cycle deband
After applying your changes, debanding can be applied at any time by pressing Shift
+ D
.
#
Scaling
Scaling is the process of taking content that does not match your screen resolution and resizing it to fit your display. See the Playback Guide for more information.
mpv has a built-in profile called high-quality
which enables better upscaling using ewa_lanczossharp
. By default, mpv uses lanczos
and hermite
. This option is necessary to enable even if you use an external shader, as it can act as a fallback.
high-quality
enables debanding by default, which is not recommended for high-quality sources. It should be followed by deband=no
.
Scalers only work when the resolution of your video does not match your display. They do not activate if the content resolution already matches your display resolution.
If you use high-end hardware, we suggest using nnedi3-nns256-win8x4.
Download the shader file and place it in your shaders
folder.
To use the shader, add the following to your mpv.conf
:
glsl-shaders="~~/shaders/nnedi3-nns256-win8x4.hook"
To activate it with a key, add the following to your input.conf
, replacing G
with the bind of your choice, if necessary (case-sensitive):
G change-list glsl-shaders toggle "~~/shaders/nnedi3-nns256-win8x4.hook"
If you use mid-range hardware, we suggest sticking to mpv's built-in high-quality
profile.
To use the profile, add the following to the top of your mpv.conf
:
## Video
profile=high-quality
vo=gpu-next
scale-antiring=0.6
deband=no
# Dither
# This must be set to match your monitor's bit depth
dither-depth = 8
dither-depth
should be set to match your monitor's bit depth to prevent
This is included in the
If you use low-end hardware, we suggest sticking to mpv's built-in fast
profile, which prioritizes performance over quality.
To use the profile, add the following to the top of your mpv.conf
:
profile=fast
#
Subtitle Restyling
Most releases will use their own font for .ass
subtitles. These can be manually overridden by mpv, which can help improve readability or match personal preferences.
Below are a couple of commonly used styles:
Download this font here or use the button below:
Run the .otf
font file to install it system-wide or put it in your fonts
folder. Add the following to your mpv.conf
:
## Restyle Subtitles
# Set sub-ass-override to "no" as we only need to enable it for specific cases
sub-ass-override=no
sub-ass-style-overrides=playresx=1920,playresy=1080
sub-font="Gandhi Sans"
sub-font-size=50
sub-color="#FFFFFF"
sub-border-size=2.4
sub-border-color="#FF000000"
sub-shadow-color="#A0000000"
sub-shadow-offset=0.75
sub-bold=yes
sub-ass-style-overrides=Kerning=yes
Download this font here or use the button below:
Run the .ttf
font file to install it system-wide or put it in your fonts
folder. Add the following to your mpv.conf
:
## Restyle Subtitles
# Set sub-ass-override to "no" as we only need to enable it for specific cases
sub-ass-override=no
sub-ass-style-overrides=playresx=1920,playresy=1080
sub-font="Cabin"
sub-font-size=50
sub-color="#FFFFFFFF"
sub-border-size=2.4
sub-border-color="#FF000000"
sub-shadow-color="#A0000000"
sub-shadow-offset=0.8
sub-ass-style-overrides=Kerning=yes
This is a modified version of Cabin made by @astolfo69 (RaptoR) in the SeaDex discord server
Run the .ttf
font file to install it system-wide or put it in your fonts
folder. Add the following to your mpv.conf
:
## Restyle Subtitles
# Set sub-ass-override to "no" as we only need to enable it for specific cases
sub-ass-override=no
sub-ass-style-overrides=playresx=1920,playresy=1080
sub-font="Cabin F"
sub-font-size=50
sub-color="#FFFFFFFF"
sub-border-size=2.4
sub-border-color="#FF000000"
sub-shadow-color="#A0000000"
sub-shadow-offset=0.8
sub-ass-style-overrides=Kerning=yes
To activate it with a key, add the following to your input.conf
, replacing k
with the bind of your choice, if necessary (case-sensitive):
k cycle_values sub-ass-override "force" "no"
#
Auto Profiles
Auto profiles allow users to automate actions based on certain conditions. Tasks such as
For instance, some seasonal releases may exhibit banding issues and use subjectively less-appealing subtitle fonts. To address this, we can create a simulcast
auto profile, which automatically applies
Add the following to the end of your mpv.conf
:
## Auto profiles
[simulcast]
profile-cond=filename:match("SubsPlease") or filename:match("Erai%-raws") or filename:match("Tsundere%-Raws") or filename:match("%-VARYG") or filename:match("HorribleSubs") or filename:match("SubsPlus%+")
profile-restore=copy
sub-fix-timing=yes
sub-ass-override=force
deband=yes
Your auto profile(s) should be placed at the end of your mpv.conf
in order to prevent conflict.
#
Custom Scripts
mpv supports loading custom scripts, allowing you to further expand the player's functionality.
Below is a list of some popular scripts:
- autocrop - Automatically crop the video by using lavfi's cropdetect filter to detect black bars
- autoload - Automatically adds all files present in the folder to a playlist
- change-refresh - Script to automatically change the refresh rate of the display to reflect the current video
- mpv-playlistmanager - Script to create and manage playlists
- mpv-webm - WebM maker for mpv
- pause-when-minimize - Pauses playback when minimizing the window, and resumes playback when brought back
- thumbfast - Display thumbnails when scrubbing video (may be needed for some
Skins ) - trackselect - Select tracks based on their title
#
Skins
You can customize how mpv looks using skins. These are subject to personal preference, so find what works best for you.
Below is a list of some popular skins: