Home

Awesome

Personal mpv Configuration for Windows

<p align="center"><img width=100% src="https://github.com/Zabooby/mpv-config/assets/78969986/3d95db6f-4ebd-4e84-94cc-c1825297f18e" alt="mpv screenshot"></p> <p align="center"><img width=100% src="https://github.com/Zabooby/mpv-config/assets/78969986/e4dec0a5-fb4a-438e-96f0-4b87a0f59d34" alt="mpv screenshot"></p>

Overview

Just my personal config files for use in mpv, a free, open-source, & cross-platform media player, with a focus on quality and a practical yet comfortable viewing experience. Contains tuned profiles (for up/downscaling, live action & anime), custom key bindings, a GUI, as well as multiple scripts, shaders & filters, all serving different functions. Suitable for both high and low-end computers (with some tweaks).

Before installing, please take your time to read this whole README as common issues can be easily solved by simply reading carefully.

Scripts and Shaders


Installation (on Windows)

(Not tested on Linux and macOS but once mpv is installed, copying the contents of my portable_config into the relevant folders should be sufficient.)

After following the steps above, your mpv folder should have the following structure:

File Structure (on Windows)

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 priviledges to install mpv
│   ├── mpv-uninstall.bat                 # Run with administrator priviledges to uninstall mpv
│   └── updater.ps1
│
├── portable_config                       # This is where my config is placed
│   ├── cache                             # Created automatically  
│   │   ├──  watch_later                  # Video timestamps saved here (created automatically)
│   │
│   ├── fonts
│   │   ├── ClearSans-Bold.ttf
│   │   ├── JetBrainsMono-Regular.ttf
|   |   ├── uosc_icons.otf
|   |   └── uosc_textures.ttf
│   │
│   ├── script-opts                       # Contains configuration files for scripts
|   |   ├── console.conf
|   |   ├── evafast.conf 
|   |   ├── memo.conf
|   |   ├── memo-history.log              # Created automatically 
│   │   ├── thumbfast.conf                    
│   │   ├── uosc.conf                     # Set desired default directory for uosc menu here
│   │   └── webtorrent.conf               # Specify where to save downloaded files here
│   │
│   ├── scripts      
│   │   ├── uosc              
│   │       ├── bin 
|   |           ├── ziggy-darwin
|   |           ├── ziggy-linux
|   |           ├── ziggy-windows.exe
│   │       ├── char_conv
|   |           ├── zh.json
│   │       ├── elements 
|   |           ├── BufferingIndicator.lua
|   |           ├── Button.lua
|   |           ├── Controls.lua
|   |           ├── Curtain.lua
|   |           ├── CycleButton.lua
|   |           ├── Element.lua
|   |           ├── Elements.lua
|   |           ├── ManagedButton.lua
|   |           ├── Menu.lua
|   |           ├── PauseIndicator.lua
|   |           ├── Speed.lua
|   |           ├── Timeline.lua
|   |           ├── TopBar.lua
|   |           ├── Updater.lua
|   |           ├── Volume.lua
|   |           └── WindowBorder.lua
|   |       ├── intl
|   |           ├── de.lua
|   |           ├── es.lua
|   |           ├── fr.json
|   |           ├── ro.json
|   |           ├── ru.json
|   |           ├── uk.json
|   |           └── zh-hans.json
|   |       ├── lib
|   |           ├── ass.lua
|   |           ├── buttons.lua
|   |           ├── char_conv.lua
|   |           ├── cursor.lua
|   |           ├── intl.lua
|   |           ├── menus.lua
|   |           ├── std.lua
|   |           ├── text.lua
|   |           └── utils.lua
|   |       └── main.lua
│   │
│   │   ├── autodeint.lua
│   │   ├── autoload.lua 
│   │   ├── evafast.lua                   # Activated by holding right arrow key
│   │   ├── inputevent.lua
|   |   ├── memo.lua
│   │   ├── thumbfast.lua                     
│   │   └── webtorrent.js                 # Point here when setting up the webtorrent script
│   │
│   ├── shaders                          
│   │   ├── A4K_Dark.glsl                         
│   │   ├── A4K_Thin.glsl
│   │   ├── A4K_Upscale_L.glsl
│   │   ├── adasharp.glsl                     
│   │   ├── adasharpA.glsl                # Adjusted for anime
│   │   ├── CAS.glsl
│   │   ├── CfL_P.glsl
│   │   ├── F16.glsl
│   │   ├── F16_LA.glsl
│   │   ├── FSR_EASU.glsl       
│   │   ├── nlmeans_HQ.glsl
│   │   ├── nlmeans_L_HQ.glsl
│   │   ├── NVSharpen.glsl
│   │   ├── ravu_L_ar_r4.hook
│   │   ├── ravu_Z_ar_r3.hook
│   │   ├── ssimds.glsl
│   │   └── ssimsr.glsl
│   │
|   ├── fonts.conf                        # Delete the duplicate made when installing mpv
│   ├── input.conf                        # Customise uosc menu here
│   ├── mpv.conf                          
|   └── profiles.conf                     
|   
├── d3dcompiler_43.dll
├── mpv.com
├── mpv.exe                               # The mpv executable file
├── settings.xml                          # Created after initial run of updater.bat
├── updater.bat                           # Run with administrator priviledges to update mpv
└── yt-dlp.exe                            

Key Bindings

Custom key bindings can be added/edited in the input.conf file. Refer to the manual and uosc commands for making any changes. Default key bindings can be seen from the input.conf file but most of the player functions can be used through the menu accessed by Right Click and the buttons above the timeline as seen in the images above.

Useful Links