# MPV Configuration autoload-files=no input-ipc-server=/run/user/1000/mpv script-opts=ytdl_hook-ytdl_path=/usr/bin/yt-dlp # # Video # # framedrop=decoder+vo video-sync=display-resample # interpolation window-maximized=yes # prevent wayland problems with buffer resize hwdec=auto # color stuff # icc-profile=~~/B140QAN02_0.icm # tone-mapping=mobius # target-peak=500 # colour shit gamma-factor=1.1 hdr-compute-peak=no gamut-clipping=no # # Audio # alang=jpn,ja,eng,en,ger,de volume-max=200 audio-channels=auto-safe # bs2b filter # af-add=lavfi=[bs2b=profile=jmeier] #default,cmoy # # Subtitles # slang=eng,en,ger,de sub-font="Rosario" sub-bold=yes # sub-ass-force-style=Kerning=yes # # OSD # osc=no osd-bar=no border=no # keep-open=yes stop-screensaver=yes cursor-autohide-fs-only osd-font="Iosevka Aile" # osd-font=monospace # osd-font-size=15 # osd-border-size=2 # osd-scale-by-window=yes # osd-fractions=yes hidpi-window-scale load-stats-overlay=yes load-osd-console=yes keepaspect-window=yes autofit-larger=x90% # # Misc. # screenshot-directory=~/Pictures/screenshots/mpv screenshot-template='%tY%tm%td-%tH%tM%tS-%F-%p' # screenshot-format=png # screenshot-jpeg-quality=100 ytdl-format=bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4,best #ytdl-raw-options=prefer-free-formats=true # # PROFILES # [protocol.http] profile-desc="Optimized for streaming video" glsl-shaders-clr title="${media-title}" ytdl-format=bestvideo[height<=?1080]+bestaudio/best[height<=?1080] demuxer-seekable-cache=yes demuxer-max-bytes=2048MiB demuxer-max-back-bytes=1024MiB script=~/.config/mpv/scripts/mpv-plugin-streamcache/streamcache.lua [protocol.https] profile=protocol.http [url.googledrive.balena] # profile=protocol.http profile-cond=not not string.match(get('path'), 'drive.google.com') cookies-file=~/Downloads/cookies.balena_google_drive.txt ytdl-raw-options=cookies=~/Downloads/cookies.balena_google_drive.txt [url.youtube] profile=protocol.http profile-cond=not not string.match(get('path'), 'youtube.com') ytdl-raw-options=cookies=~/Downloads/cookies.balena_google_drive.txt [hq] profile-desc="Optimized for HQ rendering" # profile-cond=height <= 1440 profile=gpu-hq [anime] profile-desc="Optimized for watching anime with ASS subtitles" sub-auto=fuzzy deband=yes # sub-border-size=2 # sub-font-size=45 # sub-margin-y=50 # sub-spacing=1 ordered-chapters-files=/tmp/mpv_ordered_chapters [cache] profile=protocol.http [scale] profile-desc="Use fancy scaling algorithms" glsl-shaders-clr scale=ewa_lanczossharp cscale=ewa_lanczossharp dscale=ewa_lanczossharp correct-downscaling=yes sigmoid-upscaling=yes [gpuscale] profile-desc="Use GLSL shaders to scale via GPU (FSRCNNX)" profile=gpu-hq hwdec=auto-copy gpu-api=opengl fbo-format=rgba16f cscale=mitchell dscale=mitchell linear-downscaling=no glsl-shaders-clr glsl-shaders=~~/shaders/default-shader-pack/shaders/FSRCNNX_x2_8-0-4-1.glsl glsl-shaders=~~/shaders/default-shader-pack/shaders/KrigBilateral.glsl glsl-shaders=~~/shaders/default-shader-pack/shaders/SSimDownscaler.glsl [gpuscale-high] profile-desc="Use GLSL shaders to scale via GPU (FSRCNNX x16)" profile=gpu-hq hwdec=auto-copy gpu-api=opengl fbo-format=rgba16f cscale=mitchell dscale=mitchell linear-downscaling=no glsl-shaders-clr glsl-shaders=~~/shaders/default-shader-pack/shaders/FSRCNNX_x2_16-0-4-1.glsl glsl-shaders=~~/shaders/default-shader-pack/shaders/KrigBilateral.glsl glsl-shaders=~~/shaders/default-shader-pack/shaders/SSimDownscaler.glsl [interpolate] profile-desc="Increase framecount by interpolating (with vapoursynth)" profile=gpu-hq vf-toggle=@vsfmt:format=yuv420p vf-toggle=@vsscale:scale=w=-1:h=540 vf-toggle=@vs:vapoursynth=~~/vapoursynth/interpolate.vpy:4:4 sws-scaler=spline [svp] profile-desc="[irrelevant] Integrate with SVP" # Everything below here only applies to this profile until another profile is declared! input-ipc-server=/tmp/mpvsocket # Receives input from SVP hr-seek-framedrop=no # Fixes audio desync resume-playback=no # Not compatible with SVP hwdec=auto-copy hwdec-codecs=all autofit-larger=100%x100% [reset] profile-desc="Reset everything to vanilla mpv" profile=default load-scripts=no osc=yes osd-bar=yes [3d] profile-desc="[irrelevant] Transform 3d video file to 2d" vf-add='stereo3d:ab2l:ml' [skip-silence] profile-desc="Skip over silent parts" af-add='silenceremove=0:0:0:-1:0.001:-45dB:0:rms' [anime4k] profile-desc="Anime4K x2 Perceptual" glsl-shaders-clr glsl-shaders=~~/shaders/default-shader-pack/shaders/Anime4K_3.0_Upscale_CNN_M_x2_Deblur.glsl glsl-shaders=~~/shaders/default-shader-pack/shaders/Anime4K_3.0_ThinLines_HQ.glsl glsl-shaders=~~/shaders/default-shader-pack/shaders/Anime4K_3.0_DarkLines_HQ.glsl glsl-shaders=~~/shaders/default-shader-pack/shaders/Anime4K_3.0_Denoise_Bilateral_Mode.glsl [webcam] profile-desc="Optimized for showing internal webcam feed" osc=no profile=low-latency # video-sync=display-desync # needed or external audio will fail pulse-latency-hacks=yes # demuxer-lavf-o=input_format=mjpeg,video_size=848x480 # framedrop=no # no-demuxer-thread opengl-glfinish=yes opengl-swapinterval=0 vf-add=hflip