My Conf
###########
GPU API
###########
Controls which type of graphics APIs will be accepted, switch to “d3d11” (on Windows) or “opengl” if you have issues
Uncomment one API only
Vulkan Linux, Windows (preferred)
gpu-api=vulkan
DirectX on Windows
gpu-api=d3d11
OpenGL on Linux or macOS or Windows
gpu-api=opengl
##########
Player
##########
#input-ipc-server=/tmp/mpvsocket
hr-seek-framedrop=no
no-resume-playback
border=no # recommended for ModernX OSC
msg-color=yes
msg-module=yes
General
fullscreen=yes # Always open the video player in full screen
keep-open=yes # Don’t close the player after finishing the video
autofit=85%x85% # Start mpv with a % smaller resolution of your screen
cursor-autohide=100 # Cursor hide in ms
###############
Screenshots
###############
screenshot-template=“%x/Screens/Screenshot-%F-T%wH.%wM.%wS.%wT-F%{estimated-frame-number}”
screenshot-format=png # Set screenshot format
screenshot-png-compression=4 # Range is 0 to 10. 0 being no compression.
screenshot-tag-colorspace=yes
screenshot-high-bit-depth=yes # Same output bitdepth as the video
###########
OSC/OSD
###########
osc=no # ‘no’ required for MordernX OSC
osd-bar=yes # Do not remove/comment if mpv_thumbnail_script_client_osc.lua is being used.
osd-font=‘Inter Tight Medium’ # Set a font for OSC
osd-font-size=30 # Set a font size
osd-color=‘#CCFFFFFF’ # ARGB format
osd-border-color=‘#DD322640’ # ARGB format
osd-bar-align-y=-1 # progress bar y alignment (-1 top, 0 centered, 1 bottom)
osd-border-size=2 # size for osd text and progress bar
osd-bar-h=1 # height of osd bar as a fractional percentage of your screen height
osd-bar-w=60 # width of " " "
########
Subs
########
blend-subtitles=no
sub-ass-vsfilter-blur-compat=yes # Backward compatibility for vsfilter fansubs
sub-ass-scale-with-window=no # May have undesired effects with signs being misplaced.
sub-auto=fuzzy # external subs don’t have to match the file name exactly to autoload
sub-gauss=0.6 # Some settings fixing VOB/PGS subtitles (creating blur & changing yellow subs to gray)
sub-file-paths-append=ass # search for external subs in these relative subdirectories
sub-file-paths-append=srt
sub-file-paths-append=sub
sub-file-paths-append=subs
sub-file-paths-append=subtitles
demuxer-mkv-subtitle-preroll=yes # try to correctly show embedded subs when seeking
embeddedfonts=yes # use embedded fonts for SSA/ASS subs
sub-fix-timing=no # do not try to fix gaps (which might make it worse in some cases). Enable if there are scenebleeds.
Subs - Forced
sub-font=Open Sans SemiBold
sub-font-size=46
sub-blur=0.3
sub-border-color=0.0/0.0/0.0/0.8
sub-border-size=3.2
sub-color=0.9/0.9/0.9/1.0
sub-margin-x=100
sub-margin-y=50
sub-shadow-color=0.0/0.0/0.0/0.25
sub-shadow-offset=0
#########
Audio
#########
volume-max=200 # maximum volume in %, everything above 100 results in amplification
audio-stream-silence # fix audio popping on random seek
audio-file-auto=fuzzy # external audio doesn’t has to match the file name exactly to autoload
audio-pitch-correction=yes # automatically insert scaletempo when playing with higher speed
Languages
alang=jpn,jp,eng,en,enUS,en-US,de,ger # Audio language priority
slang=eng,en,und,de,ger,jp,jap # Subtitle language priority
##################
Video Profiles
##################
profile=high-quality # mpv --show-profile=gpu-hq
hwdec=auto-copy # enable hardware decoding, defaults to ‘no’
vo=gpu-next # GPU-Next: GPU Next vs GPU · mpv-player/mpv Wiki · GitHub
Dither
dither-depth=auto
Debanding
deband=yes
deband-iterations=4
deband-threshold=35
deband-range=16
deband-grain=4
glsl-shader=“~~/shaders/ravu-zoom-ar-r3-rgb.hook” # good balance between performance and quality
scale=ewa_lanczos
scale-blur=0.981251
Luma down (optional, uncomment shader line if your hardware can support it)
dscale=catmull_rom
correct-downscaling=yes
linear-downscaling=no
Chroma up + down (optional, uncomment one shader line only if your hardware can support it)
glsl-shader=“~~/shaders/JointBilateral.glsl”
glsl-shader=“~~/shaders/FastBilateral.glsl”
glsl-shader=“~~/shaders/CfL_Prediction.glsl”
cscale=lanczos
sigmoid-upscaling=yes
Interpolation
video-sync=display-resample
interpolation=yes
tscale=sphinx
tscale-blur=0.6991556596428412
tscale-radius=1.05
tscale-clamp=0.0
SDR
tone-mapping=bt.2446a
HDR
target-colorspace-hint=yes
############
Playback
############
deinterlace=no # global reset of deinterlacing to off
[default]
apply all luma and chroma upscaling and downscaling settings
apply motion interpolation
############################
Protocol Specific Config
############################
[protocol.http]
hls-bitrate=max # use max quality for HLS streams
cache=yes
no-cache-pause # don’t pause when the cache runs low
[protocol.https]
profile=protocol.http
[protocol.ytdl]
profile=protocol.http
Plays Video’s nicely as well.