5-06 62,794
之前的 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日
困扰我很久的卡顿感,尤其在是长平移镜头中,好像通过smooth motion解决了,感谢!!!
回复给SuperChappie: 为什么我感觉我的没变
回复给圣虹夏: 长平移镜头还是很卡T T
回复给圣虹夏: 虽然你们说的都是“卡顿”,但是 刷新率和帧率不匹配产生的judder(smoothmotion只能缓解这个)和 “运动幅度太大而有效帧数不足产生的ppt感”(补帧能缓解)是两个概念
回复给孤雨独火: judder怎么解决呀
https://imgloc.com/i/iQ6TTQ dropped frames、delayed frames 和 presentation glitches我这上面并不是显示三排 而是取而代之的显示一排,并且在播放的时候会动
不懂就问,MPC-BE自带的MPC Video Renderer设置拉最高,能达到madvr的多少水平啊?madvr感觉比较麻烦欸。
回复给理世: mpcvr luma scale的最高传统算法可选项是jinc,但是支持NV VSR。你觉得vsr能碾压ngu那就是mpcvr强,你觉得不如那就是不如。
回复给孤雨独火: 听起来大概是文中中等配置madvr的水平?那除此之外这两个渲染器的效果还有什么比较大的区别吗?确实是不懂,所以问题比较多23333
回复给理世: 其实没啥好说的,be团队的产物都是一个特点,简单能用。mpcvr的选项甚至一页都铺不满,一般用户需要触碰的选项大概也就四五个?要和madvr放一起做比喻就是一个解决有没有吃的,一个解决吃不吃得更好。
比起色彩管理、去色带、smooth motion,缩放算法这块对 720p 及以上片源影响都是很小的,从这个意义上说 MPCVR 和 madVR 根本没法比。
我的建议是能用 madVR 就用。
请问K-Lite Codec Pack可以设置中文吗
回复给轩宁: klite只是省去你分别下不同组件的过程,支持不支持中文。。没啥意义,不用klite照样用mpc+madvr/mpcvr+xysub
回复给孤雨独火: 感谢,刚才按照教程设置了一下,发现madVR的低中高,我中档会出现掉帧情况,就改成了低档,但还是会出现掉帧的情况,请问这是正常现象吗,片源是lolihouse压制的巨人BD,六分钟左右,中(dropped frames–22、delayed frames–0 和 presentation glitches–8),低(dropped frames–12、delayed frames–0 和 presentation glitches–2)
回复给轩宁: tldr我不知道,因为你给的变量太多,而我的机器性能太强无法复现。
简单的排查思路:
1.关闭字幕看看是不是特效原因
2.重置madvr看看是不是设置产生的性能不足(我觉得低档真的够低了)
回复给孤雨独火: N卡 GTX1660,CPU I5-4590, 16g内存
回复给孤雨独火: 用了XySubFilter.字母后,3个项目都是0,好了,不太清楚默认的字幕方式为什么会卡
回复给轩宁: 如果是特效原因,本文提到的xysubwithlibass的性能要比内置字幕渲染器好的多
回复给轩宁: 可以 选项 播放器 语言
牛啊,感谢大佬!刚想把potplayer换掉就看到了这个!
请教,不知 MPC-BE 或者 MPC-HC 是否有类似 MPV 中「demuxer-max-bytes」的设置,可以设置缓存大小。目前使用 MPV 播放 WebDAV 挂载在本地的影片时,可以看到 cache 数值一直在增加的,所以快进操作跟本地影片体验无差;但是如果用 MPC-BE 观看的话,只要快进多几次就会卡顿,几乎完全无法播放了。
LAV Splitter 里有缓存大小设置,MPE-BE 的话就自己找找类似的选项。
我装的 K-Lite Codec Pack Mega和Full有区别吗?
回复给tanjan: 官网不是写了吗 https://codecguide.com/klcp_contents_comparison.htm
感觉这3年来播放器这边没什么变化和进步,MADVR都几年没更新正式版了
前几天把Xysubfilter更新到了XySubFilter with libass大概就是最大的变化了。播放4:3的老动画片时字幕终于不再变高个子了 😀 ,,
回复给哈姆: directshow本身就是早已被淘汰的架构,微软自己都不管怎么会有质的变化
回复给孤雨独火: ds系下的渲染器,壳,解码相关的开发看上去也基本都转入了维护阶段。其中一些开发者重心都在自己另外的商业化项目上(比如madshi和lav的开发者)。要指望变化和进步只有“另起炉灶”。
回复给孤雨独火: 原来是这样的,那目前现状我还挺满意的 😀
回复给孤雨独火: 不懂就问,请问新版的媒体播放器是哪个系的?算DS系还是另起炉灶还是别的什么?
平时用的还算顺手,当然画面质量没那么好,字幕更是XXX,有时候还是得上mpv。
回复给Ntk01: 如果你指的是系统的播放器的话,Media Foundation,微软为了淘汰ds开发的继任产物
看到AOC F22我震惊了。。这不是十几年前我被商家坑了的那台显示器吗,现在还有人在用吗
没错,是年轻人的第一台 1080p IPS 显示器(
虽然 CCFL 背光明显老化,校色之后还是有 90%+ sRGB 覆盖和接近 800:1 对比度,正常使用中。
回复给boday: 不对啊。我记得F22它是TN屏,不是IPS哦。虽然我是被JS忽悠瘸了,【我当年掏钱买的是DELL的IPS,给忽悠成F22了,都是年轻所犯下的错误啊 😐 】,但我还是用了挺多年的。
最大惊喜就是某天我发现它竟然可以超频到73hz使用,然后我给它调整到71.928hz的频率,用SVP插三倍帧看动画片很流畅,狠狠的爽了几年,退役的主要原因确实也是因为背光老化亮度不够了 😀
哦,搜了一下,我当时买的是 IF22,和 F22 外观一样但是 IPS 面板。AOC 应该是懒得没在 EDID 里做区分。
我好像就是从这台显示器开始才知道 IPS 和 TN 的区别(
回复给boday: 嗯,那就对了,
LAV是不是没有nvdec硬解,没有的话n卡1650以上推荐使用mpc内置的解码器使用nvdec,可以硬解hevc yuv444p10
我用potplayer的时候不知道一直软解,后面换mpv才知道我设备支持硬解(
回复给pi: lav的开发是保守缓慢的,对新特性的支持不上心,想要这些的话优先选择mpc-be的内置解码器。mpc-hc的用户参考这个说明也可以使用be的更先进的解码器
https://github.com/hooke007/MPV_lazy/discussions/41
话说大佬直到最近的madVRhdrMeasure是什么东西吗
回复给CX无敌: 除了hdrtonemapping改进之外没有任何区别,但是要讲清楚那些选项估计要单独写一篇远长于这篇文本量的科普(
按照教程设置了可是打开视频没用画面呀
回复给Torg091: LAV里面改了解码器后有图像了,话说不知道13代I5核显的笔记本选择哪个解码器最合适呢
回复给Torg091: D3D11
回复给哈姆: 好的,谢谢你
尝试换了三套缩放算法presentation glitches都会缓步增加,一分钟+50,看画面也没有明显的问题
软解,CPU是10750H,应该不是性能问题吧
回复给GustafXTT: 把 去色带 和 smooth motion 关了试试看
回复给little: 刚试了一下,应该是外接屏幕的性能损耗……相同的配置在笔记本的自带屏上就没有问题,笔记本的外接应该是走了个中间层的
回复给GustafXTT: 缩放算法对显卡性能要求高啊。你看看显卡负载。如果是负载太高了。就要降缩放配置
看错了,只有延迟帧delayed frames一直为0
dropped frames、delayed frames 和 presentation glitches 这几项计数都有增加的情况怎么办。
感谢感谢,补充说明里用ICC profile来实现色彩管理很有帮助
回复给hbhslsr: 你好,请问这个ICC profile 文件是怎么生成的。我是笔记本
回复给yejl2017: 这个是校色文件 ,一般是用校色仪配合校色软件生成。没有或者实在不想租的可以去tftcentral下载对应屏幕的,但这种方法极有可能负提升。
回复给剁椒红烧鱼: 好的,谢谢
jinc在2x的消耗上和ngu差不多
我的madVR的scaling algorithm选项下面跟文章里面的不一样怎么办
现在potplayer不推荐了吗,我还是看之前站里的教程设置的
回复给信: pot从前就不算被推荐,原文中首尾就表达了默认设置有问题,使用途中的坑可更多。
在我看来被裹挟的意味更强,写pot的教程不是因为它多好,而是用户基数大但问题毛病一堆,扭转人的软件使用习惯很难,因此却又不得不写。
回复给孤雨独火: pot只要花上半个小时设置好了也没啥毛病吧。设置好后易用性和美观性还是可观的
回复给keloy: mpc-be几乎开箱即用,pot花上半小时。所以为什么要浪费半小时,怎么保证每个人都能半小时内避开所有pot的坑?pot还有因为自己乱更新导致的莫名其妙的bug,这些都是毛病。
回复给keloy: 另外再补个普通用户不关心,有软件洁癖的人反感的点。
一个上过ffmpeg耻辱柱,抄袭开源mpc自己闭源的软件,应该进黑名单而不是被推荐。
回复给孤雨独火: 确实,支持!
回复给孤雨独火: 好的,明白了,请问我是3070笔记本是推荐用MPC-HC+madVR还是mpv呢,现在用的是potplayer+madVR,谢谢
回复给信: 哪个用的惯就用哪个,哪个更符合你的需求就用哪个
前排 😆 😆