5-06 63,205
之前的 MPC 系教程和 madVR 教程都有些过时了。老教程直接通过注册表来设置虽然简单直接,但不利于维护,索性重新写一篇。
和 mpv 的教程 类似,本教程只提及最具普适性的选项,不为播放“高清病毒”,也不追求“极限画质”而故意榨取 CPU 和显卡性能。
本教程基于 K-Lite Codec Pack Full,其中已经包含了 MPC-HC 和 madVR。MPC-HC 现在已由 clsid2(原 MPC 6.4.9.1 开发者)接手继续开发,而 madVR 应该已经不需要再多做介绍。
madVR 其实并不需要很高的硬件性能就可以达到相当好的效果,所以默认建议使用。如果你不想使用 madVR,也可以选择 K-Lite Codec Pack Standard 或者 MPC-BE。我们不推荐使用 PotPlayer。
安装
直接从前文给出的 K-Lite Codec Pack 官网链接下载安装包,运行即可。安装过程中的大部分选项都可以保留默认,除了下面这两处:
– 因为我们要默认使用 madVR 作为视频渲染器,所以这里要选择“Video renderer: madVR”
(当然,如果你不用 madVR,这里保留默认的“MPC Video Renderer”就好)
– 为了保证播放稳定可靠,我们一般建议只使用软件解码(见后文补充说明)
友情提示,K-Lite Codec Pack 安装包可能捆绑有赞助推广软件,不需要的话记得留意把它取消安装。
简单配置
K-Lite Codec Pack 默认使用 MPC-HC 作为播放器,对于大部分常见的视频文件格式和编码都默认使用 LAV 分离器和解码器,设置都没有什么需要特别修改的地方。你只需要看看播放器的其他行为设置,让它更符合你的操作习惯即可,例如启动时默认进入全屏模式、快捷键等等。
如果你不用 madVR,默认会使用 MPC Video Renderer 作为渲染器,默认设置也不需要改动。
madVR 配置
如果你使用 madVR,接下来我们还有一些关于 madVR 的配置建议。
– 如果你正在使用显示器自带的出厂色彩校正模式,或者是已通过硬件校色校准的显示器,可以在这里选择“this display is already calibrated”,并在下方选择对应的色域,例如 sRGB 则选择“BT.709”(sRGB 和 BT.709 的色域是完全相同的),DCI-P3 则选择“DCI-P3”,gamma 一般保留默认的“pure power curve 2.20”即可:
当然,如果你通过软件对屏幕进行了校色,这里应该选择“calibrate this display by using eternal 3DLUT files”,详见后文补充说明。
– 打开 madVR 自带的去色带功能,强度保持默认的“low/high”即可。色带是最为常见的视频瑕疵之一,默认启用去色带是利远大于弊的:
– 很多时候,我们的显示器刷新率不是片源帧率的整数倍(例如显示器刷新率通常为 60 Hz 而动画通常为 23.976 fps),此时会因每一帧实际在屏幕上的呈现时间不均等而造成卡顿感(俗称 3:2 pull down judder)。madVR 的 smooth motion 功能正是为此设计,建议默认打开:
– madVR 自带的各种缩放算法(scaling algorithms)是其最大特色之一。这里我们提供三套推荐的缩放算法相关配置,按对性能的要求分为低、中、高三档:
chroma upscaling | image downscaling | image upscaling | |
低 | Cubic (Bicubic50) | Cubic (Bicubic50) + LL | Lanczos (3 taps) + SL |
中 | Cubic (Bicubic50) + AR | Cubic (Bicubic50) + LL + AR (relaxed) | Jinc + AR + SL |
高 | super-xbr (100) + AR | SSIM (1D – 100%) + LL + AR (relaxed) | NGU Sharp (medium) |
需要指出的是,这里对性能要求的高低并不绝对等同于画质的高低,“低”档设置的质量其实已经相当好了,而“高”档设置在一些低质量片源上反而有可能放大片源瑕疵。综合来说我们最推荐“中”档设置,是在画质、功耗和泛用性之间较为平衡的选择。
以“中”档为例,设置完成后应该是如下图的状态:
在完成本文的配置后,你可以打开一个码率较高的视频,按下 Ctrl + j 观察显示的 dropped frames、delayed frames 和 presentation glitches 这几项计数,如果播放一段时间后这几个数字都保持稳定没有增加,则基本可以确定视频播放没有什么问题了:
madVR 功能很丰富,这里不打算一一详解。再次推荐有意了解的同学阅读暮星(万年冷冻库)的这篇文章。
使用 XySubFilter with libass 字幕渲染器
对 Windows 平台上字幕渲染器的历史有些了解的朋友大概都知道 VSFilter (DirectVobSub) 到 xy-VSFilter/XySubFilter 的演化过程。原版 VSFilter 早已作古,其改版 xy-VSFilter/XySubFilter 开发也基本停滞,留有不少陈年 bug,在 4K 分辨率开始普及后性能问题也开始凸显。另外,VSFilter 系只支持 Windows 平台上基于 DirectShow 的播放器(如 MPC 系、PotPlayer),无法跨平台使用。libass 则是一个另起炉灶的跨平台字幕渲染器,性能也更佳,诸如 mpv、VLC 和很多移动平台上的播放器都使用 libass 来渲染字幕,近年来越来越普及。
由于 VSFilter 系长期的垄断地位而成为事实标准,绝大部分字幕组只能以 VSFilter 的渲染结果为准来制作和调整字幕显示效果(例如额外增大部分 OTF 字体竖排时的字号来弥补字体显示会变小的 bug)。libass 最近做出了一些妥协性修改,显示效果绝大部分时候都已经与 VSFilter 一致。因此,现在是摆脱 VSFilter 的历史包袱,迁移到 libass 的一个好时机。
XySubFilter with libass 就是在 XySubFilter 基础上修改以 libass 作为后端的字幕渲染器,让 DirectShow 播放器也能享受到 libass 高性能而不牺牲兼容性,推荐大家使用。
安装过程非常简单,只需要到项目的 GitHub 发布页面下载最新版本,解压到一个合适的位置,以管理员身份运行 Install_XySubFilter.bat,然后在 MPC-HC 的选项中启用即可:
补充说明
使用 HDMI 连接显示器时注意设置输出范围
Intel 集成显卡和 NVIDIA 显卡有时会在使用 HDMI 输出时,默认使用有限范围(limited range),严重影响显示对比度。所以在使用 HDMI 连接显示器时,要注意检查输出范围,在显示控制面板中将输出范围设置为全范围(full range),如果控制面板中没有提供选项,可以借助 madVR 附带的 madLevelsTweaker.exe 工具来调整。
DVI、DisplayPort 默认应该就是全范围,笔记本电脑的自带屏幕一般也不需要专门设置。
是否应该开启硬解(硬件解码)?
近几年的主流 PC 对最常见的视频编码(H.264 和 H.265)硬解的支持已经有了一些提高,但出现各种问题的几率仍不算低。为了保证播放稳定可靠,我们一般建议只使用软件解码。如果你有其他需求,例如希望降低笔记本电脑功耗、提高电池续航,可以尝试开启硬解。
首先打开 K-Lite Codec Pack 的 Codec Tweak Tool,选择 Configuration – DirectShow Filters – LAV Video Decoder (MPC-HC) 打开 LAV 解码器设置界面,然后在右上角选择“D3D11”:
如果在硬解开启时播放遇到奇怪问题,应该首先尝试禁用硬解来排查。
关于双显卡笔记本的设置
如果你使用的是集成显卡 + NVIDIA 独立显卡的笔记本,默认设置下 MPC-HC 只会调用集成显卡来进行渲染计算,性能有限。如果你发现播放时显卡性能成为瓶颈,可以尝试改用更高性能的独立显卡。
NVIDIA 控制面板屏蔽了 MPC-HC 默认的主程序文件名 mpc-hc64.exe,本来是无法直接设置使用独立显卡的。K-Lite Codec Pack 在安装时如果检测系统环境中有双显卡(NVIDIA Optimus)存在,会自动将 MPC-HC 主程序文件名改为 mpc-hc64_nvo.exe。如果你的 MPC-HC 主程序仍然是 mpc-hc64.exe,需要先改个名字,或者用 NVIDIA Profile Inspector 解锁。详情可以参考这里。
然后在 NVIDIA 控制面板 – 3D 设置 – 管理 3D 设置 – 程序设置下,添加 MPC-HC 主程序,将首选图形处理器改为“高性能 NVIDIA 处理器”,并将电源管理模式改为“自适应”。
使用 ICC profile 为 madVR 生成 3DLUT 文件实现色彩管理
我们需要用到校色软件 DisplayCAL 配套的一个小程序 3DLUT Maker。首先从 DisplayCAL 官网下载安装(如果你还没有的话),然后运行 3DLUT Maker,“Destination profile”选择你显示器的 ICC profile 文件,确保“Apply calibration (vcgt)”不勾选,文件格式当然是“madVR (.3dlut)”,其余保持默认即可:
点击右下角按钮,选择保存位置,完成后,把得到的 .3dlut 文件放在一个合适的位置,然后打开 madVR 设置,按下图设置,确保“disable GPU gamma ramps”不勾选:
然后保存设置即可。
- VCB-Studio 视频播放器推荐及教程索引 - 2023年5月8日
- 基于 MPC-HC 和 madVR 的播放器配置入门 - 2023年5月6日
- 跨平台播放器 mpv 配置入门 - 2023年2月15日
在撥放影片時遇到這視窗 https://i.imgur.com/1FuwbSj.jpeg ,但我很確定有按照文中指示設定madvr
去看設定時顯示沒有正確安裝導致損毀? https://i.imgur.com/x50rUGY.jpeg ,作業系統是win11,顯示卡是4070TI,求高手幫忙
回复给laurent7040: 要不试试安装独立的madVR?去madVR或者去videohelp就可以下载,而且还可以安装最新版用来更好的播放HDR。
想请教一下以上设置是针对动漫还是所有电影都适用?
回复给kabdua: 都适用,只是有些选项在真人电影里面可以开得激进一点(特别是外面不知道怎么处理过的低码率片源)之类的。
回复给dtlnor: 好的!感谢
回复给dtlnor: 请问有什么进阶的设置教程吗?(万年冷冻库)教程感觉有点老了
并不过时
请问播放视频时会显示器闪屏,然后降低亮度要怎么调整?
回复给竹黄12代: 给个思路,显卡有没有超频,有的话降一下显存和核心频率。我最近也是这问题后面降了下就好了 😕
回复给huang2326: 没有,显卡11月才买的,已经破案了,转SDR就好了
想问下pot播放器的设置教程是删了吗
回复给twc17520099364: 个人建议:pot放在现在看有很多缺点,配置比较麻烦,而且默认配置效果很差,建议换用mpc(hc或be)或者mpv
回复给phyxmeow: mpc不打开内置的规格化不知道为什么声音会特别小,音量拉到100了,mpv在用。
回复给twc17520099364: 试试这个?
https://jingyan.baidu.com/article/046a7b3ea20224f9c27fa909.html
还有你的MPC-HC是K-Lite Codec Pack附带的吗?如果是,我这里默认设置下是没有问题的。
回复给西北流士: 官网上面那个,不是k-lite。是默认的设置,没有弄LAV,它的音量相比其他播放器,一样都拉到100音量MPC的声音都是偏小的。有空我研究一下怎么弄,谢谢你
回复给twc17520099364: 那我还是觉得换用K-Lite Codec Pack附带的比较省事,很推荐你试试。
回复给twc17520099364: 还有可能是LAV Audio Decoder没把多声道音频重新混成立体声。
回复给twc17520099364: 点击“我们不推荐使用 PotPlayer。”就可以看到之前的教程
感觉播放同一个视频MPC的声音要比普通播放器低很多啊
回复给离子闪光: 可能是普通播放器开了类似于PotPlayer规格化的功能?
请问这个播放器如何加载AMD显卡的BLUERATESKY或者通用的插帧工具SVP4PRO,谢谢!
按教程配置好播放视频的时候滑动鼠标 presentation glitches就会涨,不动就几乎不增加,这正常吗
回复给 阿卡林: 我试了,正常晃动鼠标也是稳定的,但是快进的话会涨,它这个就是监控你波动帧数的,你晃动鼠标会涨可能就是出现掉帧了,要修改下设置
为什么我用按照这个设定完后,播放视频的时间不对,影片长一个小时,进度条只有几分钟的
目前presentation glitches的问题基本锁定在高刷了,我开144hz就会爆presentation glitches,60hz就不会…
怪异的是开144锁143也不会…
我也遇到了presentation glitches不断增加到问题
设备是4090 13700k,显示器是4k144,理论上可以排除性能问题…
试过楼上说的硬解,但是没用…包括present a frame for every vsync也开关试过,也没用…
最后发现madvr会插入大量相同的帧,将帧数与你的屏幕刷新率同步,但是它又没法做到一条线完全同步,于是就会跳presentation glitches。用rivatuner锁帧到144或以下,就可以解决presentation glitches不断增加的问题。
不过说句实话,之前跳presentation glitches的时候,我也并没觉得画面有什么异常…
再加上好像看见有人说他以前的1080p60显示器一切正常,2k144就会跳presentation glitches,我有点怀疑是不是madvr对高刷屏的支持不太好?
回复给长者曰蛤: 我笔记本外接的2k165,窗口化presentation glitches一直在加,全屏了反而不变,我想缩放算法应该在全屏时才生效吧
win11,为什么看本地hdr的视频会一闪一闪的啊,在hdr和sdr之间来回跳 🙁
提问一下,用了 K-Lite Codec Pack和XySubFilter with libass,怎么设置能够显示两个内嵌字幕啊?目前我能使用到此功能的软件只有QQ影音……
好久没来力,之前网站炸了还以为凉了。兄弟,MPC-HC我设置了记忆播放位置,但是每次从新打开都是从0开始。何解呀。
回复给 Colorful: 这个我知道,打开软件选项,高级,里面有个 RememberPosForLongerTan 仅针对长于N分钟的文件记忆播放位置.你可以更改这个多少分钟,大于这个分钟记住
问一下老哥们,我开全屏后一直在windowed和exdusive间反复变换,还闪屏,请问该如何处理
求助,想用AviSynth给视频实时添加上下两条黑边,求问用PotPlayer或者MPC,加LAV和madVR怎么设置才能挂上AviSynth脚本?PotPlayer这边我用内置解码器挂载成功了,换LAV和madVR还不知道怎么办。
新笔记本win11,RTX4060,按文中所述配置好madVR之后,播个普通的BDRip一分钟presentation glitches就能破百,请问这是啥原因啊
回复给残冬落: 是不是没让播放器调用独显?我用的madVR配置比文中还要求高,笔记本4060轻松带动。
回复给残冬落: 我也有一样的问题,不知道怎么解决
回复给残冬落: 很简单,按教程里设置为硬件解码,并设置解码器为4060就ok
回复给残冬落: 我的13500hx带不动vcb的1080p 10bit hevc软解,改为4050硬解就正常了
刚打开视频的没有全屏时可以正常显示HDR,但是全屏时画面就变灰没有HDR的效果,WINDOWS 11系统,用的是AMD 4650G的集成显卡,按照设置用的软件解码,显示器是LG的OLED开了HDR模式,
回复给justice4c: 好像是全屏独占的问题,前几天看万年冷冻库的教程调了一下全屏HDR就正常了(具体哪个选项忘了……
外挂字幕不会跟着视频一起倍速播放,不知道咋解决 🙁
回复给uyust: 禁用lav audio decode能解决,不知道有没有不禁用的更好的方法
回复给uyust: 有办法了吗qwq?(cy
救命,重装了Win11,现在 presentation glitches 半分钟内就能飙升至上千 怎么办QAQ
回复给SpectreAX: 用独显硬解
求问文中的““高”档设置在一些低质量片源上反而有可能放大片源瑕疵”,这个低质量片源包括原盘比较差,但经过像vcb这样良好的bdrip修复的片子吗?