# mpv-config, a personal mpv setup built around profiles, shaders and a uosc interface

> Zabooby's mpv-config is a personal configuration for the mpv media player, with tuned profiles for upscaling, live action, anime and HDR, a custom interface, key bindings, and a set of GLSL shaders for denoising and upscaling. It suits Windows users who want a ready made mpv setup, and the README is explicit that it is a personal configuration rather than a general purpose one.

**Zabooby/mpv-config** — Personal mpv config files aiming to get the best quality and viewing experience

- Repository: https://github.com/Zabooby/mpv-config
- Website: https://mpv.io
- Stars: 572 · Forks: 40
- Language: GLSL
- License: not declared
- Published: 2026-10-22 · Updated: 2026-10-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/zabooby-mpv-config

## A configuration someone tuned for themselves

Zabooby's mpv-config is described as personal mpv configuration files aiming to get the best quality and viewing experience, and the README title says it plainly, Personal mpv Configuration for Windows. It is a set of files for use with mpv, which the description calls a free, open-source and cross-platform media player, with a focus on quality and a practical yet comfortable viewing experience.

The contents are listed as tuned profiles for up and downscaling, live action, anime and HDR content, custom key bindings, a GUI, and multiple scripts, shaders and filters serving different functions. The README also says it is suitable for both high and low-end PCs, with some tweaks.

That last phrase is the one to take seriously. A configuration with four tuned profiles and a dozen shaders is by definition tuned for specific hardware, and the same settings on a machine with a weaker GPU will not behave the same way. The profiles exist because a shader chain that suits a discrete card is a different proposition on an integrated one, and the repository ships the profiles rather than making you derive them.

The repository is a single directory, portable_config/, plus the README. The primary language detected for the project is GLSL, which is the shader code, and the topics list covers mpv, shaders, glsl, lua, scripts, gui, config, video and mpv-player.

## The script list explains what the configuration is trying to do

The Scripts and Shaders section of the README is effectively the design document for the setup, because each entry is there for a reason.

On the interface and input side there is uosc, a minimalist but highly customisable GUI, and evafast for fast-forwarding and seeking on a single key. There is memo, a recent files and history menu for mpv with optional uosc integration, and InputEvent, an enhanced input.conf with better, conflict-free, low-latency event mechanisms. thumbfast is a high-performance on-the-fly thumbnailer.

On the processing side, autodeint automatically deinterlaces the video by using lavfi's idet filter to detect interlaced content, and autoload automatically loads playlist entries before and after the currently playing file by scanning the directory. afilter is a Lua script for easy access to certain audio filters, including a Dynamic Range Compressor and a Speech Normaliser.

Then the shaders, and this is where the quality focus lives. There is nnmeans, a featureful implementation of the non-local Means algorithm that does both denoising and adaptive sharpening. For upscaling there is FSRCNN, a prescaler based on layered convolutional networks, AniSD ArtCNN for standard definition anime, and Anime4K for sharpening and upscaling anime. Ani4K v2 ArtCNN targets modern anime from high quality Blu-ray to low quality web releases, upscaling to either 2K or 4K. The prescaling pair nnedi3 and ravu covers the traditional scaler route, and a set of shaders by igv completes it with Adaptive Sharpen, SSimDownscaler for perceptually based downscaling, KrigBilateral which uses luma information for high quality upscaling, and SSimSuperRes which corrects the image upscaled by mpv's built-in scaler, removing ringing artifacts and restoring sharpness.

That combination is the actual opinion in the config: use a neural or classical prescaler, then a denoiser, then a sharpening pass, and let mpv's own scaler be corrected rather than replaced.

## Windows install, and the two scripts that need administrator rights

The installation section is written for Windows, and the README notes it is not tested on Linux and macOS, though copying the portable_config contents into the relevant mpv folders should be sufficient once mpv is installed, with some settings in mpv.conf possibly needing changes for compatibility, and errors showing up in the console.

The Windows route starts with downloading the latest 64-bit, or 64bit-v3 for newer CPUs, mpv Windows build by shinchiro from the mpv installation page, and extracting it into a folder of your choice, which becomes the mpv folder. Then you run mpv-install.bat from the installer folder with administrator privileges, by right-clicking and choosing run as administrator, and afterwards get a prompt to open Control Panel and set mpv as the default player.

Then you download and extract the portable_config folder from this repository into the mpv folder you just made, and add file paths to the files in the script-opts folder to match your preferences. The README then asks you to adjust the relevant settings in mpv.conf and profiles.conf to fit your system and preferences, using the manual to find out what the options do, or open an issue if you need help.

Updates have their own path. You right-click updater.bat and run it as administrator, then follow the instructions, and there is an option to install yt-dlp and ffmpeg so you can stream YouTube videos and other sites yt-dlp supports. Once the initial run has completed, a settings.xml file is generated to save your preferences.

The two batch scripts need administrator rights because they register mpv with Windows, and that is the one genuinely Windows-specific part of the whole setup.

## The folder layout tells you what has to be edited

The README prints the expected structure of the mpv folder after installation, and it is worth reading as a map of what depends on what:

```
mpv
|
├── doc
│   ├── manual.pdf                            
│   └── mpbindings.png                    # Default key bindings if not overridden in input.conf
│
├── installer
│   ├── mpv-icon.ico
│   ├── mpv-install.bat                   # Run with administrator privileges to install mpv
│   ├── mpv-uninstall.bat                 # Run with administrator privileges to uninstall mpv
│   └── updater.ps1
│
├── portable_config                       # This is where my config is placed
│   ├── cache                             # Created automatically  
```
 The doc directory holds the manual and a PNG of the default key bindings as they apply if input.conf does not override them. The installer directory holds the icon, the install and uninstall batch files and updater.ps1. The portable_config directory is where the configuration actually lives, and inside it a cache directory that mpv creates automatically for the shaders cache and watch_later, a fonts directory, a script-opts directory holding the per-script configuration files, and a scripts directory.

The script-opts listing is the part you will edit first. It contains a sofa file for the HRIR_CIRC360 spatial audio preset, and then afilter.conf, console.conf, evafast.conf, memo.conf, thumbfast.conf and uosc.conf, with a comment on the last one telling you to set the desired default directory for the uosc menu there. The memo-history.log file is created automatically.

The fonts directory holds ClearSans-Bold.ttf, JetBrainsMono-Regular.ttf and the uosc icon and texture fonts. The uosc scripts directory has a bin subdirectory with platform binaries, and the listing includes names for macOS and for other platforms.

The practical consequence is that this is a configuration with hard-coded paths. A setting that says where a script or a font lives will point at the original author's folder layout, which is exactly what the README's instruction to add file paths to the files in script-opts is about.

## Profiles are where the tuning lives, and where your hardware matters

The README names four kinds of tuned profile, for up and downscaling, for live action, for anime and for HDR content, and the file that holds them is profiles.conf alongside mpv.conf. The installation instructions tell you to adjust the relevant settings in both to fit your system and preferences, and the manual is the reference for what each option does.

That division of labour is the sensible one, and worth understanding before you start editing. mpv.conf holds the playback configuration that applies generally, the things like how video is output and how audio is handled. profiles.conf holds the conditional configurations that mpv applies when the content matches, and the four profile categories in this setup are exactly the kinds of content where the right settings differ.

Anime and HDR are the two that interact badly with a generic setup. The shader list in the repository leans heavily on anime upscaling, with Anime4K, AniSD ArtCNN and Ani4K v2 ArtCNN, plus the denoiser and the corrective shaders, and those pipelines are pointless on live action. Conversely, live action benefits from the SSim and KrigBilateral shaders that would soften an anime upscale.

A GPU with a modest shader budget is the other axis. Each of these shader chains is several passes over every frame, and the same chain that runs comfortably on a modern discrete card will not run on an integrated one, which is what the README means by suitable for both high and low-end PCs with some tweaks.

## Conclusion

Adopt mpv-config if you want a working mpv setup with sensible profiles, a usable interface and shader based upscaling already chosen for you, since the whole point of this repository is that someone else made those decisions and wrote them down. Do not adopt it as a base for a distributable setup without reading the file structure, because the paths in the script-opts configuration and the updater are written for one person's folder layout, and the README says the settings may need changing for compatibility. Before you start, read the whole README as the author asks, adjust mpv.conf and profiles.conf to your hardware, and note the maintenance picture, with the last push on 2026-08-13 and no tagged releases at all.

## FAQ

### What is Zabooby's mpv-config and who is it for?

It is a personal configuration for the mpv media player, described as personal mpv configuration for Windows, with tuned profiles for upscaling, live action, anime and HDR, custom key bindings, a GUI, and a set of scripts, shaders and filters. The README says it is suitable for both high and low-end PCs with some tweaks.

### How do I install mpv-config on Windows?

Download a 64-bit mpv Windows build, extract it into a folder of your choice, then run mpv-install.bat from the installer folder as administrator. Extract the portable_config folder from the repository into that mpv folder, add the file paths to the files in the script-opts folder, and adjust mpv.conf and profiles.conf to your system.

### Which shaders does mpv-config use for upscaling and denoising?

For denoising and adaptive sharpening there is nlmeans, an implementation of the non-local Means algorithm. For upscaling there is FSRCNN, a prescaler based on layered convolutional networks, AniSD ArtCNN for standard definition anime, Anime4K and Ani4K v2 ArtCNN for anime, plus nnedi3 and ravu for prescaling, and Adaptive Sharpen, SSimDownscaler, KrigBilateral and SSimSuperRes from igv.

### Does mpv-config work on Linux and macOS?

It is not tested there, according to the README, but once mpv is installed, copying the contents of the portable_config folder into the relevant mpv folders should be sufficient. The README warns that some settings in mpv.conf may need to be changed for compatibility issues, and that errors show up in the console.

### How do I update mpv and stream YouTube videos with mpv-config?

Right-click updater.bat and run it as administrator, then follow the instructions. There is an option to install yt-dlp and ffmpeg so you can stream YouTube videos and other sites yt-dlp supports, and once the initial run has completed a settings.xml file is generated to save your preferences.

## Sources

- [Issues](https://github.com/Zabooby/mpv-config/issues)
- [Project website](https://mpv.io)
- [README](https://github.com/Zabooby/mpv-config/blob/main/README.md)
- [Zabooby/mpv-config on GitHub](https://github.com/Zabooby/mpv-config)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/zabooby-mpv-config
