forked from dyphire/mpv-config
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmpv.conf
934 lines (830 loc) · 90.2 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
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
##⇘⇘基本说明:
## 行首存在注释符"#",代表此项处于不启用状态(即恢复MPV的默认设置状态),删去即启用
## 部分启用的参数没有"=",则该项实际为"yes"。例如deband默认关闭: --deband 实际等效 --deband=yes;类推 --deband=no 等效注释掉该参数
## 注释内容解释 —— # <可选值> [条件要求] 参数意义说明 (补充)
########
# 基础 #
########
## 解码
vo=gpu-next # <gpu/gpu-next/libmpv> 视频输出驱动。许多后续选项也只能在此三项下正常工作。当前版本默认值即gpu
## gpu具有最高普适性和完成度;gpu-next查看此处讨论 https://github.com/hooke007/MPV_lazy/discussions/39;libmpv为部分前端设计,一般不使用
## gpu-next具有更好的前景,目前已实现杜比视界RPU层元数据的解析映射,尚不支持EL层元数据解析
## gpu-next和gpu之间的具体区别见官方wiki相关说明:https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU
gpu-api=vulkan # <opengl/vulkan/d3d11> [SVP补帧时推荐设置为d3d11] 选择图形绘制接口。windows的原生渲染为d3d11 (mpv对于windows的默认,显卡注意开自适应电源模式)
## opengl是最不推荐选择,vulkan的10bit尚未完全实现 https://github.com/mpv-player/mpv/issues/8554
## 通过d3d11-adapter可以设定mpv使用哪块显卡。详见文档:https://mpv.io/manual/master/#options-d3d11-adapt
### gpu-api的选择?
## macOS:只有opengl可选
## Linux: vulkan或者opengl,推荐vulkan
## Windows:vulkan、d3d11及opengl都可选。三者理论上vulkan性能最好,但只有d3d11实现了10bit输出
#gpu-context=auto # <win/dxinterop/angle/d3d11/winvk> 选择输出后端。此项通常由 --gpu-api=<value> 自动决定正确值;--gpu-api=opengl 时默认选用 angle ,此时最好改为 win/dxinterop
#fbo-format=auto # 内处理精度。此项通常由 --gpu-api=<value> 自动决定正确值,默认首选16位及以上的精度。--vo=gpu-next 下此参数不可修改
#d3d11-exclusive-fs=yes # --gpu-api=d3d11 下的全屏独占
#d3d11-flip=no # [通常发生在 --d3d11-exclusive-fs=yes 和 --on-top 一起使用时] 可用于避免MPV全屏时的冻屏问题
# 如果存在上述问题则启用该参数,否则不应该使用,因为d3d11下的翻转模型性能最好。经测试,N卡驱动下flip模式存在性能限制,遇到渲染瓶颈时建议禁用
# [当 --gpu-context=angle 也存在全屏冻屏问题时] 用参数 --angle-flip=no 代替 d3d11-flip=no
#d3d11va-zero-copy=yes # [当 gpu-api=d3d11 时] 默认情况下,当使用带有--gpu-api=d3d11 的硬件解码时,视频图像将从解码器表面复制(GPU 到 GPU)到着色器资源。
# 设置此选项可通过直接从解码器图像采样来避免复制。这可能会提高性能并降低功耗,但可能会由于填充而导致图像在底部和右侧边缘采样不正确,并可能引发驱动程序错误,因为 Direct3D 11 从技术上不允许从解码器表面采样(尽管大多数驱动程序支持。)
# 当解码卡顿掉帧时可启用此项尝试改善
hwdec=nvdec-copy # 指定应使用的硬件视频解码API,软解改为no,硬解建议使用auto-copy或d3d11va-copy。10系以上N卡建议使用nvdec-copy,图灵架构及之后的N卡使用nvdec-copy时可硬解yuv444
# --hwdec=auto 等效 --hwdec=yes。当 --gpu-api=d3d11 时,值 auto 首选 d3d11va ;当 --gpu-api=vulkan 时,值 auto 首选 nvdec。auto-copy 首选 dxva2-copy(不推荐)
# 不推荐选用理论上解码效率最高的无-copy的原生硬解,目的是确保全部设置/滤镜/着色器正常作用(有些不支持)。注意无-copy的nvdec硬解不支持d3d11,只支持vulkan和opengl
# 在部分机器上dxva2-copy的占用可能远低于d3d11va-copy
## 使用auto不指定特定硬解api时建议使用auto-safe参数,这将优先查找开发者积极支持的硬解api(windows下为nvdec及d3d11va)
## 硬解模式可能会遇到一些问题,推荐优先使用软解(官方手册不推荐使用硬解)
## 经测试发现--vo=gpu下的copy硬解模式在4K及以上视频帧率>=60fps时将会产生异常掉帧,建议使用软解模式或无copy硬解模式
#hwdec-codecs=all # 在选定范围内的编码格式尝试硬解,当前版本默认值为 --hwdec-codecs="h264,vc1,hevc,vp8,vp9,av1,prores"
#vd-lavc-dr=no # [当 gpu-api=d3d11 时] 启用直接渲染(默认:yes)。如果设置为yes,视频将直接解码到 GPU 视频内存(或暂存缓冲区)
#vd-lavc-threads=8 # 用于解码的线程数。是否实际支持线程取决于编解码器(默认值:0)。0 表示自动检测机器上的内核数并使用它,最多为 16。您可以手动设置超过 16 个线程
#vd-lavc-assume-old-x264=yes # 假设视频是由旧的、有缺陷的 x264 版本编码的(默认:no)。仅当x264 yuv444p10格式的视频解码错误时尝试启用此项解决ffmpeg对旧的x264编码的兼容问题
#opengl-pbo=yes # 启用 PBO。在某些驱动程序上,这可能会更快,特别是如果源视频大小很大(例如所谓的“4K”视频)。在其他驱动程序上,它可能会更慢或导致延迟问题
##⇘⇘双显卡笔记本的处理
#vd=h264_qsv,hevc_qsv,mpeg2_qsv,vp9_qsv,vp8_qsv,av1_qsv
# 在Intel核显&NVDIA_MX_x50这种配置组合的条件下,如果使用独显渲染,因为MX系列独显没有解码单元,即使使用hwdec指定硬解实际依然只能软解
# 使用此参数可使用核显硬解、辅助渲染的同时让独显主力渲染(当 hwdec=no 时快进可能造成MPV假死,建议使用 xxxx-copy 的解码方式)
#d3d11-adapter="NVIDIA GeForce RTX 2070 Super"
# [当 gpu-api=d3d11 时] 指定某张显卡作为主渲染输出,默认情况下自动选择系统指定的主渲染显卡
# 显卡名可查看任务管理器自行更改适配。该参数等效在驱动面板中设置以独显运行mpv
# 例如使用I+N的双显笔记本的内屏时,实际使用的是"Intel(R) UHD Graphics",修改该项示例指定独显可降低任务管理器中双显卡的3d渲染占比
# 大多数双显卡笔记本在外接显示器时,表现类似“独显直连”,此时无需该参数也会自动用独显输出
# [当 gpu-api=vulkan 时] 用参数 --vulkan-device 代替 --d3d11-adapter
#vulkan-device="NVIDIA GeForce RTX 2070 Super"
# [当 gpu-api=vulkan 时] 此参数代替 --d3d11-adapter 执行指定显卡的职能
########
# 功能 #
########
title=${?pause==yes:⏸}${?mute==yes:🔇}${?ontop==yes:📌}${?demuxer-via-network==yes:${media-title}}${?demuxer-via-network==no:${filename}}
# 自定义窗口上显示的标题内容,也会影响部分脚本的title属性。默认值:${?media-title:${media-title}}${!media-title:No file}
osc=no # [第三方osc脚本使用的前置条件] 禁用原OSC(即内置的"osc.lua"脚本)以兼容第三方的界面样式
#fs # fs=fullscreen 打开即全屏幕
no-border # 默认为系统原生窗口界面,启用此项使用无边框界面(去除WINDOWS的窗口装饰)
#window-maximized=yes # 运行MPV自动窗口最大化(无边框界面时的最大化类似“无边窗口模式”而非“全屏”)
#background="#778899" # <格式为(AA)RRGGBB> 更改MPV初启动与播放无视频轨文件时的背景颜色
#hidpi-window-scale=no # 是否执行HIDPI缩放,默认yes。此参数可能会影响osc类脚本及console.lua等脚本的缩放行为,请根据实际效果调整
# 默认值情况下初始化的视频窗口随DPI改变大小,例如在缩放200%的4k的显示器打开800p视频后自动执行2倍缩放变1600p。此外还会影响其它脚本部分内容
#auto-window-resize=yes # <默认yes|no> 是否允许mpv在切换播放文件时自动调节窗口大小。此选项不影响geometry和autofit的功能
#geometry=75%x70% # <[W[xH]][+-x+-y][/WS]>, <x:y> 启动时的具体窗口尺寸(此时具有冻结窗口尺寸的功能)和/或位置(从边角计算到最近的画面边角)
# 若与视频比例不同,自动填充黑边。即使拉伸,也尽可能保持设定比例。使用此项后 --autofit 系列和 --window-scale 参数将无效
#autofit=70% # <[W[xH]]> 初始窗口大小及窗口下文件播放时缩放的目标大小(百分比或像素数),默认:60%
#autofit-larger=80%x80% # <[W[xH]]> 窗口模式下最大占屏幕的百分比(例如在FHD屏上打开4k视频初始窗口过大)
#autofit-smaller=50%x50% # <[W[xH]]> 窗口模式下最小占屏幕的百分比(例如在4k屏上打开480p视频初始窗口过小)
#window-scale=1 # 自动窗口缩放倍率,默认为1。但是只有在 hidpi-window-scale=no 时才能让窗口缩放为真实的1(否则会参照系统DPI考量)。优先级低于 geometry 和 --autofit 参数
#keepaspect=no # 默认yes,默认情况下MPV只按源比例拉伸视频。启用此项将始终变形画面至窗口大小
#keepaspect-window=no # 默认yes,默认情况下MPV的窗口比例锁定为视频比例。启用此项以实现窗口自由拉伸行为(当 keepaspect=yes 时四周填充黑边)
#panscan=1.0 # <0.0-1.0> 裁切横向画面以充满窗口(建议配合 keepaspect-window=no 使用)
#pause # 以暂停状态启动播放器
#loop=inf # <N|inf|no> 始终循环播放当前文件
#loop-playlist=no # <N|inf|force|no> 播放列表循环
#keep-open=yes # <yes|默认no|always> 播放列表播放完毕后保持打开,always:文件结束自动暂停,不播放下一文件
#keep-open-pause=no # <默认yes|no> 播放列表播放播放完毕后暂停
## --keep-open=yes、--keep-open-pause=yes 参数为 [end] 条件配置组生效前置条件
idle=yes # <yes|no|默认once> 空闲待机(中止播放或所有文件播放后依旧保持mpv运行)
#untimed # 输出视频帧时请勿入睡。(开启后无法正确显示补帧数值)
log-file="~~/files/mpv.log" # 记录log
ontop # 窗口置顶
snap-window=yes # 窗口移动时捕捉窗口到屏幕边缘 (仅限windows系统)
hr-seek=yes # <no|absolute|default|yes|always> 选择何时使用不限于关键帧的精确跳转。此类跳转需要将视频从前一个关键帧解码到目标位置,因此可能需要一些时间,具体取决于解码性能
# no:禁用;absolute:只对章节使用精确跳转;default:类似absolute,但在纯音频的情况下启用精准跳转。可能随版本更新发生行为变化;yes:尽可能使用精确跳转;always:与yes相同(为了兼容性)
hr-seek-framedrop=no # 跳转时丢帧,关闭利于修正音频延迟 # SVP补帧时推荐设置为no
save-position-on-quit=yes # 退出时记住播放状态。缓存目录默认在设置文件夹中的 "watch_later"
# 退出时也可按快捷键 Q 保存进度
write-filename-in-watch-later-config # 将文件名写入播放记录缓存文件
#ignore-path-in-watch-later-config # 使用"稍后观看"功能时忽略路径(即仅使用文件名)。(默认值:no)
resume-playback-check-mtime=yes # 如果文件的修改时间与保存时相同,则从watch_later配置子目录(通常为~/.config/mpv/watch_later/)恢复播放位置。这可以防止在具有不同内容的同名文件中的错误行为(默认:no)
watch-later-directory="~~/cache/watch_later"
# 在此目录中存储 "watch_later" 文件夹,其中的文件记录 --watch-later-options 指定的选项。默认路径为 "~~/watch_later"
watch-later-options=start,vid,aid,sid
# [SVP补帧时推荐设置为留空] 稍后观看的白名单
# 当 --save-position-on-quit=yes 或使用退出时保存到稍后观看的快捷键时,如果不使用白名单,滤镜列表、音量、速率等多个状态也会被保存并在下次启动时恢复
# 具体参数值:start,speed,edition,pause,volume,mute,audio-delay,fullscreen,ontop,border,gamma,brightness,contrast,saturation,hue,deinterlace,vf,af,panscan,aid,vid,sid,sub-delay,sub-speed,sub-pos,sub-visibility,sub-scale,sub-use-margins,sub-ass-force-margins,sub-ass-vsfilter-aspect-compat,sub-ass-override,ab-loop-a,ab-loop-b,video-aspect-override
#watch-later-options-clr # 恢复播放记录时禁止恢复播放过程中所有更改过的设置,这可以解决部分已知问题
#watch-later-options-remove=contrast # 禁止部分参数恢复的话可使用该项来设置
# 该项指定参数时目前必须单独列出,暂无法像--watch-later-options=option1,option2,...来指定,建议使用watch-later-options白名单来设置
reset-on-next-file=vf,af,loop-file,deinterlace,border,contrast,brightness,gamma,saturation,hue,video-zoom,video-rotate,video-pan-x,video-pan-y,panscan,speed,audio,sub,audio-delay,sub-pos,sub-scale,sub-delay,sub-speed,sub-visibility
# 播放下一文件时需重置的更改项(色彩、画面、音轨、字幕和滤镜相关)
input-ipc-server=\\.\pipe\mpvsocket # input-ipc-server=<ipc_path> 开启Ipc功能,Linux/MacOS: input-ipc-server=/tmp/mpvsocket
# 使用SVP manager时此项需设置为mpvpipe值
#demuxer-max-bytes=500MiB # 播放网络视频时的目标缓存大小(KiB或MiB)
#demuxer-readahead-secs=20 # 限制网络视频的最大缓存时间(秒数)
#ordered-chapters=no # 有序章节列表支持,默认启用,如需禁用可使用no-ordered-chapters
# 该项是对mkv的chapter-links特性的支持,禁用的话mpv不会加载或搜索其他文件的视频片段,并且也会忽略主文件指定的任何章节顺序
#metadata-codepage=auto # 指定各种输入元数据的编码(默认值:utf-8)。这会影响文件标签、章节标题等的解释方式。例如,可以将其设置为 auto 以启用编码的自动检测(这不是默认设置,因为非 UTF-8 编码是一个晦涩难懂的边缘用例)
msg-level=all=info # <module1=level1,module2=level2,...> 控制每个模块在控制台输出日志的详细程度,这也会影响日志文件。可用level:<no|fatal|error|warn|info|status默认|v|debug|trace>
# 示例为仅显示info及以上级别的信息。更多信息及用例参考官方手册:https://mpv.io/manual/master/#options-msg-level
#######
# OSD #
#######
##⇘⇘OSD 即 On-Screen-Display ,通常为屏幕上弹出显示的信息。 OSC 即 on-screen-controller ,MPV中指的是简易操控界面
##更多自定义查询 https://mpv.io/manual/master/#osd
no-osd-bar
osd-on-seek=msg-bar # <no,bar,msg,msg-bar> 在跳转时间轴时显示的信息类型
osd-bar-w=100
osd-bar-h=2
osd-bar-align-y=-1
#osd-fonts-dir=~~/fonts # 指定OSD字体查找目录,示例即为默认值
osd-font="Noto Sans Mono CJK SC" # 指定OSD字体
osd-font-size=24 # 更改OSD字体大小(全局,影响多个功能显示的文本)(默认值:55)
osd-color="#FFFFFFFF" # OSD文本主颜色
osd-border-size=1.0 # OSD文本边框大小
osd-border-color="#FF000000" # OSD文本边框颜色
osd-shadow-offset=0.5 # OSD文本字幕阴影大小
osd-shadow-color="#FF000000" # OSD文本字幕阴影颜色
#osd-spacing=1 # OSD文本字幕字间距
#osd-blur=0.5 # OSD文本字幕的边缘模糊度 <0..20.0>
osd-playing-msg="${?demuxer-via-network==yes:${media-title}}${?demuxer-via-network==no:${filename}} ${!playlist-count==1:列表:${playlist-pos-1}/${playlist-count}}"
# 每个文件开始播放时短暂显示的信息。预设显示文件名
osd-status-msg=${playback-time/full} / ${duration/full} (${percent-pos}%)\nframe: ${estimated-frame-number} / ${estimated-frame-count}
# 跳转时OSD显示的信息
osd-fractions=yes # 以秒为单位显示OSD时间(毫秒精度),有助于查看视频帧的确切时间戳
osd-duration=2000 # 设置(全局)OSD文本信息的持续时间(毫秒)(默认值:1000)
#osd-playing-msg-duration=2000 # --osd-playing-msg 文本的持续时间,如不设置此项,则使用全局持续时间
########
# 视频 #
########
### 视频相关设置使用配置组进行设定,以下仅为参数示例说明,具体设置见下方 [通用参数补充区] 和 [配置组] 的相关配置组参数
##⇘⇘以下为ICC色彩管理相关参数设置
#icc-profile="~~/icc/ITU-RBT709ReferenceDisplay.icc"
# 加载 ICC 配置文件并使用它来将视频 RGB 转换为屏幕输出,自行选择显示器对应色域的icc配置文件。此选项覆盖 --target-prim、--target-trc和--icc-profile-auto 选项
## 由于mpv校色目标是bt.1886(接近gamma=2.4),因此当启用--icc-profile-auto参数使用系统指定(srgb)校色文件时,因该(srgb)校色文件gamma曲线通常为gamma2.2,将会导致mpv画面显示异常
## 针对以上问题,最好手动指定gamma曲线为gamma2.4的对应显示器色域校色文件,示例参数可供参考
#icc-profile-auto # 如果做过专业校色可开启(系统目录存在对应的icm校色文档)。未做校色的广色域屏应手动指定target-prim=<value>
# 启用色彩管理可以让标准色彩空间的视频在广色域显示器上显示相对正确的色彩,关闭会恢复过饱和的状态
# 目前mpv在使用icc色彩管理时由于校色曲线目标是bt.1886,会造成大部分显示屏出现偏色和画面偏暗等问题 https://github.com/mpv-player/mpv/issues/8009
## 启用参数--icc-force-contrast=1000,可解决某些校色文件对比度极高导致画面偏暗的问题(oled屏此项自行测试合理值)。注意仍无法解决hdr映射画面偏暗的问题
# 亦或使用--target-prim=<value> 参数管理色彩空间
#icc-intent=0 # ICC的色彩转换映射意图,0:感知度,1:相对色度(默认值),2:饱和,3:绝对色度。推荐使用感知度映射 https://github.com/mpv-player/mpv/issues/8009#issuecomment-923607273
#icc-force-contrast=1000 # <no|0-1000000|inf> 色彩管理。覆盖ICC文件内的静态对比度数据,默认no为不覆盖,oled可以设置为inf即无限(如果ICC中此项数据丢失则自动回落到1000),此项只影响bt.1886的内容显示
## 普通LCD一般使用 1000(以面板原生数据为准);使用OLED显示设备的用户尝试使用 1000000 或特殊值 inf。LCD设置为1000可解决某些校色文件对比度极高导致黑色部分太黑
#icc-3dlut-size=64x64x64 # 从每个维度的ICC配置文件生成的3D LUT的大小。默认值为64x64x64。范围<2--512>
#icc-cache-dir="~~/cache/icc_cache" # 指定目录存储和加载从ICC配置文件创建的3D LUT。这可以用来加快加载速度。请注意,这些文件包含未压缩的LUT。它们的大小取决于--icc-3dlut-size,并且可能非常大。注意:这不会自动清除,因此旧的,未使用的缓存文件可能会无限期地停留
## 缓存生成的3dlut本应起到加速作用,但是硬盘IO性能不足可能产生反作用,根据实际情况选择禁不禁用
#use-embedded-icc-profile=no # 加载包含在媒体文件(如 PNG 图像)中的嵌入式 ICC 配置文件。(默认:yes)。请注意,此选项在--vo=gpu下仅在同时使用显示 ICC 配置文件(--icc-profile或--icc-profile-auto)时才有效
##⇘⇘以下为target色彩管理相关参数设置
#target-prim=auto # 广色域屏应该设定此参数为具体值以解决色彩过饱和的问题,当不使用ICC色彩管理时,视频颜色将适应此色彩空间。srgb屏无需更改此默认值(bt.709),其他举例:99%的argb屏幕写adobe,90%+的p3色域屏写dci-p3
# 使用--target-prim=<value> 参数管理色彩空间时会导致hdr下出现偏色问题,hdr映射时启用--gamut-mapping-mode=clip 参数可解决该问题 https://github.com/mpv-player/mpv/issues/9071
#target-trc=gamma2.2 # 指定显示屏的传输特性(伽马),未使用icc色彩管理时生效。默认值auto:在--vo=gpu下hdr下使用gamma2.2,sdr下不做处理;在--vo=gpu-next下始终使用bt.1886曲线(假设无限对比度,即oled)
# 建议非oled和hdr的显示器始终使用gamma2.2曲线,避免mpv画面过暗。hdr直通时此项需使用auto或pq值
#target-peak=auto # <auto|nits> 指定输出显示器的测量峰值亮度。受--target-trc参数影响,默认值auto:根据trc参数使用适当值,sdr默认为203,hdr下建议根据实际显示效果指定具体nits值
# 当使用icc色彩管理时,若nits设置为高于默认值(203),显示器将被mpv视为hdr屏处理
# --vo=gpu-next下尽可能不要修改此参数避免画面表现异常
##⇘⇘以下为3dlut相关参数
#lut=<file> # [当 --vo=gpu-next 时生效] ,指定自定义LUT(Adobe .cube格式)作为颜色转换的一部分应用于颜色。确切的方式取决于--lut-type
#lut-type=conversion # [当启用--lut=<file>时生效] ,<默认auto|native|normalized|conversion> ,控制传入和传出指定为--lut的LUT的颜色值的方式
# auto:从标记的元数据中自动选择LUT,否则回退到系统(默认);native:在转换到输出颜色空间之前应用于其原生RGB颜色空间中的原始图像内容(非线性光)
# normalized:在转换到输出色彩空间之前,应用于线性光下的归一化RGB图像内容
# conversion:全替换从图像色彩空间到输出色彩空间的转换。如果存在此类LUT,则它具有最高优先级,并覆盖任何ICC配置文件以及与色调映射和输出色度相关的选项(--target-prim、--target-trc等)
#target-lut=<file> # [当 --vo=gpu-next 时生效],指定自定义LUT文件(Adobe .cube格式)以在屏幕上显示之前应用于颜色
# 在编码到目标色彩空间后,此LUT以归一化RGB形式提供值,因此将在参数 --target-trc 之后处理
#image-lut=<file> # [当 --vo=gpu-next 时生效] ,指定自定义LUT文件(Adobe .cube格式)以在图像解码期间应用于颜色。LUT的确切方式取决于--image-lut-type
#image-lut-type=conversion # [当启用--image-lut=<file>时生效] ,<默认auto|native|normalized|conversion> ,控制传入和传出指定为--image-lut的LUT的颜色值的方式
# auto:从标记的元数据中自动选择LUT,否则回退到系统(默认);native:在解码为RGB之前应用于原始颜色空间中的原始图像内容。例如对于HDR10图像,这将输入范围为0.0-1.0的PQ编码的YCbCr值
# normalized:应用于归一化的RGB图像内容,在从其原生颜色编码解码之后,但在线性化之前
# conversion:完全取代颜色解码。这种类型的LUT应该摄取图像的原生色彩空间并输出归一化的非线性RGB
##⇘⇘以下为hdr相关参数
#inverse-tone-mapping=yes # [当 --vo=gpu-next 时生效] ,如果设置,则允许反向色调映射(将 SDR 扩展到 HDR),仅在hdr设备上有效。不支持使用部分色调映射曲线。请谨慎使用 #!注意此参数不可在运行时更改或生效
#target-colorspace-hint=yes # [当 --vo=gpu-next 时生效] ,如果可能的话,自动配置显示器的输出色彩空间以通过媒体流的输入值(例如HDR直通)。需要驱动程序支持 #!注意此参数不可在运行时更改或生效
# --vo=gpu-next --gpu-api=vulkan下和全屏(Windows的限制)时可用,--gpu-api=d3d11下需手动切换显示器HDR模式(Windows的限制)
#tone-mapping=hable # 色调映射算法,其他推荐能用的有clip|mobius|reinhard|hable|bt.2390|gamma|spline|bt.2446a|st2094-10|st2094-40,默认auto,根据内部启发式方法选择最佳曲线
# spline、bt.2446a、st2094-10和st2094-40算法仅限--vo=gpu-next下可用
## vo=gpu时推荐测试使用hable或bt.2390。hable相对细节保留的更好,bt.2390对比度较好
## vo=gpu-next时目前推荐测试使用spline、hable和bt.2446a。spline映射算法配合--hdr-compute-peak使用时具有目前mpv内部最好的色调映射表现
#tone-mapping-param=0.3 # 色调映射算法的小参。hable和bt.2446a无参,bt.2390在--vo=gpu下无参,-vo=gpu-next下默认值1.0。mobius和spline默认0.5/reinhard默认0.5/gamma默认1.8(--vo=gpu-next下默认值为0.5)
# -vo=gpu-next下使用bt.2390时推荐值:2.0 或ITU-R规范中的值0.5
#tone-mapping-max-boost=1.0 # <1.0-10.0> 平均亮度的最大曝光倍数,默认:1.0。增大此值可显示暗处隐藏的细节,过高会使暗处看起来不自然地明亮。可以尝试1.0,1.33下的表现,仅限--vo=gpu下可用
#tone-mapping-crosstalk=0.04 # [当 --vo=gpu-next 时生效] ,<0.0..0.30> 默认值:0.04,如果值非0,则在色调映射之前应用额外的串扰矩阵。可以帮助改善强饱和单色高光的外观。可以尝试下0 / 默认0.04 / 最大0.3之间的区别,按自己喜好来决定
#tone-mapping-mode=auto # <默认auto|rgb|max|hybrid|luma> 控制色调映射功能如何应用于颜色,默认auto:自动选择最佳模式。luma选项仅限--vo=gpu-next下可用
# rgb:基于RGB每通道进行色调映射。可能具有严重扭曲颜色的倾向,去饱和度高光。然而这是许多显示器和电视(尤其是早期的显示器和电视)中使用的模式,所以有时候需要使用此方案再现一部电影的艺术意图
# luma:ITU-R BT.2446a的基于亮度的方法,包括固定色域以减少与亮度相关的感知不均匀性
# hybrid:一种混合方法,对中间调和高光的每通道色调映射;max:基于视频中最亮部分的色调映射,有较高倾向导致奇怪的过度饱和色彩,并丢失深色细节
#gamut-mapping-mode=clip # <默认auto|clip|warn|desaturate|darken> 在完成任何色调映射后指定所需的目标显示色域的处理方式,默认auto:自动选择最佳模式。darken选项仅限--vo=gpu-next下可用
# clip:RGB每通道硬剪切到目标色域,推荐优先使用;warn:只需突出显示色域外像素即可;desaturate:色度去饱和色域外的颜色变为白色
# darken:线性使整个图像变暗,然后剪切到目标色域。与"clip"类似,但不会破坏饱和区域的细节,代价是有时会显著降低输出亮度
#hdr-compute-peak=yes # <默认auto|yes|no> 此选项基本上提供了动态的基于场景的色调映射(较老的显卡不支持此参数,此时画面将变得惨白),可能会使场景变化时亮度随之变化闪烁
# 目前启用--hdr-compute-peak时部分色调映射曲线(bt.2390,reinhard)下容易出现高光细节丢失或过曝;也有部分色调映射曲线下会有明显改善(spline,bt.2446a,hable)
#hdr-peak-decay-rate=100 # [当 --hdr-compute-peak=yes 时生效] ,用于 HDR 峰值检测算法的衰变率(<1.0.1000.0>默认值:100.0)
#hdr-scene-threshold-low=5.5 # [当 --hdr-compute-peak=yes 时生效] ,亮度差异的下阈值(dB)将被视为场景更改(<0.0.100.0>默认值:5.5)
#hdr-scene-threshold-high=10 # [当 --hdr-compute-peak=yes 时生效] ,亮度差异的上阈值(dB)将被视为场景更改(<0.0.100.0>默认值:10.0)
#allow-delayed-peak-detect=no # 当 [--hdr-compute-peak=yes] 及 [-vo=gpu-next] 时生效,默认yes。使用--hdr-compute-peak时,允许在有利于性能的情况下将检测到的峰值延迟一帧
# 特别是当不需要高级渲染时,这可以避免不必要的FBO处理。注意-vo=gpu默认延迟峰值处理
##⇘⇘以下为调整画面效果的相关参数设置
#video-sync=display-resample # 类"ReClock"作用,更改为视频帧与显示器刷新率同步,自动调节音频速度补偿偏移。 # SVP补帧时推荐关闭
# 默认值audio(与音频/系统时钟同步)通常兼容性最好但有偶尔的丢帧和重复
#video-sync-max-video-change=5 # [仅当 --video-sync=display-xxxx 时生效] 默认值:1
#interpolation # [仅当 --video-sync=display-xxxx 时生效] 减少由于视频fps和显示刷新率不匹配而引起的卡顿(也称为画面抖动)。 # SVP补帧时推荐关闭
# interpolation使用的算法。详见https://mpv.io/manual/master/#options-tscale
# 一些讨论见 https://github.com/mpv-player/mpv/issues/2685
#interpolation-preserve=no # [当 --vo=gpu-next 时生效] ,默认yes。即使更改渲染器参数,也保留前一帧的插值结果。裁剪和视频放置相关的选项除外,它们总是使缓存无效
# 启用此选项会使渲染器设置的动态更新更平滑,但代价是响应此类更改时延迟稍高
#tscale=oversample # [仅开启 --interpolation 时生效] 选择时域插值算法(非MEMC运动补偿)。 # SVP补帧时推荐关闭
# 目前的默认为mitchell。总体而言mitchell更平滑(当然不好和SVP插帧比),但会有模糊。oversample没有模糊,但不平滑(基本还原24帧的样子,效果类似MADVR的smoothmotion),triangle介于两者之间,catmull_rom相对锐利
# 具体选择哪个请依据自身需求来
#tscale-radius=1.0 # 设置可调过滤器的半径,必须是介于 0.5 和 16.0 之间的浮点数。如果未指定,则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#tscale-clamp=0.0 # <0.0-1.0> 指定要乘以负系数的权重偏差。指定 --scale-clamp=1 具有完全去除负权重的效果,从而有效地将值范围限制为 [0-1]。可以指定介于 0.0 和 1.0 之间的值以仅应用适度减少的负权重
# tscale此项默认值为1.0,可有效减少tscale产生的振铃伪影。其他scale算法默认值为0.0
#tscale-antiring=1.0 # 设置抗振铃强度。这试图消除振铃,但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
# 请注意,这不会影响特殊过滤器bilinear和 bicubic_fast,也不会影响任何极坐标 (EWA) 缩放器
#dither-depth=auto # <N|默认no|auto> 是否开启色深抖动弥补色彩转换损失。8位显示器写8,10位显示器写10,auto的值取决于--gpu-api,不一定正确,vulkan下必须手动指定10bit。见问题状态:https://github.com/mpv-player/mpv/issues/8554
# 如果8抖10的显示器使用10存在输出异常的情况,改回值8
#dither=fruit # <默认fruit|ordered|error-diffusion|no> [当启用--dither-depth时生效], 选择色深抖动算法
# error-diffusion算法效果最好也最耗能,当效能不足时将自动回落到fruit算法
#dither-size-fruit=6 # [当--dither=fruit时生效], <2-8> 设置色深抖动矩阵的大小(默认值:6)。矩阵的实际大小为(2^N)x(2^N),选项值为N,因此6实际为64x64
#error-diffusion=sierra-lite # <simple|默认sierra-lite|floyd-steinberg|atkinson> [当--dither=error-diffusion时生效], error-diffusion使用的算法内核
#temporal-dither # [当启用--dither-depth 时生效], 启用时域色深抖动算法(即帧间混合色深抖动算法)
# 这通过更改平铺抖动矩阵的方向,在每个帧上的 8 种不同的抖动模式之间变化。这有可能导致LCD显示器上的闪烁
#temporal-dither-period=1 # <1-128> [当启用--temporal-dither 时生效], 确定色深抖动模式在使用时更新的频率。1(默认值)将在每个视频帧上更新
#scale=ewa_hanning # 放大算法,profile=gpu-hq的默认为spline36,推荐算法为--ewa_lanczos和--ewa_lanczossharp,即jinc算法及其变体
# ewa_hanning算法相比jinc算法可减少振铃的产生
# 内置scale算法中spline36算法更适合实拍类图像,ewa类算法更适合anime类图像
#scale-radius=3.2383154841662362 # 设置可调过滤器的半径,必须是介于 0.5 和 16.0 之间的浮点数。如果未指定,则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#scale-antiring=1.0 # 设置抗振铃强度。这试图消除振铃,但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
# 请注意,这不会影响特殊过滤器bilinear和 bicubic_fast,也不会影响任何极坐标 (EWA) 缩放器
## 使用外部upscale类着色器时基本无需启用此项
#cscale=catmull_rom # 色度还原算法;默认bilinear
# 内置cscale算法中推荐使用 catmull_rom 或 ewa_hanning
# catmull_rom算法更适合较好的片源。"KrigBilateral.glsl"虽然效果最好,特殊片源(VFR)及特殊着色器组合下可能导致耗能过高
#cscale-radius=3 # 设置可调过滤器的半径,必须是介于 0.5 和 16.0 之间的浮点数。如果未指定,则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#cscale-antiring=1.0 # 设置抗振铃强度。这试图消除振铃,但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
# 请注意,这不会影响特殊过滤器bilinear和 bicubic_fast,也不会影响任何极坐标 (EWA) 缩放器
## 使用外部cscale类着色器时基本无需启用此项
#dscale=ewa_hanning # 缩小算法。若不设定,则自动采用 --scale 的值
# 当只使用内置dscale算法时推荐bicubic(效果最好)或ewa_hanning,也可自行测试robidouxsharp和ewa_robidouxsharp及其他算法效果
#dscale-radius=1 # 设置可调过滤器的半径,必须是介于 0.5 和 16.0 之间的浮点数。如果未指定,则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#dcale-antiring=1.0 # 设置抗振铃强度。这试图消除振铃,但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
# 请注意,这不会影响特殊过滤器bilinear和 bicubic_fast,也不会影响任何极坐标 (EWA) 缩放器
## 使用外部dcale类着色器时基本无需启用此项
#linear-upscaling=no # [须 --fbo-format 指定16位及以上的精度;与 --sigmoid-upscaling 不兼容] (对HDR内容无影响)
#sigmoid-upscaling=no # [与 --linear-upscaling 不兼容] 放大时非线性的颜色转换,可避免强振铃伪影
## 开发者建议要么优先使用 --sigmoid-upscaling ,要么以上两项干脆都不用(即在伽马光下缩放)
## 使用外部upscale类着色器时基本无需启用此项
#correct-downscaling=yes # [当 --dscale=bilinear 时此项无效] 增强缩小算法的质量,对于异形比例视频可能产生微小失真
# 类似anti-aliasing 效果
## 可由更好的"SSimDownscaler.glsl"着色器替代
#linear-downscaling=no # [使用"SSimDownscaler.glsl"时须关闭;须 --fbo-format 指定16位及以上的精度] (对HDR内容无影响)
## 上两项 --linear- 的参数对应MADVR中的"scale in linear light",在缩小算法中线性处理可以提升颜色对比度的精确性
#scaler-resizes-only=no # 默认yes,当未进行缩放处理时,使用bilinear算法完美还原,禁用时,即使未改变大小,也使用指定的scale值进行处理,可以修正nnedi3和ravu引入的半像素偏移(但没必要)
# 该参数在--vo=gpu-next下无效
#deband=no # 消去色带,无需常驻,可以选择视片源手动开启
#deband-iterations=1 # <1-16> 去色带执行次数,越高强度但也越费时费力,数值>4实际无效(默认1),3-4相当于madvr的deband设为high的效果
#deband-threshold=64 # <0-4096> 滤波器的截止阈值,更高的数字会增加强度,但会逐渐减少图像细节(默认32)
#deband-range=16 # <1-64> 初始半径,越大的值去色带越强且性能占用越高;值越小越平滑(默认值16)。如果增大 --deband-iterations,需减小此值来进行补偿
#deband-grain=48 # <0-4096> 添加额外动态噪点,有助于掩盖剩余的量化伪影(默认48)
########
# 音频 #
########
audio-device=auto # 此项用于指定启动时的音频输出设备
# 改具体值示例 --audio-device="wasapi/{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}",设备名获取方式见官方手册
audio-channels=7.1,5.1,stereo # <默认值auto-safe|auto|layouts|stereo>,如果双声道系统播放多声道影片时有的声道声音没出现,尝试强制设定为双声道
# 注意:此项必须设置为实际音频输出设备的相关声道值或优先级顺序。mpv默认的auto-safe和auto下会出现多声道下混丢声道的问题,不推荐使用
# 示例参数7.1,5.1,stereo为常见音频输出设备的优先级顺序,会自动回退选择符合实际音频输出设备的输出值(大多数使用的是stereo双声道设备)
# 多声道音轨下混成双声道时,如果觉得背景音过响,角色台词声音小,尝试看看这个:https://github.com/mpv-player/mpv/issues/6563
ao=wasapi # --ao=<driver1,driver2,...[,]> 指定要使用的音频输出驱动程序的优先级列表,如果列表有尾随的 ',',mpv 将回退到未包含在列表中的驱动程序
## windows推荐wasapi;linux推荐alsa,需配合参数--audio-channels=auto;macos推荐coreaudio或coreaudio_exclusive
## 经测试如果有其他软件独占音频通道后再打开MPV画面会无比卡顿
#audio-exclusive=yes # 音频通道独占。如果音频存在卡顿问题可关闭这项或以上一项
#volume=100 # 播放器启动音量。0为静音,默认100
volume-max=130 # # <100.0-1000.0> 最大音量。默认值130(130的响度约为100的两倍 1.3^3≈2)
#audio-pitch-correction=no # [--af=scaletempo/scaletempo2/rubberband 的前置条件] 变速播放时的音调修正,默认yes。自动插入前三项音频滤镜中其一(更多信息见滤镜区)
#audio-delay=0.04 # 如需要,可设置音频延迟
#audio-samplerate=96000 # 强制resample成96kHz,24bit(需要音频设备硬件支持)。注意!并非必要
#audio-format=s32
#audio-normalize-downmix=yes # 如果环绕声音频下混为立体声,则启用/禁用规格化(默认:no)。如果禁用此功能,下混可能会导致削波。如果启用此功能,则输出可能太安静。这取决于源音频
gapless-audio=no # <no|yes|weak默认> 尝试在文件更改时播放连续的音频文件,而不会静音或中断。默认值weak: 当音频格式发生变化时初始化音频输出
# 设为yes时会导致文件保存相同的采样率致使音质降低
audio-file-auto=fuzzy # <默认no|exact|fuzzy|all> 自动加载同名外挂音轨
audio-file-paths=audio;audios;**
# <path1:path2:...> 在指定的额外目录中寻找匹配的音轨,支持相对和绝对路径
## ":" 在windows上使用 ";" 代替
## 可使用fuzzydir.lua增强路径配置,添加"**"可实现自动加载视频同目录下所有可匹配的子目录音轨
alang=japanese,jpn,jap,ja,jp,english,eng,en
# 设置音轨首选语言,但MPV优先加载外挂轨道
#aid=1 # 暂时无法根据其他的metadata选择轨道,mpv又默认偏好外挂轨道,常常选到不想要的音轨
## 建议使用trackselect.lua脚本实现依据metadata自动选择指定音轨 https://github.com/po5/trackselect
########
# 字幕 #
########
#sub-font-provider=fontconfig # <默认auto|none|fontconfig> 字体渲染api选项,win推荐使用auto,DirectWrite性能最佳
# auto 自动选择系统字体渲染接口:Windows为DirectWrite,Linux为fontconfig,macOS为CoreText
# none 忽略字幕指定字体,使用sub-font参数,字幕样式不变(对内挂字幕无效)
# fontconfig 使用mpv.conf目录下fonts.conf里的字体加载项,可自定义fonts路径 <dir>CUSTOMFONTDIR</dir>
# Windows上使用fontconfig时初次会将目录下所有字体写入内存,之后采用按需请求加载方式。加载及切换极为缓慢,不推荐使用
#sub-ass-override=no # <默认yes|no|force|scale|strip> 设置字幕渲染方式,控制是否应用样式覆盖
# no:禁用;yes:应用所有--sub-ass-*样式覆盖选项;force:强制应用所有--sub-*选项;scale:类似yes,但也适用--sub-scale;strip:去除所有 ASS 标签和样式,此项也会影响pgs和srt等格式字幕
##⇘⇘以下--secondary-sub-override选项及功能为个人修改版mpv实现的,mpv上游尚未支持,请下载修改版mpv配合使用:https://github.com/dyphire/mpv-winbuild/releases
#secondary-sub-override=no # 是否对次字幕启用 strip 样式覆盖,默认:yes(原版mpv默认行为)。禁用时将和主字幕使用相同的字幕渲染逻辑
#sub-scale-by-window=no # 是否根据窗口大小缩放字幕(默认:yes)。影响纯文本及 ASS 格式的字幕
#sub-scale-with-window=no # 使字幕字体大小相对于窗口,而不是视频(默认:yes)。仅影响纯文本字幕
#sub-ass-scale-with-window=yes # 与--sub-scale-with-window类似,但仅影响 ASS 格式的字幕(默认:no)。某些情况下此项可能导致ass样式错位
#embeddedfonts=no # 使用嵌入在 Matroska 容器文件和 ASS 脚本中的字体(默认:yes)
#sub-codepage=utf8:gbk # 指定字幕使用的编码,默认值为auto:自动检测字幕编码,检测失败时默认回退 UTF-8 处理。示例为当字幕检测到非 UTF-8 时视为 GBK 编码处理
# 注意:这仅适用于文本字幕文件。其他类型的字幕(特别是 mkv 文件中的字幕)始终假定为 UTF-8
sub-auto=fuzzy # <默认no|exact|fuzzy|all> 自动加载同名外挂字幕
sub-file-paths=sub;subs;subtitles;字幕;**
# <path1:path2:...> 在指定的额外目录中寻找匹配的字幕。支持相对和绝对路径,示例即自动搜索当前文件路径下名为"sub","subtitles","字幕"文件夹内
## ":" 在windows上使用 ";" 代替
## 可使用fuzzydir.lua增强路径配置,添加"**"可实现自动加载视频同目录下所有可匹配的子目录字幕
slang=chs,sc,zh-CN,zh-Hans,cht,tc,zh-Hant,zh-HK,zh-TW,chi,zh
# 设置字幕首选语言,但MPV优先加载外挂轨道
#sid=1 # 暂时无法根据其他的metadata选择轨道,mpv又默认偏好外挂轨道,常常选到不想要的字幕
## 建议使用sub-select.lua脚本实现依据metadata自动选择指定字幕 https://github.com/CogentRedTester/mpv-sub-select
#blend-subtitles=yes # <yes|video|默认no> 在插值和颜色管理之前,将字幕混合到视频帧上。值video类似于yes,但是以视频的原始分辨率绘制字幕,并与视频一起缩放
# --vo=gpu-next 下已弃用 --blend-subtitles=video 参数
# 启用此功能会将字幕限制在视频的可见部分(不能出现在视频下方的黑色空白处)
# 还会让字幕受 --icc-profile,--target-prim,--target-trc,--interpolation,--gamma-factor 和 --glsl-shaders 的影响
# 使用 --interpolation 时,配合合适的tscale算法,可提高字幕性能
## hdr下的问题状态 https://github.com/mpv-player/mpv/issues/6368 (静态映射不受影响)
#sub-ass-force-margins=yes # [当 --blend-subtitles=yes/video 时无效] 默认值为no,设为yes时,将使ass字幕尽可能输出在黑边上。不推荐常设为yes,会破坏部分ass的pos标注效果,建议通过快捷键手动开关
stretch-image-subs-to-screen=yes # 强制拉伸图形字幕到缩放分辨率而不是参考视频分辨率,可以使PGS实现输出在黑边的效果,可能破坏显示效果
# 注:当视频比例和PGS字幕比例不一致时只有开启此项才能获得正确的字幕显示效果(国内电影压制的内封pgs字幕大多存在这种问题)
##⇘⇘字幕显示出来和xy-subfilter不一样?尝试启用下面的设置
sub-ass-vsfilter-aspect-compat=no # 播放非常规比例视频时拉伸ASS字幕来模仿传统的vsfilter行为,默认yes
#sub-ass-vsfilter-color-compat=full # <默认basic|full|force-601|no> 模仿(xy-)vsfilter行为转换字幕颜色空间
#sub-ass-vsfilter-blur-compat=no # 通过视频分辨率而不是.ass指定的分辨率缩放"\blur"标签,默认yes。提高与vsfilter渲染行为的兼容性,实际影响"\blur"、"\border"、"\shadow"等ass标签缩放行为
## 已知ass问题:https://github.com/mpv-player/mpv/issues/9858,"\fry"标签缩放错误,可通过绑定快捷键切换开关状态
## 视频分辨率大于1080p时此选项可能导致"\blur"、"\border"、"\shadow"等ass标签缩放行为出现错误,解决方案同上
#sub-ass-force-style-append=ScaledBorderAndShadow=no
# 强制样式:不缩放边框和阴影。可防止所谓的“重墨”风格 https://github.com/libass/libass/issues/287
# 注:libass 0.15.2后的git版已修复该问题
##⇘⇘以下--sub-ass-feature-*相关选项的功能暂为个人修改版mpv适配libass的ASS_Feature特性而实现的,mpv上游尚未支持,请下载修改版mpv配合使用:https://github.com/dyphire/mpv-winbuild/releases
#sub-ass-feature-bidi-brackets=yes # 使用Unicode双向算法根据双向文本匹配括号对,这与VSFilter系的渲染方式不兼容,默认禁用
#sub-ass-feature-whole-text-layout=yes # 启用此功能后,每个事件的文本将作为一个整体进行处理(尽可能)。特别是Unicode双向算法会在整个文本上运行,并且覆盖冲突的'bidi'、'shaping'和'\fay'等ASS标签。这与VSFilter系的渲染方式不兼容,默认禁用
#sub-ass-feature-wrap-unicode=no # 使用Unicode换行算法处理文本字幕的换行,可针对东亚无空格的字符实现文本断行并自动换行。这与VSFilter系的渲染方式不兼容,默认启用
#sub-gauss=1.5 # <0.0-3.0> 将高斯模糊应用于图像字幕(默认值:0)。这有助于使像素化 DVD/Vobsub 看起来更好
#sub-gray=yes # 将图像字幕转换为灰度。可以帮助使黄色 DVD/Vobsubs 看起来更好
#sub-fix-timing=no # 调整字幕时序以去除字幕之间的微小间隙或重叠(如果差异小于 210 ms,则去除间隙或重叠)。在某些情况下这可能会使情况变得更糟,此时可尝试禁用此项
#sub-fps # 指定字幕文件的帧率(默认:video fps)。仅影响文本字幕
#sub-speed=24/23.976 # 将字幕事件时间戳与给定值相乘。可用于固定基于帧的字幕格式的播放速度。仅影响文本字幕
# --sub-speed=24/23.976 播放基于帧的字幕,假设帧率为 23.976,每秒 24 帧
#stretch-dvd-subs=yes # 播放变形视频时拉伸 DVD 字幕,默认禁用
#sub-filter-regex-plain=yes # 是否首先将ASS"文本"字段转换为纯文本(默认:no)。这将剥离 ASS 标记并将 ASS 指令(如\N)应用于换行符。如果结果是多行的,则正则表达式锚点^和$匹配每行,但任何匹配项仍会丢弃所有行
#sub-filter-regex-warn=yes # 日志丢弃的行具有警告日志级别,而不是详细(默认值:no)。有助于测试
#sub-filter-regex-enable=no # 是否启用正则表达式筛选(默认值:yes),以下两项参数为空时不生效
#sub-filter-regex-append=opensubtitles\.org # --sub-filter-regex-...=... 设置要与文本字幕匹配的正则表达式列表,并删除任何匹配的行(默认:空) 匹配不区分大小写,但如何执行此操作取决于libc,并且很可能仅适用于ASCII。它不适用于位图/图像字幕
#sub-filter-jsre-append= # 与--sub-filter-regex相同,但使用 JavaScript 正则表达式。共享/受所有--sub-filter-regex-*控制选项影响,只需要 JavaScript 支持
##⇘⇘字幕设置,无内置风格时
#sub-fonts-dir=~~/fonts # 指定用于文本字幕的字体查找目录,示例即为默认值
sub-font="Noto Sans CJK SC" # 指定纯文本字幕的字体,该参数本应对ASS字幕无效,实际影响了ASS的缺省默认字体 https://github.com/mpv-player/mpv/issues/8637
sub-font-size=50 # 文本字幕字体大小
sub-bold=yes # 文本字幕使用粗体样式
#sub-italic=yes # 文本字幕使用斜体样式
sub-color="#FFFFFFFF" # 文本字幕字体颜色. <格式为(AA)RRGGBB> AA为十六进制的透明度,RRGGBB为十六进制的颜色表示
#sub-back-color="#FF262626" # 文本字幕背景颜色
sub-border-size=0.5 # 文本字幕边框大小
sub-border-color="#FF000000" # 文本字幕边框颜色
sub-shadow-offset=0.5 # 文本字幕阴影大小
sub-shadow-color="#FF000000" # 文本字幕阴影颜色
#sub-spacing=1 # 文本字幕字间距
#sub-blur=0.5 # 文本字幕的边缘模糊度,推荐值0.5-3.0之间 <0..20.0>
#sub-use-margins=no # 是否使纯文本字幕输出在黑边上,默认yes
#sub-pos=100 # 指定字幕在屏幕上的位置。该值是字幕的垂直位置,占屏幕高度的百分比。默认100,高于100的值会向下移动。影响ass字幕及纯文本字幕
#sub-margin-x=25 # 以缩放像素为单位的子项的左右屏幕边距,此选项指定 sub 向左的距离,以及与右侧边框之间的距离
#sub-margin-y=22 # 以缩放像素为单位的子项的上部和下屏幕边距,此选项指定纯文本字幕的竖边距。如果只想提高垂直字幕位置,请使用--sub-pos
#sub-align-x=center # <left|默认center|right> 控制文本字幕应与屏幕的哪个角对齐。从未应用于ASS字幕,除非在--no-sub-ass模式下。同样,这不适用于PGS图像字幕
#sub-align-y=bottom # <top|center|默认bottom> 控制文本字幕的垂直位置
#sub-justify=left # <默认auto|left|center|right> 控制多行字幕的对齐方式(默认:auto,根据--sub-align-y定义进行对齐)。建议左对齐
#sub-ass-justify=yes # 如果--sub-ass-override未设置为no,则在ASS字幕上应用--sub-justify。默认值:no
########
# 截图 #
########
### 以下预设参数只是为了截取最高质量的图片
screenshot-format=webp # <默认 jpg|(同前)jpeg|png|webp|jxl>
#screenshot-png-compression=7 # <0-9> PNG压缩等级,过高的等级影响性能,默认为7
#screenshot-png-filter=5 # 设置在PNG压缩之前应用的过滤器。0为无,1为sub,2为up,3为average,4为Paeth,5为mixed,这会影响可以达到的压缩级别。对于大多数图像,mixed可实现最佳压缩率,因此它是默认设置。
#screenshot-jpeg-quality=100 # <0-100> JPEG的最高质量,默认为90
#screenshot-jpeg-source-chroma=no # 用与源视频相同的色度半采样写入JPEG,默认yes
#screenshot-webp-lossless=yes # 无损WEBP,默认no
screenshot-webp-quality=100 # <0-100> [当 --screenshot-webp-lossless=no 时生效] 有损WEBP的质量,默认75
screenshot-webp-compression=6 # <0-6> WEBP压缩等级,过高的等级影响性能,默认为4。注意:使用有损WEBP时这也会影响图片质量
#screenshot-jxl-distance=0 # <0-15> JXL的视觉模型距离,0为质量无损,0.1为视觉无损,默认 1 相当于JPEG的90质量
#screenshot-jxl-effort=5 # <1-9> JXL压缩等级,过高的等级影响性能,默认 4
screenshot-tag-colorspace=yes # 使用适当的色彩空间标记屏幕截图(并非所有格式受支持)默认yes
#screenshot-high-bit-depth=no # 主要影响PNG和JPEG XL,尽可能使用和视频输出时相同的位深,默认yes。注意:使用同位深时会大幅增加png/jxl的最终大小
#screenshot-sw=yes # 是否对屏幕截图使用软件渲染,默认:no。如果设置为 yes,则使用软件缩放器将视频转换为 RGB(或目标屏幕截图所需的任何内容)。软件渲染器可能缺少某些功能,例如 HDR 渲染
screenshot-template="~~/files/screen/%F-%P-%n"
# # [若直接在模板中设置路径,此时无需 --screenshot-directory ] 截图命名模板: https://mpv.io/manual/master/#options-screenshot-template
#screenshot-directory=~~desktop/ # [若已在截图命名模板中设置路径,此时无需使用该参数 ] 默认保存截图在桌面
####################
# 脚本 滤镜 着色器 #
####################
gpu-shader-cache-dir="~~/cache/shaders_cache" # 在mpv.conf所在目录下建一个 shaders_cache 空文件夹,以存放编译好的GPU shaders,加速启动。
# 注意!如果不放APPDATA下,确保该文件夹有用户写入权限。
## 缓存生成的着色器本应起到加速作用,但是硬盘IO性能不足可能产生反作用,根据实际情况选择禁不禁用
##⇘⇘脚本部分
##内置脚本开关(如果没有必要的目的,那就不要屏蔽mpv内建的功能)
#load-scripts=no # 自动加载配置文件同目录下的scripts子目录中的所有外置脚本,默认yes。设置为no时可用下一行示例的命令加载指定的外置脚本,不推荐
#scripts="~~/scripts/autoload.lua;~~/scripts/playlistmanager.lua;~~/scripts/open_dialog.lua"
#load-auto-profiles=no # <yes|no|默认auto> 启用mpv内置的条件配置脚本[auto_profiles.lua]
#load-osd-console=no # 启用mpv内置的控制台脚本[console.lua],默认yes
#load-stats-overlay=no # 启用mpv内置的统计信息脚本[stats.lua],默认yes
#ytdl=no # 启用mpv内置的网址解析增强脚本[ytdl-hook.lua],默认yes
#ytdl-format=bestvideo+bestaudio/best # <ytdl|best|worst|mp4|webm|...> 直接传递给youtube-dl的视频格式/质量。默认值:bestvideo+bestaudio/best
# ytdl 不会将 --format 选项传递给 youtube-dl,因此不会覆盖其默认值。请注意,有时 youtube-dl 会返回 mpv 无法使用的格式,在这些情况下,mpv 默认值可能会更好
#ytdl-raw-options=sub-langs="zh.*",write-subs=,write-auto-subs=
#ytdl-raw-options-append=write-subs=
#ytdl-raw-options-append=yes-playlist=
#ytdl-raw-options-append=cookies=[D:/cookies.txt]
#ytdl-raw-options-append=proxy=http://127.0.0.1:7890
# [当使用yt-dlp/youtube-dl解析网址时有效] --ytdl-raw-options=<key>=<value>[,<key>=<value>[,...]] 将自定义的选项传递给ytdl https://github.com/yt-dlp/yt-dlp#usage-and-options
# 传递多个参数最好独立追加,即写多个 --ytdl-raw-options-append 参数 https://mpv.io/manual/master/#options-ytdl-raw-options
#input-builtin-bindings=no # 在启动期间禁用 mpv 内置键位绑定的加载。此选项不会影响外部加载脚本的键位绑定
input-default-bindings=no # 禁用 mpv 内置键位及外部加载脚本的--mp.add_key_binding 键位绑定方案
# 可以有效解决脚本快捷键冲突,启用后需在 input.conf 里指定所需快捷键
##⇘⇘滤镜部分
## 设定随MPV启动的音/视频滤镜的书写格式(支持多项) --af/vf=滤镜①=参数❶=值:参数❷=值,滤镜②...
## --af 和 --vf 仅能各存在一条。如果不想只使用这条参数,可以拆开写,例如使用 --vf-toggle 单项多次追加更多的滤镜,并不会覆盖 --vf=<value> 指定的滤镜
## 同类别的滤镜算法互斥
## 多通道音轨调节各通道音,防止背景音或人声过小(双通道设备)
#af-toggle=@loudnorm:lavfi=[loudnorm=I=-16:TP=-3:LRA=4]
#af-toggle=@dynaudnorm:lavfi=[dynaudnorm=g=5:f=250:r=0.9:p=0.5]
## 另一组示例
#af-toggle=@loudnorm:!loudnorm=I=-25:TP=-1.5:LRA=1:linear=false
#af-toggle=@dynaudnorm:!dynaudnorm=f=500:g=17:r=0.1
#af-toggle=format:srate=48000
## 音频变速滤镜三选一(当前默认值已足够好)
#af=scaletempo=scale=1.0:stride=60:overlap=.20:search=14:speed=tempo
# 旧版mpv使用的音频变速滤镜。示例值为默认参数
# 其中的 scale=<N> 控制额外视频加速度;stride=<N> 值太高会导致在高速时跳音,低速出现回声,值太低会改变音调,值增大提升性能
# overlap=<N> 重叠百分比,值减少提高分离度且提升性能;search=<N> 搜索最佳重叠位置的长度(毫秒),值减少提升性能
# speed=<tempo|pitch|both|none> tempo节奏与速度同步,pitch造成卡顿不使用,both同时兼顾节奏与音调,none忽略速度变化不使用
#af=scaletempo2=min-speed=0.25:max-speed=4.0:search-interval=30:window-size=20
# 此项参数为变速播放时默认自动激活的音频滤镜。在 min/max-speed=<N> 此速度范围外直接静音处理。scaletempo2具有更高的音频质量
#af=rubberband # 声音质量介于scaletempo和scaletempo2之间。可调节的细参众多,详情见官方文档,这里直接使用默认参数
#vf-toggle=format:gamma=gamma2.2 # MPV校色曲线目标是BT.1886,此视频滤镜用于回归常见的显示器标准 https://github.com/mpv-player/mpv/issues/8009
#vf-toggle=fps=fps=60/1.001 # 强制视频以指定帧率输出(此项与补帧冲突),通常被用于增强滚动弹幕的平滑性,不推荐使用 --sub-fps=<value> 。分子数值(取整)为你的显示器刷新率。
##⇘⇘着色器部分
### 着色器相关设置使用配置组进行设定,以下仅为参数示例说明,具体设置见下方 [通用参数补充区] 和 [配置组] 的相关配置组参数
## 此处的 --glsl-shaders=<value> 用于指定每次随MPV共同启动的着色器(支持多项)
## 初始加载多个着色器的示例写法
#glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl;~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
#glsl-shaders="~~/shaders/Anime4K/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K/Anime4K_Upscale_CNN_x2_S.glsl"
## --glsl-shaders-append 等效 --glsl-shader=<value> (注意和上行说明中参数的区别),表示追加着色器(单次仅能追加一项),并不会覆盖第一条 --glsl-shaders=<value> 指定的着色器,可无限追加该命令。
#glsl-shaders-append="~~/shaders/other/antiring.glsl" # 抗振铃着色器。相比mpv内置的--antiring参数,对ewa类算法也生效(对外部shaders不生效)。耗能极低,使用内置缩放算法时建议常驻使用
#glsl-shaders-append="~~/shaders/other/nlmeans_luma.glsl" # 降噪着色器(需在--gpu-api=vulkan下工作)。降噪效果表现良好,但耗能远高于vf滤镜降噪,谨慎使用。放置优先级应保持在最前列,否则放大后再降噪的效果会有明显下降
#glsl-shaders-append="~~/shaders/other/colorlevels.glsl" # 调整RGB输出范围的着色器。如需使用需按设备实际情况调整该着色器里的 REFBLACK 和 REFWHITE 值,否则输出画面可能不符合预期行为
#glsl-shaders-append="~~/shaders/igv/KrigBilateral.glsl" # 高级的cscale色度升频算法,生效时将覆盖指定的--cscale=xxxxx 算法
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl" # 快速超分辨率卷积神经网络放大算法。最小缩放触发倍率为1.2,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_8-0-4-1_LineArt.glsl" # 快速超分辨率卷积神经网络放大算法(anime)。最小缩放触发倍率为1.2,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl" # 快速超分辨率卷积神经网络放大算法。16x效果更好,耗能也更高。最小缩放触发倍率为1.2,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_16-0-4-1_enhance.glsl" # 快速超分辨率卷积神经网络放大算法。去伪影变体,最小缩放触发倍率为1.2,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_16-0-4-1_anime_enhance.glsl" # 快速超分辨率卷积神经网络放大算法。anime去伪影变体,最小缩放触发倍率为1.2,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/nnedi3/nnedi3-nns16-win8x4.glsl" # 超高质量的插值放大算法。最小缩放触发倍率为1.2,耗能极高,nns16 → nns32 → nns64 → nns128 → nns256;win8x4 → win8x6 质量更好但性能大增
#glsl-shaders-append="~~/shaders/ravu/ravu-zoom-r3.glsl" # ravu放大算法zoom变体,通用型,触发倍率>1,放大到目标分辨率,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/ravu/ravu-lite-r4.glsl" # ravu放大算法lite变体,通用型,最小缩放触发倍率约为1.2,最锐利的变体,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/ravu/ravu-r4.glsl" # ravu放大算法r变体,动画型,最小缩放触发倍率约为1.2,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/ravu/ravu-3x-r4.glsl" # ravu放大算法3x变体,动画型,最小缩放触发倍率约为2.121,直接放大三倍,适用于超低清源,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/ACNet/ACNet.glsl" # ACNet放大算法,观感类似Anime4k, 最小缩放触发倍率为1.2,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/ACNet/ACNet_HDN_L1.glsl" # ACNet放大算法HDN变体,能更好的降噪,等级1→2→3,越高降噪效果越好,但可能导致模糊和缺少细节,生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/Anime4K/Anime4K_Restore_CNN_M.glsl" # Anime4k放大算法模块(适度画面修复+弱感知强化+微量伪影引入),CNN变体最小缩放触发倍率为1.2,推荐 Restore_CNN_Soft 抗锯齿柔化变体,减少了振铃等其他伪影的产生
# Anime4k着色器介绍及用法参考:https://hooke007.github.io/mpv-lazy/[01]_%E7%AC%AC%E4%B8%89%E6%96%B9%E7%9D%80%E8%89%B2%E5%99%A8%E4%BB%8B%E7%BB%8D.html
#glsl-shaders-append="~~/shaders/igv/SSimSuperRes.glsl" # 对mpv的内置 --scale=xxxxx 放大算法进行校正(消除振铃伪影,恢复原始清晰度等)
#glsl-shaders-append="~~/shaders/igv/SSimDownscaler.glsl" # 缩小算法增强,与--linear-downscaling=no 一起使用
#glsl-shaders-append="~~/shaders/igv/adaptive-sharpen.glsl" # 自适应锐化算法着色器
##################
# 通用参数补充区 #
##################
#d3d11-output-csp=pq # [须 --gpu-api=d3d11] 此项参数用于直出HDR,且不支持条件配置会影响sdr播放。
# 当前版本需先手动打开win10 OS HDR,再打开MPV后全屏开始播放
#use-filedir-conf # 在播放文件同目录中加载配置文件
#include="~~/profiles.conf" # 追加读取指定的配置文件
# 自此以下的所有配置组参数亦可单独放入"~~/profiles.conf"中,启用此参数时效果一致
##⇘⇘以下为常规配置组启用参数,视需求选择使用
#profile=ICC # icc色彩管理配置组,由操作系统的显示设置指定的 ICC 显示配置文件
#profile=ICC+ # icc色彩管理配置组,使用 color.org 提供的泛icc配置文件或专业校色文件,自行选择显示器对应色域的icc配置文件
profile=Target # target色彩管理配置组,不可与icc色彩管理共存
profile=Dither # 抖动算法配置组(fruit),效果接近error-diffusion,耗能较低
#profile=Dither+ # 抖动算法配置组(error-diffusion),误差扩散的色深抖动算法,效果最好也最耗能
profile=Tscale # [启用前须先注释 --tscale=<value>] 时域插值算法,具体参数见下方配置区的同名配置
#profile=Tscale+ # [启用前须先注释 --tscale=<value>] 备选的时域插值算法,具体参数见下方配置区的同名配置
profile=HQ # 最常用的内置算法配置组
#profile=DeBand-low # [启用前需先注释 --deband] 预设的去色带方案,具体参数见下方配置区的同名配置,接近madvr的deband设为low,使用low时已有很好的效果
profile=DeBand-medium # [启用前需先注释 --deband] 备选的去色带方案,具体参数见下方配置区的同名配置,接近madvr的deband设为medium
#profile=DeBand-high # [启用前需先注释 --deband] 备选的去色带方案,具体参数见下方配置区的同名配置,接近madvr的deband设为high
#profile=HDR-PASS # HDR直通参数配置组,目前只能在初始化时设置,HDR直通时需禁用--icc-profile,icc-profile-auto和--target-trc参数。--vo=gpu-next --gpu-api=vulkan下和全屏(Windows的限制)时可用,--gpu-api=d3d11下需手动切换显示器HDR模式(Windows的限制)
#profile=SDR2HDR # SDR映射HDR参数配置组,仅在hdr设备上有效,不推荐启用。仅限--vo=gpu-next下可用
profile=HDR2SDR # HDR映射参数配置组
#profile=SWscaler # 备选的软件缩放方案
## 以下为着色器配置组,可按需启用以下所需任一配置组(这将覆盖上面的--glsl-shaders-append参数)
profile=NNEDI3 # 适用于大多数场景(NNEDI3-32) ## 绝大多数场景表现良好,对场景的适应性优于FSRCNNX配置(抑制锯齿和振铃伪影)。喜欢通用性的优先使用此配置组
#profile=NNEDI3+ # 适用于低解析场景(NNEDI3-64) ## 理论上NNEDI3-64及以上变体具有更好地抑制振铃伪影效果,但耗能量级倍增,视设备性能自行选择是否使用
#profile=AMD-FSR_EASU # 适用于大多数场景(AMD-FSR_EASU) ## AMD的FSR算法中EASU变体表现良好,相对于FSR和RCAS变体产生更少的振铃伪影,同时有不错的画面效果。放大至目标分辨率
#profile=Normal # 适用于HD场景(FSRCNNX) ## 效果类似madvr的NGU Sharp,但产生更多振铃伪影,在低解析画面下表现较差
#profile=Normal+ # 适用于低解析场景(FSRCNNX_enhance) ## 对低解析度的实拍类图像具有极好的抑制振铃伪影效果
#profile=Anime # 适用于HD动画(FSRCNNX_LineArt) ## 效果类似madvr的NGU AA,但产生更多振铃伪影,在低解析画面下表现较差
#profile=Anime+ # 适用于低解析动画(FSRCNNX_anime_enhance) ## 对低解析度的anime类图像具有极好的抑制振铃伪影效果
#profile=ravu # 适用于大多数动画(ravu-r) ## 锐利度很好,但会产生振铃伪影
#profile=ravu-zoom # 适用于大多数场景(ravu-zoom) ## 放大到目标分辨率
#profile=ravu-lite # 适用于大多数场景(ravu-lite) ## 最锐利及快速的变体,但会产生更多的振铃伪影
#profile=ravu-3x # 适用于低解析动画(ravu-3x) ## 效果类似madvr的NGU AA,更适合anime
#profile=ACNet # 适用于低解析动画(ACNet)
#profile=ACNet+ # 适用于低解析动画(ACNet降噪方案)
#profile=Anime4K # 适用于大多数动画(Anime4k去伪影抗锯齿) ## 对锯齿振铃等瑕疵可以起到较好的抑制效果,仍有明显感知度的涂抹劣化
#profile=Anime4K+ # 适用于低解析动画(Anime4k高强度抗锯齿) ## 对anime类图像具有更好的抑制锯齿振铃伪影等瑕疵的效果,强度更高。UL变体实际效果最好,但耗能极高,暂不推荐使用
#profile=Blur2Sharpen # Blur+Anime4k的抗锯齿方案 ## 使用Blur着色器来处理锯齿和伪影等瑕疵,再通过Anime4k去糊+深线+收线等操作来补偿糊化处理的清晰度损失。对抑制瑕疵具有较好的表现,同时引入的劣化较少。仍不可避免地使画面文字模糊
#profile=SSIM # 适用于低性能消耗
##############
# 常规配置组 #
##############
##⇘⇘常规配置没有自动触发条件(内置配置组也全为常规配置)
##需要主设置文件中使用 --profile=<profile1,profile2,...> 或多行 --profile=<xxx> 参数激活数个配置
[ICC]
icc-profile=""
icc-profile-auto
icc-intent=0
icc-force-contrast=1000
icc-3dlut-size=64x64x64
icc-cache-dir="~~/cache/icc_cache"
[ICC+]
icc-profile="~~/icc/ITU-RBT709ReferenceDisplay.icc"
icc-intent=0
icc-force-contrast=no
icc-3dlut-size=64x64x64
icc-cache-dir="~~/cache/icc_cache"
[Target]
icc-profile=""
icc-profile-auto=no
target-prim=auto
target-trc=gamma2.2
target-peak=auto
[Dither]
dither-depth=auto
dither=fruit
dither-size-fruit=6
[Dither+]
dither-depth=auto
dither=error-diffusion
error-diffusion=floyd-steinberg
[Tscale]
video-sync=display-resample
#video-sync-max-video-change=5
interpolation
#interpolation-preserve=no
tscale=oversample
[Tscale+]
video-sync=display-resample
#video-sync-max-video-change=5
interpolation
#interpolation-preserve=no
tscale=sphinx
tscale-blur=0.65
[HQ]
scale=ewa_hanning
cscale=bilinear
dscale=ewa_hanning
linear-upscaling=no
sigmoid-upscaling=no
correct-downscaling=yes
linear-downscaling=no
deband=no
[DeBand-low]
profile-desc=DeBand low
deband-iterations=1
deband-threshold=64
deband-range=16
deband-grain=48
[DeBand-medium]
profile-desc=deband medium
deband-iterations=2
deband-threshold=64
deband-range=16
deband-grain=48
[DeBand-high]
profile-desc=deband high
deband-iterations=3
deband-threshold=64
deband-range=16
deband-grain=48
[HDR-PASS]
profile-desc=HDR直通参数
target-colorspace-hint=yes
[SDR2HDR]
profile-desc=SDR反向映射HDR参数
inverse-tone-mapping=yes
[HDR2SDR]
profile-desc=HDR-SDR映射参数
tone-mapping=auto
#tone-mapping-param=2.0
#tone-mapping-max-boost=1.0
tone-mapping-crosstalk=0.04
tone-mapping-mode=auto
gamut-mapping-mode=clip
hdr-compute-peak=auto
#hdr-peak-decay-rate=100
#hdr-scene-threshold-low=5.5
#hdr-scene-threshold-high=10
allow-delayed-peak-detect=no
##⇘⇘备选的软件缩放方案
##在mpv内部需要执行格式转换时会用到软件缩放器
[SWscaler]
profile-desc=软件缩放配置
sws-allow-zimg=no # 优先使用zimg(通常具有更高质量)而不是libswscale,默认 yes。ffmpeg经常出现和zimg间的兼容性问题,建议禁用
sws-scaler=bicublin # [libswscale] <fast-bilinear|bilinear|bicubic默认|x|point|area|bicublin|gauss|sinc|lanczos|spline>
# [libswscale] 缩放算法(同时作用于色度平面)
#sws-fast=yes # [libswscale] 以质量为代价优化性能,默认 no
zimg-scaler-chroma=bicubic # [zimg] <point|bilinear|bicubic|spline16|spline36|lanczos默认>
# [zimg] 色度还原算法
#zimg-scaler-chroma-param-a=1/3 # [zimg] 色度还原算法的子参数,不支持调节的算法不受影响,默认 default
#zimg-scaler-chroma-param-b=1/3
zimg-scaler=bicubic # [zimg] 缩放算法,可用值参考 --zimg-scaler-chroma
zimg-scaler-param-a=1/3 # [zimg] 缩放算法的子参数
zimg-scaler-param-b=1/3
#zimg-dither=error-diffusion # [zimg] <no|ordered|random默认|error-diffusion> 色深抖动算法
zimg-fast=no # [zimg] 以质量为代价优化性能,默认 yes
[NNEDI3]
profile-desc=适用于大多数场景
glsl-shaders="~~/shaders/nnedi3/nnedi3-nns32-win8x4.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[NNEDI3+]
profile-desc=适用于低解析场景
glsl-shaders="~~/shaders/nnedi3/nnedi3-nns64-win8x4.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[AMD-FSR_EASU]
profile-desc=适用于大多数场景
glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/AMD-FSR/AMD-FSR-EASU_rgb.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[Normal]
profile-desc=适用于HD场景
glsl-shaders="~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[Normal+]
profile-desc=适用于低解析场景
glsl-shaders="~~/shaders/igv/FSRCNNX_x2_16-0-4-1_enhance.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[Anime]
profile-desc=适用于HD动画
glsl-shaders="~~/shaders/igv/FSRCNNX_x2_8-0-4-1_LineArt.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[Anime+]
profile-desc=适用于低解析动画
glsl-shaders="~~/shaders/igv/FSRCNNX_x2_16-0-4-1_anime_enhance.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[ravu]
profile-desc=适用于大多数动画
glsl-shaders="~~/shaders/ravu/ravu-r4.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[ravu-3x]
profile-desc=适用于低解析动画
glsl-shaders="~~/shaders/ravu/ravu-3x-r4.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[ravu-zoom]
profile-desc=适用于大多数场景
glsl-shaders="~~/shaders/ravu/ravu-zoom-r3.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[ravu-lite]
profile-desc=适用于大多数场景
glsl-shaders="~~/shaders/ravu/ravu-lite-r4.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[ACNet]
profile-desc=适用于低解析动画
glsl-shaders="~~/shaders/ACNet/ACNet.glsl;~~/shaders/ACNet/ACNet.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[ACNet+]
profile-desc=适用于低解析动画-强化降噪
glsl-shaders="~~/shaders/ACNet/ACNet_HDN_L1.glsl;~~/shaders/ACNet/ACNet.glsl;~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[Anime4K]
profile-desc=Anime4K
glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/Anime4K/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K/Anime4K_Clamp_Highlights.glsl;~~/shaders/other/antiring.glsl"
[Anime4K+]
profile-desc=Anime4K+
glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/Anime4K/Anime4K_Restore_CNN_Soft_VL.glsl;~~/shaders/Anime4K/Anime4K_Clamp_Highlights.glsl;~~/shaders/other/antiring.glsl"
[Blur2Sharpen]
profile-desc=劣化较少的抗锯齿方案
glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/other/unsharp-masking_blur.glsl;~~/shaders/Anime4K/Anime4K_Deblur_DoG.glsl;~~/shaders/Anime4K/Anime4K_Darken_HQ.glsl;~~/shaders/Anime4K/Anime4K_Thin_HQ.glsl;~~/shaders/Anime4K/Anime4K_Clamp_Highlights.glsl"
[SSIM]
profile-desc=适用于4k低性能
glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
##############
# 条件配置组 #
##############
##⇘⇘条件触发配置,根据给定条件激发特定参数。简易格式见示例
##仅注释掉 --profile-cond 和 --profile-restore 即可将条件配置变为常规配置,常规配置的使用方法为通用区 --profile=<value>
##⇘⇘条件配置的格式示例
##[FS-loop] # 配置名称,自定义
##profile-desc = 全屏时循环播放当前文件 # 配置的描述,不属于参数,随意写
##profile-cond = fullscreen # 触发该配置的条件。可用的属性列表 https://mpv.io/manual/master/#property-list
##profile-restore = copy # 此参数一般用于回归触发前的通用参数(关闭此项将保留)
##... # 然后写该条件下触发的参数
##...
##⇘⇘文件名匹配的示例写法:根据文件名中的特定字符触发配置
##字符 "-" 需要使用LUA的转义符 "%"
#[VCB-Studio]
#profile-desc=真空断路器
#profile-cond=filename:match("VCB%-Studio")~=nil
#profile-restore=copy
#deband=no
#[DVD-Anime]
#profile-desc=2D低清源增强
#profile-cond=height<=576
#profile-restore=copy
#glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/FSRCNNX_x2_8-0-4-1_LineArt.glsl;~~/shaders/igv/FSRCNNX_x2_8-0-4-1_LineArt.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
[Deband]
profile-desc=YUV420P10以下的源开启去色带
profile-cond=p["video-params/average-bpp"] < 24
profile-restore=copy
deband=yes
[hdr-2390]
profile-cond=p.tone_mapping == "bt.2390" and p.current_vo == "gpu-next"
profile-restore=copy
tone-mapping-param=2.0
[hdr-spline]
profile-cond=p.tone_mapping == "spline"
profile-restore=copy
tone-mapping-param=1.0
[HDR]
profile-desc=HDR配置
profile-cond=p["video-params/sig-peak"] > 1
profile-restore=copy
#icc-profile=""
#icc-profile-auto=no
#target-trc=auto
#target-peak=100
blend-subtitles=no
deband=no
vf=""
#[DOVI-SDR]
# profile-desc=DOVI-SDR配置。依赖mediaInfo.lua,适用于本地文件
# profile-cond=p["user-data/mediainfo/hdr-format"]:match("Dolby Vision") ~= nil
# profile-restore=copy
# tone-mapping=auto
[rot-fix]
#问题状态 https://github.com/mpv-player/mpv/issues/8223
profile-desc=修复旋转输出的色度破坏
profile-cond=(p["video-params/rotate"] == 90 or p["video-params/rotate"]==270) and p.current_vo ~= "gpu-next"
profile-restore=copy
hwdec=no
glsl-shaders=""
[video-sync]
profile-desc=当音频调整速度超过阈值时改变音视频同步模式,以避免明显的音高变化
profile-cond=(speed * audio_speed_correction) > 0 and ((speed * audio_speed_correction) < 0.96 or (speed * audio_speed_correction) > 1.04) and not (p["estimated-vf-fps"] > 47 or p["display-fps"] > 120)
profile-restore=copy-equal
video-sync=display-tempo
[fps-fix]
profile-desc=修复视频帧率和显示刷新率过高引起的异常耗能或掉帧
profile-cond=p["estimated-vf-fps"] > 47 or p["display-fps"] > 120
profile-restore=copy
video-sync=audio
[deinterlace]
profile-desc=自动去交错
profile-cond=deinterlace or (p["video-frame-info/interlaced"] and not deinterlace)
profile-restore=copy
deinterlace
[audio-filter]
profile-desc=音频通道大于2时开启动态范围调节滤镜,适用于双通道设备
profile-cond=p["audio-params/channel-count"] > 2
profile-restore=copy-equal
af-toggle=@dynaudnorm:lavfi=[dynaudnorm=g=5:f=250:r=0.9:p=0.5]
[pause]
profile-desc=暂停时取消置顶
profile-cond=pause
profile-restore=copy
ontop=no
#[fullscreen]
# profile-desc=全屏自动置顶
# profile-cond=fullscreen or window_maximized
# profile-restore=copy
# ontop
[minimized]
profile-desc=最小化时暂停
profile-cond=window_minimized and vid and not p["current-tracks/video/albumart"]
profile-restore=copy-equal
pause
[end]
profile-desc=播放列表结束后退出全屏
profile-cond=idle_active
no-fullscreen
no-window-maximized
[media-title]
profile-desc=特殊协议下切换窗口标题显示内容
profile-cond=path:match('://') ~= nil or path:match('^magnet:') ~= nil
#profile-cond=demuxer_via_network == true
profile-restore=copy
title=${?pause==yes:⏸}${?mute==yes:🔇}${?ontop==yes:📌}${media-title}
#[image]
# profile-desc=图像
# profile-cond=vid and not p["current-tracks/video/albumart"] and estimated_frame_count <= 1
# profile-restore=copy
# prefetch-playlist
# image-display-duration=inf
# scale=ewa_hanning
# cscale=ewa_hanning
# dscale=mitchell
#[audio]
# profile-desc=音乐
# profile-cond=aid and (not vid or p["current-tracks/video/albumart"])
# profile-restore=copy
# prefetch-playlist
# loop-playlist=inf
##############
# 传统配置组 #
##############
##⇘⇘中古版本的自动配置,功能有限一般不使用。语法见示例(可以转换为条件配置组写法)
##⇘⇘播放时检测符合条件的文件扩展名激活对应参数,不符合自动撤销
##[extension.扩展名]
##不要写 --profile-cond 和 --profile-restore
##... # 直接写参数即可
#[extension.vpy]
#profile-desc=支持 "xxxx.vpy" 文件的预览
#demuxer-lavf-format=vapoursynth
##⇘⇘播放时检测符合条件的协议激活对应参数,不符合自动撤销
##[protocol.协议名]
##不要写 --profile-cond 和 --profile-restore
##... # 直接写参数即可
#[protocol.https]
#profile-desc=https协议下切换显示内容
#osd-playing-msg='${media-title} ${!chapters==0:章节:${chapter}/${chapters}} ${!playlist-count==1:列表:${playlist-pos-1}/${playlist-count}}'
#script-opts-append=osc_lazy-title=${media-title} ${!chapters==0:章节:${chapter}/${chapters}} ${!playlist-count==1:列表:${playlist-pos-1}/${playlist-count}}
##⇘⇘配合display-name.lua脚本实现mpv窗口按显示器名称自动切换参数及配置文件(仅限Windows),依赖MultiMonitorTool.exe
#[TV]
#profile-cond=shared_script_properties['display_name'] == 'VX2771-4K-HD'
#profile-restore=copy-equal
#dither-depth=10
#inverse-tone-mapping=yes
#target-colorspace-hint=yes
#script-opts-append=changerefresh-auto=yes
#script-opts-append=changerefresh-rates=23;24;25-50;29-59;30-60;50;59;60