-
Notifications
You must be signed in to change notification settings - Fork 159
/
Copy pathmpv.conf
311 lines (233 loc) · 23.6 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
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
##⇘⇘基本说明:
##对大多数选项加入了中文注释说明
##行首存在注释符"#",代表此项处于不启用状态(即恢复MPV的默认设置状态),删去即启用
##注释内容解释 —— # <可选值> [条件要求] 参数意义说明 (补充)
##部分选项之间有关联作用,MPV读取参数时由上往下读,所以注意书写通用参数的顺序,可查看手册[02]的顺序逻辑部分的错误示范
include = "~~/profiles.conf" # 该参数用于追加读取额外的设置文件。原配置预设组已被分离到该文件中
use-filedir-conf = yes # 允许使用特定文件的设置文件 https://mpv.io/manual/master/#file-specific-configuration-files
#log-file = "~~desktop/mpv-lazy.log" # 记录名为"mpv-lazy"的log日志在桌面
########
# 基础 #
########
#vo = gpu-next # <默认gpu|gpu-next> 视频输出驱动。许多渲染相关的选项也只能在这两项下正常工作。当前版本首选gpu
# gpu最高普适性和完成度;gpu-next查看此处讨论 https://github.com/hooke007/MPV_lazy/discussions/39
gpu-context = d3d11 # <win|d3d11|winvk> 选择图形输出后端,默认 auto(此项的值与 --gpu-api=<opengl|d3d11|vulkan> 相对应)
# 非特殊情况下Win&NV用户应使用d3d11。vulkan可能的10bit问题 https://github.com/mpv-player/mpv/issues/8554
#fbo-format = rgba32f # 内处理精度。此项通常由 --gpu-api 或 --gpu-context 自动决定正确值,默认首选16位及以上的精度
#d3d11-exclusive-fs = yes # --gpu-api=d3d11 下的全屏独占
#d3d11-flip = no # [通常发生在 --d3d11-exclusive-fs=yes 和 --on-top 一起使用时] 可用于避免MPV全屏时的冻屏问题
hwdec = auto-copy # 指定应使用的硬件视频解码API,默认软解(no)。10系以上N卡如需硬解强烈建议使用 nvdec-copy
# 值 auto 等效 yes。不推荐选用理论上解码效率最高的 无-copy 的原生硬解 ,目的是确保全部设置/滤镜/着色器正常作用(有些不支持)
# 原因不明: dxva2-copy 的表现可能优于 d3d11va-copy
hwdec-codecs = all
# 在选定范围内的编码格式尝试硬解,当前版本默认值为 "h264,vc1,hevc,vp8,vp9,av1,prores"
#vd-lavc-dr = no # <默认yes|no> 是否直接解码到显存,个别低端英特尔处理器需要禁用此功能以大幅提速解码
##⇘⇘双显卡笔记本的处理
#d3d11-adapter = "NVIDIA GeForce RTX 2070 Super"
# [当 gpu-api=d3d11 时] 指定某张显卡作为主渲染输出,默认情况下自动选择系统指定的主渲染显卡
# 显卡名可查看任务管理器自行更改适配。该参数等效在驱动面板中设置以独显运行mpv
# 例如使用I+N的双显笔记本的内屏时,实际使用的是"Intel(R) UHD Graphics",修改该项示例指定独显可降低任务管理器中双显卡的3d渲染占比
# 大多数双显卡笔记本在外接显示器时,表现类似“独显直连”,此时无需该参数也会自动用独显输出
#vulkan-device = "NVIDIA GeForce RTX 2070 Super"
# [当 gpu-api=vulkan 时] 此参数代替 --d3d11-adapter 执行指定显卡的职能
########
# 功能 #
########
idle = yes # <yes|默认no|once> 空闲待机(中止播放或所有文件播放后依旧保持mpv运行)
#input-ipc-server = mpvpipe # [使用SVP Manager时必须开启此项] IPC支持
input-builtin-bindings = no # 禁用mpv初始的快捷键方案(只使用 input.conf 中的设定)
# 此项不同于 --input-default-bindings=no (同时也禁用脚本中预设的弱绑定键位)
#background = "#778899" # <格式为(AA)RRGGBB> 更改MPV初启动与播放无视频轨文件时的背景颜色
pause = yes # 以暂停状态启动播放器
#panscan = 1.0 # <0.0-1.0> 裁切横向画面以充满窗口(建议配合 keepaspect-window=no 使用)
#loop = inf # <N|inf|默认no> 始终循环播放当前文件
#loop-playlist = no # <N|inf|force|默认no> 播放列表循环
hr-seek-framedrop = no # [SVP补帧时推荐设置为no] 跳转时丢帧,关闭利于修正音频延迟
save-position-on-quit = yes # 退出时记住播放状态
watch-later-options = vid,aid,sid
# [SVP补帧时推荐设置为留空] 稍后观看的白名单(留空即只保存播放位置)
# 当 --save-position-on-quit=yes 或使用退出时保存到稍后观看的功能时,如果不使用白名单,滤镜列表、音量、速率等其它状态也会被保存并在下次启动时恢复
##⇘⇘窗口相关
##此处已精简,详细说明与更多自定义参数请查看: https://github.com/hooke007/MPV_lazy/discussions/69
#fs = yes # --fs 等效 --fullscreen。运行MPV自动进入全屏
keep-open = yes # <yes|默认no|always> 默认为播完列表不暂停,值为 yes 播完列表暂停,值为 always 时每个文件播完都暂停
#ontop = yes # 窗口置顶(当 --gpu-api=vulkan 时附带全屏独占的功能)。可选择性的启用配置预设 ontop_playback
#border = no # 默认为系统原生窗口界面,启用此项使用无边框界面(去除WINDOWS的窗口装饰)
#geometry = 1280x720 # 设定初始位置或尺寸,附带锁定窗口比例的作用。支持多种表示方法(例 50%x50% 即桌面长宽的一半)
# 使用这项参数将无效化以下选项 --autofit --autofit-larger --autofit-smaller --window-scale
#autofit-larger = 80%x80% # 窗口自动拉伸时(初起动/切换文件)防止太大。使用 --autofit 系列的参数将无效化 --window-scale
autofit-smaller = 40%x40% # 窗口自动拉伸时(初起动/切换文件)防止太小
#keepaspect-window = no # 窗口自由拉伸(no)还是按比例拉伸(默认 yes)
hidpi-window-scale = no # <默认yes|no> 是否执行HIDPI缩放(推荐禁用,原因是会影响 --window-scale 的真实数值)
##⇘⇘缓存相关
#demuxer-max-bytes = 200MiB # 播放网络视频时的向后缓存大小(KiB或MiB)
icc-cache-dir = "~~/_cache/icc"
# 指定目录存储和加载从ICC配置文件创建的3D LUT,可以用来加快加载速度。未压缩的LUT的大小取决于 --icc-3dlut-size
gpu-shader-cache-dir = "~~/_cache/shader"
# 在此目录中存储和加载已编译的GLSL着色器缓存,可以提高启动性能
watch-later-directory = "~~/_cache/watch_later"
# 稍后观看功能的缓存目录,其中的文件记录 --watch-later-options 指定的选项。默认路径为 "~~/watch_later"
#######
# OSD #
#######
##⇘⇘OSD 即 On-Screen-Display ,通常为屏幕上弹出显示的信息。 OSC 即 on-screen-controller ,MPV中指的是简易操控界面
##更多自定义查询 https://mpv.io/manual/master/#osd
osd-on-seek = msg-bar # <no,bar,msg,msg-bar> 在跳转时间轴时显示的信息类型
#osd-blur = 0
osd-bar-w = 100
osd-bar-h = 1
osd-bar-align-y = -1
#osd-color = "#B300FFFF"
#osd-border-color = "#B3008B8B"
osd-border-size = 1
osd-font-size = 40 # 更改OSD字体大小(全局,影响多个功能显示的文本),默认 55
osd-fractions = yes # 以秒为单位显示OSD时间(毫秒精度),有助于查看视频帧的确切时间戳
osd-playing-msg = "${filename}"
# 每个文件开始播放时短暂显示的信息。预设显示文件名
osd-duration = 2000 # 设置(全局)OSD文本信息的持续时间(毫秒),默认 1000
osd-playing-msg-duration = 4000 # --osd-playing-msg 文本的持续时间,如不设置此项,则使用全局持续时间
########
# 音频 #
########
ao = wasapi
# 指定音频输出驱动程序的优先级列表。win10优先使用wasapi,其它可用的有openal和sdl
#audio-device = auto # 此项用于指定启动时的音频输出设备
# 改具体值示例 --audio-device="wasapi/{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}",设备名获取方式见发布页FAQ图文或官方手册
#audio-exclusive = yes # 音频通道独占(如果有其他软件先独占音频通道后,再打开MPV可能会画面会卡顿)
#volume = 80 # 播放器启动音量。0为无,默认 100
#volume-max = 100 # <100.0-1000.0> 最大音量。默认 130(该响度约为100的两倍 1.3^3≈2)
#audio-channels = stereo # 强制多声道音源下混为双声道输出(避免可能的7.1/5.1→2.0声音丢失和音量过小)
#audio-pitch-correction = no # 变速播放时的音调修正,默认 yes
#alang = chs,sc,zh,chi,zho
# 音轨首选语言为中文,但MPV优先加载外挂轨道,此项参数可能实际用处不大
audio-file-auto = fuzzy # <默认no|exact|fuzzy|all> 自动加载同名外挂音轨(fuzzy为模糊名,exact为精确名)
########
# 视频 #
########
##⇘⇘色彩管理
#icc-profile-auto = yes # 如果做过专业校色应开启(系统目录存在对应的icm校色文档)。未做校色的广色域屏应手动指定 --target-prim
#icc-profile = "X:/xxx/xxxx.icm"
# 此选项用于加载指定的ICC,与前项不共存
#icc-3dlut-size = <r>x<g>x<b> # <2-512> 从ICC配置文件的每个维度生成的3D LUT的大小。默认 64x64x64
#icc-force-contrast = inf # <no|0-1000000|inf> 强制指定ICC的静态对比度而不是使用配置文件的内设(可能存在测量错误)。默认 no
# 普通LCD一般使用 1000(以面板原生数据为准);使用OLED显示设备的用户尝试使用 1000000 或特殊值 inf
#target-prim = auto # 当不使用ICC颜色管理时,视频颜色将适应此颜色空间
# 未经校色的广色域屏可设定此参数以解决色彩过饱和的问题。例如99%的argb屏幕写adobe。90%+的p3色域屏写dci-p3(srgb屏无需更改此默认值)
##⇘⇘音视频同步模式。只需注释掉 --video-sync 即可恢复MPV的默认同步模式
video-sync = display-resample # 类"ReClock"作用,更改为与视频帧与显示器刷新率同步,自动调节音频速度补偿偏移
# 默认值 audio(与音频/系统时钟同步)通常兼容性最好但有偶尔的丢帧和重复
video-sync-max-video-change = 5 # [仅当 --video-sync=display-xxxx 时生效] 默认 1
interpolation = yes # [仅当 --video-sync=display-xxxx 时生效] 减少由于视频帧率fps和显示刷新率hz不匹配而引起的卡顿/抖动
tscale = linear # [仅当 --interpolation=yes 时生效] 时间插值算法(帧混合,非光流法)
# 追求原始观感可以使用 oversample(效果类似MADVR的smoothmotion),默认 mitchell
##⇘⇘“画质”相关
##避免简单粗暴的使用 --profile=gpu-hq ,原因见手册 [02]
#cscale = ewa_lanczos # 色度还原算法;可由更好的 "KrigBilateral.glsl" 着色器取代。默认 bilinear
scale = catmull_rom # 放大算法,默认值同上
#dscale = lanczos # 缩小算法。若不设定,则自动采用 --scale 的值
##所有可用的内置算法参见手册 [06]
#linear-upscaling = yes # [须 --fbo-format 指定16位及以上的精度;与 --sigmoid-upscaling 不兼容] (对HDR内容无影响)
sigmoid-upscaling = yes # [与 --linear-upscaling 不兼容] 放大时非线性的颜色转换,可避免强振铃伪影
##开发者建议要么优先使用 --sigmoid-upscaling ,要么以上两项干脆都不用
#linear-downscaling = yes # [使用"SSimDownscaler.glsl"时须关闭;须 --fbo-format 指定16位及以上的精度] (对HDR内容无影响)
##上两项 --linear- 的参数对应MADVR中的"scale in linear light",在缩小算法中线性处理可以提升颜色对比度的精确性
#correct-downscaling = yes # [当 --dscale=bilinear 时此项无效] 增强缩小算法的质量,对于异形比例视频可能产生微小失真
#scaler-resizes-only = no # 当未进行缩放处理时,使用bilinear算法完美还原。默认 yes
# 禁用时,即使未缩放,也使用 --scale 指定的算法处理。此时可修正nnedi3和ravu引入的半像素偏移(但没必要)
dither-depth = auto # <N|no|auto> 是否开启色深抖动弥补色彩转换损失。8位显示器写8,10位显示器写10,auto的值取决于 --gpu-api 不一定正确
# 如果8抖10的显示器使用10存在输出异常的情况,改回值8
#dither = error-diffusion # <默认fruit|ordered|error-diffusion|no> 色深抖动的算法;值 no 等效 --dither-depth=no
# 误差扩散非常好但没必要,它基于计算着色器需要不低的性能开销,感知弱
#deband = yes # 去色带。可能受硬解码影响实际效果
#profile = DeBand+ # 备选的去色带方案,具体参数见 "profiles.conf" 中的同名配置预设
#profile = SWscaler # 备选的软件缩放器方案,具体参数见 "profiles.conf" 中的同名配置预设
####################
# 脚本 滤镜 着色器 #
####################
##以下都可选择在此处开启,即默认每次随播放器启动;或者使用"input.conf"中的方案手动选择加载
##⇘⇘脚本部分
##内置脚本开关(如果没有必要的目的,那就不要屏蔽mpv内建的功能)
#load-auto-profiles = no # <yes|no|默认auto> 新版条件配置预设(使用旧版外挂的用户记得禁用)
#load-osd-console = no # 控制台
#load-stats-overlay = no # 统计信息
osc = no # [使用部分同类脚本的前置条件] 禁用原OSC(即内置的"osc.lua"脚本)以兼容第三方的界面样式
#ytdl = no # 网址解析增强
#ytdl-raw-options-append = cookies=[D:/cookies.txt]
# [当 --ytdl=yes 时有效] 将自定义的选项传递给ytdl https://github.com/ytdl-org/youtube-dl#options
# 示例仅为传递单个选项,多个选项最好独立追加,即写多个 --ytdl-raw-options-append 参数 https://mpv.io/manual/master/#options-ytdl-raw-options
#load-scripts = no # 自动挂载 /scripts/ 目录中的所有外置脚本,默认 yes。设置为no时可用下一行示例的命令加载指定的外置脚本
#scripts = "~~/scripts/load_plus.lua;~~/scripts/playlistmanager.lua"
##⇘⇘滤镜部分
##设定随MPV启动的音/视频滤镜的书写格式(支持多项) --af/vf=滤镜①=参数❶=值:参数❷=值,滤镜②...
## --af 和 --vf 仅能各存在一条。如果不想只使用这条参数,可以拆开写,例如使用 --vf-append 单项多次追加更多的滤镜,并不会覆盖 --vf 指定的滤镜
##更多实用向的滤镜可参考 https://github.com/hooke007/MPV_lazy/discussions/120
#vf-append = format=gamma=gamma2.2
# MPV校色曲线目标是BT.1886,此视频滤镜用于回归常见的显示器标准 https://github.com/mpv-player/mpv/issues/8009
##VS脚本实际以视频滤镜的形式在MPV中工作(建议编辑脚本文件中的参数以适配实际机器)。正常情况补帧类的滤镜不要同时启用多个
#vf-append = vapoursynth="~~/vs/mvtools-2x.vpy"
# mvtools补帧脚本倍帧版
#vf-append = vapoursynth="~~/vs/svpflow-2x.vpy"
# svpflow补帧脚本倍帧版(非SVP Manager程序)
##⇘⇘着色器部分
##此处的 --glsl-shaders 用于指定每次随MPV共同启动的着色器(支持多项)。更多详细着色器信息参见 系列手册[01]
##--glsl-shaders-append 等效 --glsl-shader (注意和上行中参数的区别),表示追加着色器(单次仅能追加一项),并不会覆盖第一条 --glsl-shaders 指定的着色器,可无限追加该命令。
##初始加载多个着色器的示例写法
#glsl-shaders = "~~/shaders/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K_Restore_CNN_M.glsl;~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"
##下接的逐个单项 --glsl-shaders-append (或 --glsl-shader ) 会依次排列在 --glsl-shaders 之后,当然你也可以不写 --glsl-shaders 只用前二者的队列
#glsl-shaders-append = "~~/shaders/KrigBilateral.glsl"
#glsl-shaders-append = "~~/shaders/AMD-FSR-EASU_luma.glsl"
########
# 字幕 #
########
sub-auto = fuzzy # <no|默认exact|fuzzy|all> 自动加载当前播放文件的同名外挂字幕(fuzzy为模糊名,exact为精确名)
#sub-file-paths = sub;subtitles;字幕;C:/字幕库
# 在指定的额外目录中寻找匹配的字幕。支持相对和绝对路径,示例即自动搜索当前文件路径下名为"sub","subtitles","字幕"和C盘的"字幕库"文件夹内
slang = chs,sc,zh,chi,zho
# 字幕首选语言为中文,但MPV优先加载外挂轨道,此项参数可能实际用处不大
#blend-subtitles = video # <yes|video|默认no> 在插值和颜色管理之前,将字幕混合到视频帧上。值video类似于yes,但是以视频的原始分辨率绘制字幕,并与视频一起缩放
# 启用此功能会将字幕限制在视频的可见部分(不能出现在视频下方的黑色空白处)
# 还会让字幕受 --icc-profile --target-prim --target-trc --interpolation --gamma-factor --glsl-shaders 的影响
# 与 --interpolation 一起使用时,可提高字幕渲染性能
##⇘⇘纯文本字幕部分 —— SRT LRC
#sub-font = "LXGW WenKai"
# 指定纯文本字幕的默认字体
# 该参数本应对ASS字幕无效,但实际影响了ASS的后备字体 https://github.com/mpv-player/mpv/issues/8637
sub-back-color = "#641C1C1C" # <格式为(AA)RRGGBB> 设定纯文本字幕的背景色
#sub-use-margins = no # 是否使纯文本字幕输出在黑边上,默认 yes
#profile = sub_SRT # 备选的纯文本字幕样式方案,具体参数见 "profiles.conf" 中的同名配置预设
##⇘⇘高级字幕部分 —— SSA ASS
#sub-ass-override = force # <no|默认 yes|scale|force|strip> 是否覆盖字幕脚本的原始样式,默认只应用 --sub-ass-* 类的选项
# scale 在此基础上也应用了 --sub-scale , force 更进一步应用所有 --sub-* 的选项, strip 则剥离全部标记和样式
#sub-ass-scale-with-window = yes # 字幕随窗口缩放而不是随视频缩放,默认 no
#embeddedfonts = no # 是否使用mkv容器的内嵌字体,默认 yes
sub-ass-force-margins = yes # [当 --blend-subtitles=yes/video 时无效] 使ASS字幕尽可能输出在黑边上
#sub-ass-force-style = Fontname=LXGW WenKai
# 使用自定义的参数以覆盖字幕文件内的预设。示例:覆盖字幕内的所有字体
##⇘⇘模拟vsfilter相关
##默认情况下libass和vsfilter渲染的字幕存在部分差异,以下选项可用于使视觉效果相近(模仿vsfilter)
#sub-ass-vsfilter-aspect-compat = no # 播放非常规比例视频时拉伸ASS字幕,默认 yes
#sub-ass-vsfilter-blur-compat = no # 通过视频分辨率而不是.ass指定的分辨率缩放"\blur"标签,默认 yes
#sub-ass-vsfilter-color-compat = full # <默认basic|full|force-601|no> 字幕色彩空间处理
##⇘⇘图形字幕部分 —— IDX SUB SUP
#stretch-image-subs-to-screen = yes # 拉伸图形字幕到缩放分辨率而不是参考视频分辨率,可以使PGS实现输出在黑边的效果,可能破坏显示效果。默认 no
#image-subs-video-resolution = yes # 使用视频分辨率覆盖图形字幕的原始分辨率,默认 no
########
# 截图 #
########
##⇘⇘以下预设参数是为了截取高质量的图片(输出质量越高,截图处理效率越低)
screenshot-format = png # <默认 jpg|(同前)jpeg|png|webp|jxl>
screenshot-jpeg-quality = 100 # <0-100> JPEG的质量,默认 90
screenshot-jpeg-source-chroma = no # 用与源视频相同的色度半采样写入JPEG,默认 yes
screenshot-png-compression = 5 # <0-9> PNG压缩等级,过高的等级影响性能,默认 7
#screenshot-png-filter = 0 # <0-5> PNG的压缩过滤器。默认值 5 即可实现最佳压缩率
screenshot-webp-lossless = yes # 无损WEBP,默认 no
screenshot-webp-quality = 100 # <0-100> [当 --screenshot-webp-lossless=no 时生效] 有损WEBP的质量,默认 75
screenshot-webp-compression = 3 # <0-6> WEBP压缩等级,使用有损WEBP时进一步降低图片质量,默认 4
screenshot-jxl-distance = 0 # <0-15> JXL的视觉模型距离,0为质量无损,0.1为视觉无损,默认值 1 相当于JPEG的90质量
screenshot-jxl-effort = 5 # <1-9> JXL压缩等级,过高的等级影响性能,默认 3
#screenshot-tag-colorspace = yes # 使用适当的色彩空间标记屏幕截图(并非所有格式受支持)默认 no
#screenshot-high-bit-depth = no # 主要影响PNG/JXL,尽可能使用和视频输出时近似的位深,默认 yes
screenshot-template = "~~desktop/MPV-%P-N%n"
# 截图命名模板: https://mpv.io/manual/master/#options-screenshot-template
#screenshot-directory = "~~desktop/"
# [若已在截图命名模板中设置路径,此时无需使用该参数 ] 保存截图在桌面