mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2025-12-05 02:53:38 -08:00
update mpv config and remove osc.conf
This commit is contained in:
@@ -1,124 +1,142 @@
|
|||||||
|
profile=high-quality
|
||||||
user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
|
user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
|
||||||
cache=yes
|
glsl-shaders="" # Disable heavy shaders for regular content
|
||||||
demuxer-max-bytes=500M
|
# glsl-shaders="~~/shaders/ArtCNN_C4F32_DS.glsl"
|
||||||
demuxer-max-back-bytes=100M
|
# glsl-shaders="~~/shaders/ArtCNN_C4F32.glsl"
|
||||||
cache-pause=no
|
scale=spline36 # Faster than ewa_lanczos for high-res video when shaders are off
|
||||||
|
dither=fruit # Lighter dithering aimed at 8-bit or FRC panels
|
||||||
|
|
||||||
|
# --- Window & interface ---
|
||||||
ontop=yes
|
ontop=yes
|
||||||
|
border=no
|
||||||
|
no-border
|
||||||
|
autofit=50% # Start at half of the screen to avoid oversized windows on UHD displays
|
||||||
|
osc=no
|
||||||
|
blend-subtitles=video # Keeps subtitles composited into the video plane
|
||||||
|
opengl-early-flush=no # Delay buffer flushes to reduce micro-stutter on some GPUs
|
||||||
|
|
||||||
|
# --- Subtitle defaults ---
|
||||||
sub-font="JetBrainsMono Nerd Font"
|
sub-font="JetBrainsMono Nerd Font"
|
||||||
sub-font-size=45
|
sub-font-size=45
|
||||||
# osd-font="Fluent System Icons"
|
sub-auto=fuzzy
|
||||||
border=no
|
slang=en,eng
|
||||||
# geometry=50%
|
subs-with-matching-audio=no
|
||||||
autofit=50%
|
sub-fix-timing=yes
|
||||||
|
sub-ass-override=scale
|
||||||
|
sub-gauss=1.0
|
||||||
|
sub-gray=yes
|
||||||
|
|
||||||
|
# --- Audio chain ---
|
||||||
volume=75
|
volume=75
|
||||||
|
ao=pipewire,pulse
|
||||||
audio-spdif=ac3,dts-hd,truehd
|
audio-spdif=ac3,dts-hd,truehd
|
||||||
# glsl-shaders="~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"
|
audio-stream-silence=yes # Keep the device primed to avoid startup pops
|
||||||
# glsl-shaders="~~/shaders/FSRCNNX.glsl:~~/shaders/FSR.glsl:~~/shaders/NVScaler.glsl:~~/shaders/CAS-scaled.glsl"
|
audio-wait-open=0.1 # Shorten audio device warm-up for snappier playback
|
||||||
# glsl-shaders="~~/shaders/ArtCNN_C4F32_DS.glsl"
|
|
||||||
glsl-shaders="~~/shaders/ArtCNN_C4F32.glsl"
|
|
||||||
|
|
||||||
# Can fix stuttering in some cases, in other cases probably causes it. Try it if you experience stuttering.
|
|
||||||
opengl-early-flush=no
|
|
||||||
|
|
||||||
video-sync=display-resample
|
|
||||||
osc=no
|
|
||||||
no-border
|
|
||||||
|
|
||||||
|
# --- Networking & remote sources ---
|
||||||
ytdl-format=bestvideo+bestaudio/best
|
ytdl-format=bestvideo+bestaudio/best
|
||||||
ytdl-raw-options=sub-langs=en.*,write-auto-subs=
|
ytdl-raw-options=sub-langs=en.*,write-auto-subs=
|
||||||
ytdl-raw-options-append=sponsorblock-mark=all
|
ytdl-raw-options-append=sponsorblock-mark=all
|
||||||
ytdl-raw-options-append=sponsorblock-remove=sponsor,selfpromo,interaction
|
ytdl-raw-options-append=sponsorblock-remove=sponsor,selfpromo,interaction
|
||||||
|
|
||||||
# get subtitles for videos automatically
|
# --- Video output & decoding ---
|
||||||
sub-auto=fuzzy
|
|
||||||
slang=en,eng
|
|
||||||
|
|
||||||
# profile=svp
|
|
||||||
profile=high-quality
|
|
||||||
blend-subtitles=video
|
|
||||||
# GPU OPTIONS
|
|
||||||
vo=gpu-next
|
vo=gpu-next
|
||||||
hwdec=nvdec
|
hwdec=nvdec
|
||||||
|
hwdec-codecs=all
|
||||||
gpu-api=vulkan
|
gpu-api=vulkan
|
||||||
|
gpu-context=waylandvk
|
||||||
|
vulkan-queue-count=2
|
||||||
|
vulkan-async-compute=yes # Use independent compute queues for tone mapping/shaders
|
||||||
|
vulkan-async-transfer=yes # Parallelize frame uploads to free the graphics queue
|
||||||
|
vd-lavc-dr=yes # Direct rendering keeps frames resident on the GPU longer
|
||||||
|
vd-lavc-threads=0 # Let ffmpeg auto-pick the optimal thread count
|
||||||
|
video-sync=display-resample # Smoothly match video speed to the display refresh
|
||||||
|
|
||||||
|
# --- Scaling, interpolation, and dithering ---
|
||||||
scale=ewa_lanczossharp
|
scale=ewa_lanczossharp
|
||||||
dscale=catmull_rom
|
dscale=catmull_rom
|
||||||
cscale=ewa_lanczos
|
cscale=ewa_lanczos
|
||||||
tscale=oversample
|
tscale=oversample
|
||||||
interpolation=yes
|
interpolation=yes
|
||||||
interpolation-preserve=no
|
interpolation-preserve=no
|
||||||
interpolation-threshold=0.5
|
interpolation-threshold=0.5 # Only blend nearby frames to reduce SOE artifacts
|
||||||
sigmoid-upscaling=yes
|
sigmoid-upscaling=yes # Protect highlights when upscaling SDR video
|
||||||
temporal-dither=yes
|
temporal-dither=yes # Prefer temporal noise over spatial patterns on SDR panels
|
||||||
|
# Dithering presets reference:
|
||||||
# fruit: 8-Bit/8-Bit+FRC display
|
# fruit -> 8-bit / 8-bit + FRC displays
|
||||||
# ordered: true 10-Bit/12-Bit display
|
# ordered -> True 10-bit / 12-bit displays
|
||||||
# error-diffusion: high-end GPUs
|
# error-diffusion -> High-end GPUs
|
||||||
dither=error-diffusion
|
dither=error-diffusion
|
||||||
dither-depth=auto
|
dither-depth=auto
|
||||||
error-diffusion=sierra-lite # uncomment if not 'error-diffusion'
|
error-diffusion=sierra-lite # Balanced diffusion kernel for 8-bit panels
|
||||||
|
|
||||||
###### Antiring
|
# --- Antiring controls ---
|
||||||
scale-antiring=0.5
|
scale-antiring=0.5
|
||||||
dscale-antiring=0.5
|
dscale-antiring=0.5
|
||||||
cscale-antiring=0.5
|
cscale-antiring=0.5
|
||||||
|
|
||||||
# laptop
|
# --- Post-processing ---
|
||||||
# vo=gpu
|
|
||||||
# gpu-api=opengl
|
|
||||||
# gpu-context=wayland
|
|
||||||
# profile=opengl-hq
|
|
||||||
|
|
||||||
gpu-context=waylandvk
|
|
||||||
gpu-api=vulkan
|
|
||||||
vulkan-swap-mode=mailbox
|
|
||||||
swapchain-depth=2
|
|
||||||
vulkan-async-compute=no
|
|
||||||
vd-lavc-threads=0
|
|
||||||
opengl-pbo=yes
|
|
||||||
vd-lavc-film-grain=gpu
|
|
||||||
|
|
||||||
input-ipc-server=/tmp/mpvsocket
|
|
||||||
# ao=pule,pipewire
|
|
||||||
ao=pipewire,pulse
|
|
||||||
|
|
||||||
deband=yes
|
deband=yes
|
||||||
deband-iterations=2
|
deband-iterations=2
|
||||||
deband-threshold=24
|
deband-threshold=24
|
||||||
deband-range=16
|
deband-range=16
|
||||||
deband-grain=4
|
deband-grain=4
|
||||||
|
|
||||||
subs-with-matching-audio=no
|
# --- IPC & automation ---
|
||||||
sub-fix-timing=yes
|
input-ipc-server=/tmp/mpvsocket # Allows external tools (e.g., SVP) to control mpv
|
||||||
sub-ass-override=scale
|
|
||||||
#Some settings fixing VOB/PGS subtitles (creating blur & changing yellow subs to gray)
|
|
||||||
sub-gauss=1.0
|
|
||||||
sub-gray=yes
|
|
||||||
|
|
||||||
###### High-quality screenshots
|
# --- Screenshot workflow ---
|
||||||
screenshot-format=webp
|
screenshot-format=webp
|
||||||
screenshot-webp-lossless=yes
|
screenshot-webp-lossless=yes
|
||||||
screenshot-high-bit-depth=yes
|
screenshot-high-bit-depth=yes
|
||||||
screenshot-sw=no
|
screenshot-sw=no # Force GPU path so tone mapping stays consistent
|
||||||
screenshot-directory="/truenas/sudacode/pictures/mpv"
|
screenshot-directory="/truenas/sudacode/pictures/mpv"
|
||||||
screenshot-template="%f-%wH.%wM.%wS.%wT-#%#00n"
|
screenshot-template="%f-%wH.%wM.%wS.%wT-#%#00n"
|
||||||
|
|
||||||
|
# --- Session persistence ---
|
||||||
save-position-on-quit
|
save-position-on-quit
|
||||||
watch-later-dir="~~/.watch-later"
|
watch-later-dir="~~/.watch-later"
|
||||||
resume-playback=yes
|
resume-playback=yes
|
||||||
save-watch-history
|
save-watch-history
|
||||||
watch-history-path="~~/state/watch_history.jsonl"
|
watch-history-path="~~/state/watch_history.jsonl"
|
||||||
|
|
||||||
|
# --- HDR/SDR hints ---
|
||||||
target-colorspace-hint=yes
|
target-colorspace-hint=yes
|
||||||
|
|
||||||
|
# --- Caching & buffers ---
|
||||||
|
cache=yes
|
||||||
|
demuxer-max-bytes=1GiB # Buffer up to 1 GiB for high-bitrate remuxes
|
||||||
|
demuxer-max-back-bytes=200MiB # Keep recent data handy for quick reverse seeks
|
||||||
|
cache-secs=30
|
||||||
|
demuxer-readahead-secs=30
|
||||||
|
|
||||||
|
[anime]
|
||||||
|
profile-desc="Anime upscaling with ArtCNN"
|
||||||
|
glsl-shaders="~~/shaders/ArtCNN_C4F32.glsl"
|
||||||
|
scale=ewa_lanczossharp
|
||||||
|
dither=error-diffusion
|
||||||
|
deband=yes # Crucial for anime gradients
|
||||||
|
|
||||||
|
[movies]
|
||||||
|
profile-desc="Movies and TV shows"
|
||||||
|
profile-cond=width >= 1920 and filename:match("mkv$|mp4$")
|
||||||
|
glsl-shaders=""
|
||||||
|
scale=ewa_lanczos
|
||||||
|
target-peak=800
|
||||||
|
|
||||||
[hdr]
|
[hdr]
|
||||||
target-colorspace-hint=yes
|
target-colorspace-hint=yes
|
||||||
gpu-api=vulkan
|
tone-mapping-param=0.5
|
||||||
gpu-context=waylandvk
|
tone-mapping-max-boost=2.0
|
||||||
|
allow-delayed-peak-detect=yes
|
||||||
|
# For SDR content on HDR display (or vice versa)
|
||||||
|
icc-profile-auto=yes
|
||||||
|
|
||||||
[svp]
|
[svp]
|
||||||
interpolation=no
|
interpolation=no
|
||||||
input-ipc-server=/tmp/mpvsocket # Receives input from SVP
|
input-ipc-server=/tmp/mpvsocket
|
||||||
hr-seek-framedrop=no # Fixes audio desync
|
hr-seek-framedrop=no
|
||||||
resume-playback=no # Not compatible with SVP
|
resume-playback=no
|
||||||
|
|
||||||
[Idle]
|
[Idle]
|
||||||
profile-cond=p["idle-active"]
|
profile-cond=p["idle-active"]
|
||||||
@@ -139,7 +157,16 @@ sub-auto=fuzzy
|
|||||||
slang=ja,jpn,ja.hi,ja.*
|
slang=ja,jpn,ja.hi,ja.*
|
||||||
alang=ja,jpn
|
alang=ja,jpn
|
||||||
vlang=ja,jpn
|
vlang=ja,jpn
|
||||||
|
glsl-shaders="~~/shaders/ArtCNN_C4F32.glsl"
|
||||||
|
scale=ewa_lanczossharp
|
||||||
|
dither=error-diffusion
|
||||||
|
deband=yes # Crucial for anime gradients
|
||||||
|
|
||||||
|
[anime-subs]
|
||||||
|
profile-cond=p["slang"] == "ja" or p["slang"] == "ja.hi"
|
||||||
sub-font="Noto Sans CJK JP"
|
sub-font="Noto Sans CJK JP"
|
||||||
sub-border-size=1
|
sub-font-size=42
|
||||||
sub-shadow-color=0.0/0.0/0.0/0.50
|
sub-border-size=1.2
|
||||||
sub-shadow-offset=2
|
sub-shadow-color=0.0/0.0/0.0/0.6
|
||||||
|
sub-shadow-offset=3
|
||||||
|
sub-hinting=light
|
||||||
|
|||||||
@@ -1,233 +1,181 @@
|
|||||||
#
|
user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
|
||||||
# Example mpv configuration file
|
|
||||||
#
|
|
||||||
# Warning:
|
|
||||||
#
|
|
||||||
# The commented example options usually do _not_ set the default values. Call
|
|
||||||
# mpv with --list-options to see the default values for most options. There is
|
|
||||||
# no builtin or example mpv.conf with all the defaults.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Configuration files are read system-wide from /usr/local/etc/mpv.conf
|
|
||||||
# and per-user from ~~/mpv.conf, where per-user settings override
|
|
||||||
# system-wide settings, all of which are overridden by the command line.
|
|
||||||
#
|
|
||||||
# Configuration file settings and the command line options use the same
|
|
||||||
# underlying mechanisms. Most options can be put into the configuration file
|
|
||||||
# by dropping the preceding '--'. See the man page for a complete list of
|
|
||||||
# options.
|
|
||||||
#
|
|
||||||
# Lines starting with '#' are comments and are ignored.
|
|
||||||
#
|
|
||||||
# See the CONFIGURATION FILES section in the man page
|
|
||||||
# for a detailed description of the syntax.
|
|
||||||
#
|
|
||||||
# Profiles should be placed at the bottom of the configuration file to ensure
|
|
||||||
# that settings wanted as defaults are not restricted to specific profiles.
|
|
||||||
|
|
||||||
##################
|
glsl-shaders=""
|
||||||
# video settings #
|
scale=spline36 # Fast, high-quality fallback
|
||||||
##################
|
dither=fruit # Lightweight dithering
|
||||||
|
|
||||||
# Start in fullscreen mode by default.
|
# Window & interface
|
||||||
#fs=yes
|
ontop=yes
|
||||||
|
border=no
|
||||||
|
no-border
|
||||||
|
autofit=50% # Reasonable default size
|
||||||
|
|
||||||
# force starting with centered window
|
# Audio (macOS-specific)
|
||||||
# geometry=50%:50%
|
volume=75
|
||||||
|
ao=coreaudio # Native macOS audio
|
||||||
# don't allow a new window to have a size larger than 90% of the screen size
|
audio-stream-silence=no # FIXED: Prevents player behavior issues
|
||||||
#autofit-larger=90%x90%
|
audio-wait-open=0.1 # Faster audio startup
|
||||||
|
|
||||||
# Do not close the window on exit.
|
|
||||||
#keep-open=yes
|
|
||||||
|
|
||||||
# Do not wait with showing the video window until it has loaded. (This will
|
|
||||||
# resize the window once video is loaded. Also always shows a window with
|
|
||||||
# audio.)
|
|
||||||
#force-window=immediate
|
|
||||||
|
|
||||||
# Disable the On Screen Controller (OSC).
|
|
||||||
# osc=no
|
|
||||||
|
|
||||||
# Keep the player window on top of all other windows.
|
|
||||||
# window=scale=1.0
|
|
||||||
|
|
||||||
# Specify high quality video rendering preset (for --vo=gpu only)
|
|
||||||
# Can cause performance problems with some drivers and GPUs.
|
|
||||||
# profile=gpu-hq
|
|
||||||
|
|
||||||
# Force video to lock on the display's refresh rate, and change video and audio
|
|
||||||
# speed to some degree to ensure synchronous playback - can cause problems
|
|
||||||
# with some drivers and desktop environments.
|
|
||||||
#video-sync=display-resample
|
|
||||||
|
|
||||||
# Enable hardware decoding if available. Often, this does not work with all
|
|
||||||
# video outputs, but should work well with default settings on most systems.
|
|
||||||
# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs
|
|
||||||
# may or may not help.
|
|
||||||
# discourged by mpv devs and not likely to make significant difference
|
|
||||||
# hwdec=auto-copy
|
|
||||||
# hwdec-codecs=all
|
|
||||||
|
|
||||||
##################
|
|
||||||
# audio settings #
|
|
||||||
##################
|
|
||||||
|
|
||||||
# Specify default audio device. You can list devices with: --audio-device=help
|
|
||||||
# The option takes the device string (the stuff between the '...').
|
|
||||||
#audio-device=alsa/default
|
|
||||||
|
|
||||||
# Do not filter audio to keep pitch when changing playback speed.
|
|
||||||
#audio-pitch-correction=no
|
|
||||||
|
|
||||||
# Output 5.1 audio natively, and upmix/downmix audio with a different format.
|
|
||||||
#audio-channels=5.1
|
|
||||||
# Disable any automatic remix, _if_ the audio output accepts the audio format.
|
|
||||||
# of the currently played file. See caveats mentioned in the manpage.
|
|
||||||
# (The default is "auto-safe", see manpage.)
|
|
||||||
#audio-channels=auto
|
|
||||||
|
|
||||||
##################
|
|
||||||
# other settings #
|
|
||||||
##################
|
|
||||||
|
|
||||||
# Pretend to be a web browser. Might fix playback with some streaming sites,
|
|
||||||
# but also will break with shoutcast streams.
|
|
||||||
# user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
|
|
||||||
user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
|
|
||||||
# user-agent="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36"
|
|
||||||
# user-agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.94 Chrome/37.0.2062.94 Safari/537.36"
|
|
||||||
# user-agent="Chromium/37.0.2062.94 Chrome/37.0.2062.94 Safari/537.36"
|
|
||||||
|
|
||||||
# cache settings
|
|
||||||
#
|
|
||||||
# Use a large seekable RAM cache even for local input.
|
|
||||||
cache=yes
|
|
||||||
#
|
|
||||||
# Use extra large RAM cache (needs cache=yes to make it useful).
|
|
||||||
demuxer-max-bytes=500M
|
|
||||||
demuxer-max-back-bytes=100M
|
|
||||||
#
|
|
||||||
# Disable the behavior that the player will pause if the cache goes below a
|
|
||||||
# certain fill size.
|
|
||||||
cache-pause=no
|
|
||||||
#
|
|
||||||
# Store cache payload on the hard disk instead of in RAM. (This may negatively
|
|
||||||
# impact performance unless used for slow input such as network.)
|
|
||||||
#cache-dir=~/.cache/
|
|
||||||
#cache-on-disk=yes
|
|
||||||
|
|
||||||
# Display English subtitles if available.
|
|
||||||
#slang=en
|
|
||||||
|
|
||||||
# Play Finnish audio if available, fall back to English otherwise.
|
|
||||||
#alang=fi,en
|
|
||||||
|
|
||||||
# Change subtitle encoding. For Arabic subtitles use 'cp1256'.
|
|
||||||
# If the file seems to be valid UTF-8, prefer UTF-8.
|
|
||||||
# (You can add '+' in front of the codepage to force it.)
|
|
||||||
#sub-codepage=cp1256
|
|
||||||
|
|
||||||
# You can also include other configuration files.
|
|
||||||
#include=/path/to/the/file/you/want/to/include
|
|
||||||
|
|
||||||
############
|
|
||||||
# Profiles #
|
|
||||||
############
|
|
||||||
|
|
||||||
# The options declared as part of profiles override global default settings,
|
|
||||||
# but only take effect when the profile is active.
|
|
||||||
|
|
||||||
# The following profile can be enabled on the command line with: --profile=eye-cancer
|
|
||||||
|
|
||||||
#[eye-cancer]
|
|
||||||
#sharpen=5
|
|
||||||
|
|
||||||
|
# Subtitle defaults
|
||||||
sub-font="JetBrainsMono Nerd Font"
|
sub-font="JetBrainsMono Nerd Font"
|
||||||
sub-font-size=45
|
sub-font-size=45
|
||||||
# osd-font="Fluent System Icons"
|
|
||||||
border=no
|
|
||||||
|
|
||||||
geometry=50%
|
|
||||||
|
|
||||||
volume=50
|
|
||||||
# speed-step=0.05
|
|
||||||
# audio-spdif=ac3,eac3,dts-hd,truehd
|
|
||||||
# glsl-shaders="~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"
|
|
||||||
glsl-shaders="~~/shaders/ArtCNN_C4F16.glsl"
|
|
||||||
# glsl-shaders="~~/shaders/FSR.glsl"
|
|
||||||
|
|
||||||
# Can fix stuttering in some cases, in other cases probably causes it. Try it if you experience stuttering.
|
|
||||||
opengl-early-flush=no
|
|
||||||
|
|
||||||
video-sync=display-resample
|
|
||||||
osc=no
|
|
||||||
no-border
|
|
||||||
|
|
||||||
ytdl-raw-options=sub-langs=en.*,write-auto-subs=
|
|
||||||
ytdl-format=bestvideo+bestaudio/best
|
|
||||||
|
|
||||||
# get subtitles for videos automatically
|
|
||||||
sub-auto=fuzzy
|
sub-auto=fuzzy
|
||||||
slang=en,eng
|
slang=en,eng
|
||||||
|
subs-with-matching-audio=no
|
||||||
|
sub-fix-timing=yes
|
||||||
|
sub-ass-override=scale
|
||||||
|
sub-gauss=1.0
|
||||||
|
sub-gray=yes
|
||||||
|
|
||||||
# CATPPUCCIN MACHIATTO
|
# Networking & streaming
|
||||||
# Main mpv options
|
ytdl-format=bestvideo+bestaudio/best
|
||||||
|
ytdl-raw-options=sub-langs=en.*,write-auto-subs=
|
||||||
|
ytdl-raw-options-append=sponsorblock-mark=all
|
||||||
|
ytdl-raw-options-append=sponsorblock-remove=sponsor,selfpromo,interaction
|
||||||
|
|
||||||
|
# Stats & UI colors (Catppuccin Macchiato)
|
||||||
background-color='#24273a'
|
background-color='#24273a'
|
||||||
osd-back-color='#181926'
|
osd-back-color='#181926'
|
||||||
osd-border-color='#181926'
|
osd-border-color='#181926'
|
||||||
osd-color='#cad3f5'
|
osd-color='#cad3f5'
|
||||||
osd-shadow-color='#24273a'
|
osd-shadow-color='#24273a'
|
||||||
|
|
||||||
# Stats script options
|
|
||||||
# Options are on separate lines for clarity
|
|
||||||
# Colors are in #BBGGRR format
|
|
||||||
script-opts-append=stats-border_color=30201e
|
script-opts-append=stats-border_color=30201e
|
||||||
script-opts-append=stats-font_color=f5d3ca
|
script-opts-append=stats-font_color=f5d3ca
|
||||||
script-opts-append=stats-plot_bg_border_color=f8bdb7
|
script-opts-append=stats-plot_bg_border_color=f8bdb7
|
||||||
script-opts-append=stats-plot_bg_color=30201e
|
script-opts-append=stats-plot_bg_color=30201e
|
||||||
script-opts-append=stats-plot_color=f8bdb7
|
script-opts-append=stats-plot_color=f8bdb7
|
||||||
|
|
||||||
# profile=svp
|
##################
|
||||||
profile=gpu-hq
|
# Video/Graphics #
|
||||||
# GPU OPTIONS
|
##################
|
||||||
|
|
||||||
vo=gpu-next
|
vo=gpu-next
|
||||||
# hwdec=nvdec-copy
|
hwdec=videotoolbox # macOS hardware decoding
|
||||||
hwdec=videotoolbox
|
hwdec-codecs=all
|
||||||
scale=bicubic
|
gpu-api=vulkan
|
||||||
dscale=bicubic
|
gpu-context=macvk # macOS-specific Vulkan context
|
||||||
cscale=bicubic
|
|
||||||
|
# Vulkan optimizations (prevents crashes and memory leaks)
|
||||||
|
vulkan-queue-count=1 # FIXED: Prevents buffer overflow
|
||||||
|
vulkan-async-compute=no # FIXED: Improves stability
|
||||||
|
vulkan-async-transfer=no # FIXED: Reduces memory pressure
|
||||||
|
vulkan-swap-mode=fifo # Most compatible presentation mode
|
||||||
|
fbo-format=rgba8 # FIXED: Memory-safe format
|
||||||
|
|
||||||
|
# Video filtering & quality
|
||||||
|
vd-lavc-film-grain=cpu # FIXED: GPU grain not supported on macOS
|
||||||
|
vd-lavc-threads=0
|
||||||
|
vd-lavc-dr=yes # Keep frames on GPU
|
||||||
|
video-sync=display-resample # Smooth playback
|
||||||
|
|
||||||
|
# Scaling & interpolation
|
||||||
|
scale=ewa_lanczossharp
|
||||||
|
dscale=catmull_rom
|
||||||
|
cscale=ewa_lanczos
|
||||||
tscale=oversample
|
tscale=oversample
|
||||||
interpolation=yes
|
interpolation=yes
|
||||||
interpolation-preserve=no
|
interpolation-threshold=0.5
|
||||||
|
sigmoid-upscaling=yes
|
||||||
|
temporal-dither=yes
|
||||||
|
|
||||||
input-ipc-server=/tmp/mpvsocket
|
# High-quality dithering
|
||||||
# ao=pule,pipewire
|
dither=error-diffusion
|
||||||
# ao=pipewire,pulse
|
dither-depth=auto
|
||||||
ontop=yes
|
error-diffusion=sierra-lite
|
||||||
|
|
||||||
|
# Antiring
|
||||||
|
scale-antiring=0.5
|
||||||
|
dscale-antiring=0.5
|
||||||
|
cscale-antiring=0.5
|
||||||
|
|
||||||
|
# Post-processing
|
||||||
|
deband=yes
|
||||||
|
deband-iterations=2
|
||||||
|
deband-threshold=24
|
||||||
|
deband-range=16
|
||||||
|
deband-grain=4
|
||||||
|
|
||||||
|
##################
|
||||||
|
# Screenshot #
|
||||||
|
##################
|
||||||
|
|
||||||
|
screenshot-format=webp
|
||||||
|
screenshot-webp-lossless=yes
|
||||||
|
screenshot-high-bit-depth=yes
|
||||||
|
screenshot-sw=no
|
||||||
|
screenshot-directory="/Volumes/sudacode/pictures/mpv"
|
||||||
|
screenshot-template="%f-%wH.%wM.%wS.%wT-#%#00n"
|
||||||
|
|
||||||
|
##################
|
||||||
|
# Session #
|
||||||
|
##################
|
||||||
|
|
||||||
ao=coreaudio
|
|
||||||
save-position-on-quit
|
save-position-on-quit
|
||||||
watch-later-dir="~~.watch-later"
|
watch-later-dir="~~/.watch-later"
|
||||||
resume-playback=yes
|
resume-playback=yes
|
||||||
save-watch-history
|
save-watch-history
|
||||||
watch-history-path="~~state/watch_history.jsonl"
|
watch-history-path="~~/state/watch_history.jsonl"
|
||||||
vd-lavc-threads=0
|
input-ipc-server=/tmp/mpvsocket
|
||||||
gpu-api=vulkan
|
|
||||||
gpu-context=macvk
|
|
||||||
opengl-pbo=yes
|
|
||||||
|
|
||||||
|
##################
|
||||||
|
# Caching #
|
||||||
|
##################
|
||||||
|
|
||||||
|
cache=yes
|
||||||
|
demuxer-max-bytes=1GiB
|
||||||
|
demuxer-max-back-bytes=200MiB
|
||||||
|
cache-pause=no
|
||||||
|
cache-secs=30
|
||||||
|
demuxer-readahead-secs=30
|
||||||
|
|
||||||
|
############
|
||||||
|
# Profiles #
|
||||||
|
############
|
||||||
|
|
||||||
|
# Base high-quality preset (inherits above settings)
|
||||||
|
[base]
|
||||||
|
profile=gpu-hq
|
||||||
|
|
||||||
|
# Anime profile (ArtCNN is memory-heavy, use cautiously)
|
||||||
|
[anime]
|
||||||
|
profile-desc="Anime upscaling with ArtCNN"
|
||||||
|
profile-cond=filename:match("mkv$") and height <= 1080
|
||||||
|
glsl-shaders="~~/shaders/ArtCNN_C4F16.glsl" # Use F16 variant (lighter)
|
||||||
|
scale=ewa_lanczossharp
|
||||||
|
deband=yes
|
||||||
|
|
||||||
|
# Movies profile (no shaders, HDR support)
|
||||||
|
[movies]
|
||||||
|
profile-desc="Movies and TV shows"
|
||||||
|
profile-cond=width >= 1920 and filename:match("mkv$|mp4$")
|
||||||
|
glsl-shaders=""
|
||||||
|
scale=ewa_lanczos
|
||||||
|
target-peak=800
|
||||||
|
hdr-tone-mapping=bt.2390
|
||||||
|
|
||||||
|
# HDR profile
|
||||||
|
[hdr]
|
||||||
|
target-colorspace-hint=yes
|
||||||
|
tone-mapping-param=0.5
|
||||||
|
tone-mapping-max-boost=2.0
|
||||||
|
allow-delayed-peak-detect=yes
|
||||||
|
icc-profile-auto=yes
|
||||||
|
|
||||||
|
# SVP compatibility profile
|
||||||
[svp]
|
[svp]
|
||||||
input-ipc-server=/tmp/mpvsocket # Receives input from SVP
|
interpolation=no
|
||||||
hr-seek-framedrop=no # Fixes audio desync
|
input-ipc-server=/tmp/mpvsocket
|
||||||
resume-playback=no # Not compatible with SVP
|
hr-seek-framedrop=no
|
||||||
|
resume-playback=no
|
||||||
|
|
||||||
|
# Idle profile
|
||||||
[Idle]
|
[Idle]
|
||||||
profile-cond=p["idle-active"]
|
profile-cond=p["idle-active"]
|
||||||
profile-restore=copy-equal
|
profile-restore=copy-equal
|
||||||
title=' '
|
title=' '
|
||||||
keepaspect=no
|
keepaspect=no
|
||||||
|
|
||||||
|
# Japanese immersion profile
|
||||||
[immersion]
|
[immersion]
|
||||||
cookies=yes
|
cookies=yes
|
||||||
cookies-file=/Volumes/sudacode/japanese/cookies.Japanese.txt
|
cookies-file=/Volumes/sudacode/japanese/cookies.Japanese.txt
|
||||||
@@ -236,8 +184,21 @@ ytdl-raw-options-append=cookies=/Volumes/sudacode/japanese/cookies.Japanese.txt
|
|||||||
ytdl-raw-options-append=sponsorblock-mark=all
|
ytdl-raw-options-append=sponsorblock-mark=all
|
||||||
ytdl-raw-options-append=sponsorblock-remove=sponsor
|
ytdl-raw-options-append=sponsorblock-remove=sponsor
|
||||||
ytdl-format=bestvideo+bestaudio/best
|
ytdl-format=bestvideo+bestaudio/best
|
||||||
# get subtitles for videos automatically
|
|
||||||
sub-auto=fuzzy
|
sub-auto=fuzzy
|
||||||
slang=ja,jpn
|
slang=ja,jpn,ja.hi,ja.*
|
||||||
alang=ja,jpn
|
alang=ja,jpn
|
||||||
vlang=ja,jpn
|
vlang=ja,jpn
|
||||||
|
sub-font="Noto Sans CJK JP"
|
||||||
|
sub-font-size=42
|
||||||
|
sub-border-size=1.2
|
||||||
|
sub-shadow-color=0.0/0.0/0.0/0.6
|
||||||
|
sub-shadow-offset=3
|
||||||
|
|
||||||
|
# Anime subtitles profile
|
||||||
|
[anime-subs]
|
||||||
|
profile-cond=p["slang"] == "ja" or p["slang"] == "ja.hi"
|
||||||
|
sub-font="Noto Sans CJK JP"
|
||||||
|
sub-font-size=42
|
||||||
|
sub-border-size=1.2
|
||||||
|
sub-shadow-color=0.0/0.0/0.0/0.6
|
||||||
|
sub-shadow-offset=3
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
showwindowed=yes
|
|
||||||
showfullscreen=yes
|
|
||||||
scalewindowed=1
|
|
||||||
scalefullscreen=1
|
|
||||||
scaleforcedwindow=2
|
|
||||||
vidscale=yes
|
|
||||||
hidetimeout=1000
|
|
||||||
fadeduration=500
|
|
||||||
minmousemove=3
|
|
||||||
iamaprogrammer=yes
|
|
||||||
font='mpv-osd-symbols'
|
|
||||||
seekrangealpha=128
|
|
||||||
title='${media-title}'
|
|
||||||
showtitle=yes
|
|
||||||
visibility=auto
|
|
||||||
windowcontrols=auto
|
|
||||||
volumecontrol=yes
|
|
||||||
processvolume=yes
|
|
||||||
language=eng
|
|
||||||
Reference in New Issue
Block a user