Skip to content

Instantly share code, notes, and snippets.

@hl2guide
Last active May 8, 2025 08:57
Show Gist options
  • Save hl2guide/18caf74680bc6d40fb397255d7c0c02d to your computer and use it in GitHub Desktop.
Save hl2guide/18caf74680bc6d40fb397255d7c0c02d to your computer and use it in GitHub Desktop.
MPV config file for Windows 11 in 2025 (https://mpv.io/)
# MPV v3 Config - version 1.5
# Date: 2025-05-08 16:14:44 +1000
# REF: https://github.com/Argon-/mpv-config/blob/master/mpv.conf
# REF: https://github.com/Zabooby/mpv-config
# REF: https://gist.github.com/igv
# ===== SEEKING =====
save-position-on-quit=yes # saves the seekbar position on exit
#force-seekable=yes # forces videos to be seekable
# ===== RAM =====
cache=yes # uses a large seekable RAM cache even for local input.
cache-secs=1600 # uses extra large RAM cache (needs cache=yes to make it useful).
#demuxer-max-back-bytes=20M # sets fast seeking
#demuxer-max-bytes=20M # sets fast seeking
# ===== VIDEO =====
vlang=en,eng # Sets the video language
vo=gpu-next # Sets the video out to an experimental video renderer based on libplacebo
# ===== AUDIO =====
volume-max=100 # maximum volume in %, everything above 100 results in amplification
volume=90 # default volume, 100 = unchanged
# ===== GENERAL =====
keep-open=yes # keeps the player open after a video/playlist ends
hls-bitrate=max # uses max quality for HLS streams
pause=yes # disables autoplay
prefetch-playlist=yes # prefetches the playlist
snap-window=yes # Enables windows snapping for Windows 10, 11
priority=high # Makes PC prioritize MPV for allocating resources
taskbar-progress=yes
window-maximized=yes
fullscreen=yes
# ===== TERMINAL =====
cursor-autohide=100 # autohides the cursor after x ms
cursor-autohide-fs-only=yes # don't autohide the cursor in window mode, only fullscreen
msg-color=yes # color log messages on terminal
msg-module=yes # prepend module name to log messages
term-osd-bar=yes # displays a progress bar on the terminal
# ===== SUBTITLES =====
# Display English Subtitles if available
#sub-ass-force-margins=yes
#sub-ass-force-style=Kerning=yes # allows you to override style parameters of ASS scripts
#sub-auto=fuzzy # external subs don't have to match the file name exactly to autoload
#sub-border-color="#FF262626"
#sub-border-size=3.0
#sub-color="#FFFFFFFF"
#sub-shadow-color="#33000000"
#sub-shadow-offset=1
#sub-spacing=0.5
#sub-use-margins=yes
alang=en,eng # default audio languages
embeddedfonts=yes # use embedded fonts for SSA/ASS subs
slang=en,eng # default subtitles languages
sub-auto=all
sub-color='#eaea27' # use yellow sub color (remove this line to make subtitles the default white colour)
sub-file-paths-append='Subs/${filename/no-ext}' # search for external subs in these relative subdirectories
sub-file-paths-append='Subs/${filename}'
sub-file-paths-append='subs/${filename/no-ext}'
sub-file-paths-append='subs/${filename}'
sub-file-paths-append=ASS
sub-file-paths-append=Ass
sub-file-paths-append=SRT
sub-file-paths-append=Srt
sub-file-paths-append=Sub
sub-file-paths-append=Subs
sub-file-paths-append=Subtitles
sub-file-paths-append=ass
sub-file-paths-append=srt
sub-file-paths-append=sub
sub-file-paths-append=subs
sub-file-paths-append=subtitles
sub-fix-timing=no # do not try to fix gaps (which might make it worse in some cases)
#sub-font-size=45
sub-font="Arial" # sets the default font
sub-scale=1 # subtitle scale
#sub-scale-by-window=yes
sub-scale-with-window=yes
# ===== FILE EXTENSIONS =====
[extension.gif]
profile-desc=GIF
cache=no
no-pause
loop-file=yes
[extension.png]
profile-desc=PNG
video-aspect-override=no
loop-file=yes
[extension.jpg]
profile-desc=JPG
video-aspect-override=no
loop-file=yes
[extension.jpeg]
profile-desc=JPEG
profile=extension.jpg
loop-file=yes
[extension.mkv]
# Makes MKV files show on the first display in fullscreen
profile-desc=MKV
profile=extension.mkv
screen=0 # 0 = 1st screen
window-maximized=yes
fullscreen=yes
#pause=no
[extension.mp4]
# Makes MP4 files show on the first display in fullscreen
profile-desc=MP4
profile=extension.mp4
screen=0 # 0 = 1st screen
window-maximized=yes
fullscreen=yes
#pause=no
# ===== CONDITIONAL AUTO PROFILES =====
# Play youtube videos on the second display
[youtube]
profile-desc="profile for YouTube videos"
profile-cond=path:find('youtu%.?be')
screen=1 # 0 = 1st screen
window-maximized=yes
fullscreen=yes
#pause=no
# Play rumble.com videos on the second display
[youtube]
profile-desc="profile for rumble.com videos"
profile-cond=path:find('rumble.com')
screen=1 # 0 = 1st screen
window-maximized=yes
fullscreen=yes
#pause=no
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment