A personal mpv configuration focused on high-quality playback, streaming support, and a clean customizable interface — suitable for both local files and YouTube/web video.
- Automatic shader profiles — shaders are applied based on source resolution without any manual switching. HD content, SD content, and 4K downscaling each get their own optimal pipeline.
- Vulkan renderer — uses
gpu-nextwith Vulkan for the best performance and quality on modern hardware. - Streaming ready — quality-menu for on-the-fly stream selection, SponsorBlock integration, YouTube subtitle support, and stream reload for stuck playback.
- Extensive shader library — includes CuNNy, ArtCNN, FSRCNNX, NNEDI3, RAVU, Anime4K, ACNet/ARNet, and more, all accessible from the uosc menu. Every shader is documented inline in
input.conf. - Surround downmix — 5.1 and 7.1 audio is automatically downmixed to stereo. Disable if you have a surround system.
- Cross-platform — works on Windows, Linux, and macOS.
- Installation
- Settings You May Want to Change
- Important Notes
- Included Scripts
- Included Shaders
- References
Download the latest 64-bit Windows build from the Shinchiro builds page:
mpv-x86_64-*.7z— recommended for most systemsmpv-x86_64-v3-*.7z— for newer CPUs (Ryzen 5000+, Intel 12th gen+)
Extract the archive somewhere permanent. This folder will be your main mpv folder — do not move it after installation.
Inside the mpv folder, open the installer folder, right-click mpv-install.bat, and select Run as administrator.
After it finishes, Windows may prompt you to set mpv as the default media player in Control Panel.
Download this repository as a ZIP, extract it, and copy the portable_config folder into your mpv folder — next to mpv.exe.
Your mpv folder should look like this:
Right-click updater.bat and select Run as administrator. The updater lets you update mpv and optionally install yt-dlp and ffmpeg, which enables streaming from YouTube and hundreds of other sites.
To update the configuration, delete the old portable_config then redo step 3 of the installtion to download the latest version.
Ubuntu / Debian
sudo apt install mpvArch Linux
sudo pacman -S mpv
# or for the git version:
yay -S mpv-gitmacOS
brew install mpvDownload this repository as a ZIP, extract it, and copy the contents of portable_config into ~/.config/mpv/ (create the folder if it doesn't exist).
git clone https://github.com/HongYue1/mpv-config.git && mkdir -p ~/.config/mpv && cp -r ./mpv-config/portable_config/. ~/.config/mpv/ && rm -rf mpv-configFor full option documentation, see the mpv manual (use Ctrl+F to search).
This config defaults to Vulkan. If your GPU doesn't support Vulkan or you have playback issues:
mpv.conf
gpu-api=vulkan # change to: auto, d3d11, or opengl
hwdec=vulkan # change to: auto, auto-copy, or auto-safe
The default shader for 720p–1080p content is CuNNy, which requires Vulkan and is tuned for anime:
profiles.conf
glsl-shader="~~/shaders/CuNNy/ds/dp4a/CuNNy-4x16-DS-Q.glsl"
Note: If you primarily watch live-action content or aren't using Vulkan, delete or replace this line with a shader that suits your content.
Set this to match your display's bit depth:
mpv.conf
dither-depth=10 # change to 8 for 8-bit displays, or auto if using d3d11
On Windows, check your display bit depth under Settings → System → Display → Advanced display.
Default is 1080p. Change the number to set a different cap:
mpv.conf
ytdl-format=bestvideo[height<=?1080]+bestaudio/best[height<=?1080]
By default, 5.1 and 7.1 audio is downmixed to stereo. If you have a surround system, remove or comment out the Downmix_Audio_5_1 and Downmix_Audio_7_1 profiles in profiles.conf.
icc-profile-auto is disabled by default because it can cause gamma issues on some systems. Enable it in mpv.conf if you have a calibrated ICC profile and want mpv to use it.
mpv.conf
video-output-levels=full # change to limited for TVs, or auto
Only enable these if you are on Windows with gpu-api=d3d11:
d3d11-exclusive-fs=yes
dither-depth=auto
When launching mpv for the first time with this configuration, or when a shader is used for the first time, mpv may freeze for a few seconds while it compiles and caches the shader. This only happens once per shader — subsequent launches are fast.
If the uosc interface feels slow during playback, add this to mpv.conf:
video-sync=display-resample
This slightly increases CPU/GPU usage but makes the UI feel more responsive. The root cause is that mpv ties UI rendering frequency to the video frame rate during playback — pausing the video will reveal the difference.
Press Tab to toggle uosc between always-visible and auto-hide mode.
The uosc right-click menu exposes the full shader library, grouped by type. All shader variants are documented inline in input.conf. To clear all active shaders: Ctrl+Alt+C. To show all active shaders: Ctrl+Alt+S.
| Script | Description |
|---|---|
| uosc | Minimalist, highly customizable GUI |
| evafast | Hold-to-fast-forward with adaptive speed ramp |
| thumbfast | High-performance on-the-fly thumbnail generation |
| memo | Recent files/history menu with uosc integration |
| quality-menu | Change stream quality (video/audio format) on the fly |
| mpv-reload | Reload stuck or slow streams automatically |
| mpv-ytsub | Load YouTube auto-generated captions |
| mpv_sponsorblock_minimal | Skip SponsorBlock-tagged segments |
Shaders are organized by category in portable_config/shaders/. All are accessible and documented in input.conf.
Luma Upscalers
| Shader | Best for |
|---|---|
| CuNNy | Anime — fast CNN upscaler with multiple quality tiers and dp4a acceleration |
| ArtCNN | General content — modern CNN upscaler with denoising and downscaling variants |
| Ani4Kv2 / AniSD | Anime — Ani4Kv2 for HD/BD, AniSD for sub-720p sources |
| FSRCNNX | Live-action — high quality prescaler, x2 8-0-4-1 and 16-0-4-1 variants |
| NNEDI3 | High-quality prescaling, slower than FSRCNNX |
| RAVU | Fast prescaling — Lite, Zoom, and Antiringing variants |
| Anime4K | Anime upscaling and restoration — full shader set included |
| ACNet / ARNet | Lightweight anime upscalers from Anime4KCPP with denoising variants |
| AMD CAS, FSR, NVScaler, NVSharpen | GPU vendor upscalers and sharpeners |
Chroma Upscalers
| Shader | Notes |
|---|---|
| CfL Prediction | Default — uses luma information to reconstruct chroma detail |
| KrigBilateral | Alternative chroma upscaler |
| JointBilateral / FastBilateral | Bilateral filter-based chroma upscalers |
Downscalers / Sharpeners / Other
| Shader | Notes |
|---|---|
| SSimDownscaler | Perceptually better downscaling, used automatically for 4K+ sources |
| SSimSuperRes | An accurate sharpener + antiringing shader |
| nlmeans | Non-local means denoiser |
| hdeband | Shader-based debanding |
| adaptive-sharpen | Content-aware sharpening |
| Film Grain | Adds synthetic film grain (normal and smooth variants) |
Repositories used as references while building this configuration:


