-
Notifications
You must be signed in to change notification settings - Fork 6
/
mpv.conf
239 lines (163 loc) · 10.1 KB
/
mpv.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
# ========== GENERAL ==========
# This is what profile=high-quality do:
# scale=ewa_lanczossharp (This also changes the cscale)
# hdr-peak-percentile=99.995
# hdr-contrast-recovery=0.30
# deband=yes
profile=high-quality # Allows for higher quality playback on mpv
# Uses scaling methods that are significantly better than default mpv, VLC and MPC
vo=gpu # https://mpv.io/manual/stable/#video-output-drivers-gpu
priority=high # Makes PC prioritize MPV for allocating resources (Windows only)
# gpu-api=vulkan offers better overall performance but breaks too often, use opengl instead
# For displaying HDR content (not HDR -> SDR) "d3d11" is recommended (Windows only)
gpu-api=opengl # https://mpv.io/manual/stable/#options-gpu-api
fullscreen=yes # Start in fullscreen
taskbar-progress=no # Disable playback progress rendering in taskbar
force-seekable=yes # If the player thinks that the media is not seekable, force enable seeking
keep-open=always # Don't close the player after finishing the video,
# and playback will never automatically advance to the next file in the playlist
reset-on-next-file=pause # After playing the next file in the playlist,
# it will automatically play the file instead of a paused state
hwdec=nvdec # Recommended method to do hardware decoding on NVIDIA GPUs
# ========== SCALERS AND SHADERS ==========
# Default was:
# dscale=hermite (because of mpv 0.37.0)
# cscale=ewa_lanczossharp (because of profile=high-quality)
scale=ewa_lanczossharp # Luma upscaler
dscale=mitchell # Luma downscaler
cscale=ewa_lanczossoft # Chroma up&downscaler
gpu-shader-cache-dir='~~/shaders/cache' # https://mpv.io/manual/stable/#options-gpu-shader-cache-dir
# FSRCNNX (more powerful, but tend to cause overshoot), use nnedi13 (below) instead if you notice dropped frames
glsl-shader="~~/shaders/FSRCNNX_x2_16-0-4-1.glsl" # Luma upscaler
# nnedi3
# use nns128 instead of nns256 if you notice dropped frames
# glsl-shader="~~/shaders/nnedi3-nns256-win8x4.hook" # Luma upscaler
# glsl-shader="~~/shaders/nnedi3-nns128-win8x4.hook" # Luma upscaler
# no-scaler-resizes-only # Fixing the pixel shift https://mpv.io/manual/stable/#options-scaler-resizes-only
# SSimDownscaler
glsl-shader="~~/shaders/SSimDownscaler.glsl" # Luma downscaler
# KrigBilateral (people say it's bloat/overkill)
# glsl-shader="~~/shaders/KrigBilateral.glsl" # Chroma up&downscaler
# ========== CACHE ==========
# cache=yes
# cache-on-disk=yes
# cache-dir="C:\mpv-cache"
# demuxer-max-bytes=1000MiB
# demuxer-readahead-secs=300
# demuxer-max-back-bytes=200MiB
# ========== DEBANDING ==========
# Banding is a visual artifact, visual artifacts should never be in a video.
# Example of banding: https://imgur.com/32d77H0
# Debanding is the process of removing said banding.
# 6 minute explanation of what causes banding: https://www.youtube.com/watch?v=h9j89L8eQQk
deband=no # Turn on only for videos with banding. (Keybind=d)
deband-iterations=2 # https://mpv.io/manual/stable/#options-deband-iterations
deband-threshold=64 # https://mpv.io/manual/stable/#options-deband-threshold
deband-range=17 # https://mpv.io/manual/stable/#options-deband-range
deband-grain=12 # https://mpv.io/manual/stable/#options-deband-grain
# ========== ON SCREEN DISPLAY AND ON SCREEN CONTROLLER ==========
osd-bar=no # Don't show a huge volume box on screen when turning the volume up/down
osc=no # Allows for custom OSC to be used https://github.com/cyl0/mpv-osc-morden-x
border=no # Optional for modern OSC, but recommended
cursor-autohide-fs-only=yes # If this option is given, the cursor is always visible in windowed mode
# In fullscreen mode, the cursor is shown or hidden according to --cursor-autohide
cursor-autohide=300 # Cursor hide in ms
osd-level=1 # https://mpv.io/manual/stable/#options-osd-level
osd-duration=1000 # Set the duration of the OSD messages in ms
hr-seek=yes # Select when to use precise seeks that are not limited to keyframes
# https://mpv.io/manual/stable/#options-hr-seek
osd-font='Verdana'
osd-font-size=20
osd-color='#FFFFFF' # Hex code for white
osd-border-color='#000000' # Hex code for black
osd-border-size=0.6 # Size for osd text and progress bar
osd-blur=0.2 # Gaussian blur factor. 0 means no blur applied (default)
# ========== LANGUAGE PRIORITY ==========
alang=ja,jp,jpn,en,eng # Audio language priority
slang=en,eng # Subtitle language priority
# ========== AUDIO ==========
volume=100 # default volume, 100 = unchanged
audio-file-auto=fuzzy # Load external audio with (almost) the same name as the video
volume-max=200 # Max volume of the player
audio-pitch-correction=yes # https://mpv.io/manual/stable/#options-audio-pitch-correction
# ========== SUBTITLES ==========
demuxer-mkv-subtitle-preroll=yes # https://mpv.io/manual/stable/#options-mkv-subtitle-preroll
sub-ass-vsfilter-blur-compat=no # https://mpv.io/manual/stable/#options-sub-ass-vsfilter-aspect-compat
sub-fix-timing=no # https://mpv.io/manual/stable/#options-sub-fix-timing
sub-auto=fuzzy # https://mpv.io/manual/stable/#options-no-sub-auto
# Load all subs containing the media filename
# The following options only apply to subtitles without own styling
sub-font='Netflix Sans Medium' # Specify font to use for subtitles that do not themselves specify a particular font
sub-font-size=40
sub-color='#FFFFFFFF'
sub-border-color='#FF000000'
sub-border-size=2.0
sub-shadow-offset=0
sub-spacing=0.0
# ========== SCREENSHOT ==========
screenshot-format=png # Output format of screenshots
screenshot-high-bit-depth=yes # Same output bitdepth as the video. Set it "no" if you want to save disc space
screenshot-png-compression=1 # Compression of the PNG picture (1-9).
# Higher value means better compression, but takes more time
screenshot-directory="~/Pictures/mpv-screenshots" # Output directory
screenshot-template="%f-%wH.%wM.%wS.%wT-#%#00n" # Name format (filename-hour-minute-second-milisecond-number)
# ========== INTERPOLATION ==========
# blend-subtitles=yes # Subtitle blending in scenechanges (smoother effect)
# video-sync=display-resample # Set the fps as the max of your monitor refresh rate
# # (only useful and needed with "interpolation=yes)
# interpolation=yes # Enable interpolation
# tscale=oversample # Interpolation method
# ========== PROFILES ==========
[HDR]
profile-desc=Tone mapping using reinhard
profile-restore=copy-equal
tone-mapping=reinhard
tone-mapping-param=0.6
hdr-compute-peak=no
blend-subtitles=video
# [Clip]
# profile-desc=Tone mapping using clip
# profile-restore=copy-equal
# tone-mapping=clip
# [Mobius]
# profile-desc=Tone mapping using mobius
# profile-restore=copy-equal
# tone-mapping=mobius
# [Hable]
# profile-desc=Tone mapping using hable
# profile-restore=copy-equal
# tone-mapping=hable
# [bt.2390]
# profile-desc=Tone mapping using bt.2390
# profile-restore=copy-equal
# tone-mapping=bt.2390
# [Gamma]
# profile-desc=Tone mapping using gamma
# profile-restore=copy-equal
# tone-mapping=gamma
# [Linear]
# profile-desc=Tone mapping using linear
# profile-restore=copy-equal
# tone-mapping=linear
# ========== AUTO PROFILES ==========
# Auto profiles that automatically applies for WEB-DL anime that need some debanding
[WEB-DL]
profile-desc=WEB-DL Anime (HatSubs, SubsPlease, HorribleSubs, Erai-raws)
profile-cond=string.match(p.filename, "HatSubs")~=nil or string.match(p.filename, "SubsPlease")~=nil or string.match(p.filename, "HorribleSubs")~=nil or string.match(p.filename, "Erai%-raws")~=nil
deband=yes
# [Mini-Encode #1]
# profile-desc=Mini Encode Anime 1
# profile-cond=string.match(p.filename, "ASW")~=nil or string.match(p.filename, "DKB")~=nil or string.match(p.filename, "Judas")~=nil
# deband=yes
# [Mini-Encode #2]
# profile-desc=Mini Encode Anime 2
# profile-cond=string.match(p.filename, "Cerberus")~=nil or string.match(p.filename, "Nep%_Blanc")~=nil or string.match(p.filename, "Reaktor")~=nil
# deband=yes
# [Mini-Encode #3]
# profile-desc=Mini Encode Anime 3
# profile-cond=string.match(p.filename, "Cleo")~=nil or string.match(p.filename, "Akihito")~=nil or string.match(p.filename, "Reaktor")~=nil
# deband=yes
# [Mini-Encode #4]
# profile-desc=Mini Encode Anime 4
# profile-cond=string.match(p.filename, "Ember")~=nil
# deband=yes