5-06 65,171
之前的 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日
大佬大佬,用了xySubFilter后倍速播放字幕会不同步,VSFilter就没这个问题
回复给 BARROCO: xySubFilter外挂字幕好像会不同步,如果把字幕封在mkv里面好像可以解决。
请问一下 播放4k视频时 掉帧严重 要如何更改分辨率呢
4k 视频的分辨率就是 4k,不是你能改的。
掉帧严重可能是性能不足,这时你应该:
– 参考本教程调低 madVR 配置;
– 还不行的话,说明电脑性能实在不够,那就别看 4k 了,重新下载一个 1080p 版本;
– 或者,升级电脑配置。
回复给 はかせ: 清楚了 这回复也太专业了
我在用文中推荐的XySubFilter with libass出现了一点问题,我下了Moozzi2的少女歌剧剧场版(1920×804),搭配从樱都字幕组的片源中的分离的字幕(他们在电影上下加了两条大黑边,拉成了16:9的片源,樱都的字幕显示在那两条大黑边中),在用这个播放时,字幕全部被压在了动画画面里,特效字幕也全部错了位。之前用potplayer时也有这种情况,但可以通过取消将文本字幕输出到画面内选项来正常显示。请问这个有什么办法解决。
回复给 QiaoMao: ass字幕(其他类型的我不懂)的定位和视频的长宽比有关,你用的字幕和视频不对应,所以文字和特效位置也不对。
回复给 QiaoMao: 改用mpv-lazy后已解决,在mpv-lazy的github wiki上官方发布了一个【FAQ 常见问题解答】,其中有提到16:9的字幕显示在不同比例的视频中的错位问题的解决办法,在input_uosc.conf中添加一条<key> vf toggle pad=aspect=16/9:x=-1:y=-1(key为快捷键)就可以了。
老哥你好,播放本地HDR视频的时候,显示器会黑一下然后切换成了BT.2020,但是画面是灰的,视频也是灰的,应该怎么解决呢?
回复给 andiiwork: 如果你的显示器不支持HDR,播放器也没配置HDR转SDR,那就播出来就是这样的。请自行搜索madvr如何配置HDR相关设置,论坛上应该也有相关教程。
回复给 sinsanction: 显示器是支持的,而且可以自动切换,之前用potplayer的时候有一个H/W选项,开了之后就能正确显示色彩
回复给 andiiwork: 我遇到了一样的问题,哥们你解决了吗
我的显示器是2k的,而贵组压制的片源多为1080p的,在显卡性能支持的情况下建议使用N卡超分辨率吗?potplayer要开启超分辨率的话必须使用自带的Direct3D 11视频渲染器,与madvr冲突,不知是否会得不偿失
回复给 mitsuha: 同问,一直想知道2k显示器播放1080p不能点对点的问题有啥好解决办法,madvr哪种渲染器在这方面会有奇效
我想请问一下,使用这个用k-lite自带解码后的声音明显偏轻,有什么解决办法吗?
设置完后播放iPhone拍摄的4k 60fps mov格式视频会卡怎么办
大佬,新版K-Lite Pack的mpcvr里面有个rsr,这个勾选了好像无法也跟没勾选一样,可以帮忙解答一下不
双击播放界面就自动退出怎么解决
回复给 anan0907: 跑错地方了是mpv播放器
回复给 anan0907: 自己调快捷键设置
给遇到presentation glitches不断增加的同学们提供一个可能的解决方案
参照http://bugs.madshi.net/view.php?id=623
把windowed mode 里面 …after copy to backbuffer 选项 改成 flush&wait(sleep) 即可解决
回复给 qred: 我去 神医啊
回复给 qred: 还是想问一下 这个设置项是干嘛的
用mpc-hc打开视频最底下显示“正在打开”之后就会自动闪退。视频用别的播放器都能正常打开,mpc-hc也能正常启动(只要不打开视频)。重装软件也不能解决,求助
全屏播放时,老是在windowed和exclusive之间闪屏切换 怎么解决啊 求求了
下载了ass外挂字幕并且文件里附带了txt格式的“工程信息”(?),但是我只知道ctrl-j手动选择字幕文件,而且下一次播放又要重新选择,求教怎么操作可以让mpc记忆字幕文件?网上找了半天,搞不清楚这个“工程信息”怎么用。。。
回复给 Mi-kon: 字幕直接和对应视频文件放同一个文件夹里,把怎么重命名成视频文件的名字.MPV可以开启自动识别功能,mpc不知道。
回复给 wbsLF: 感谢,已解决
为啥字母一直在画面里,如何调整字幕在黑边里面
请问安装包里包括madVR吗
回复给 艾乌洛斯: no
MPC-HC好像不支持对音频文件显示字幕/歌词文件,potplayer或者其他播放器都可以。。。。。
我是34寸的带鱼屏,看21:9比例的视频有4条黑边,使用madvr去黑边功能之后,外挂字幕使用内置的字幕渲染器会使字幕变形,用XySubFilter字幕会显示在黑边上,全屏之后就跟着黑边被切到画面外,完全看不到字幕了,之前用pot里面有设置可以解决,刚换的这个完全不会用,求大佬救救!
回复给 jjww0000: 我也有个带鱼34寸,现在用的mpv播放器。建议去vcb隔壁字幕论坛下载mpv懒人包,配置已经设定好了绝大部分。我加了以下代码(是找了好多网站,调教了好久总结出来的有用的代码,用完你的问题都能解决——因为我刚用带鱼的时候也有你的这些问题):
keepaspect-window=no
blend-subtitles=video
sub-auto=fuzzy
fullscreen=yes
save-position-on-quit
border=no
blend-subtitles=no
sub-ass-force-margins
glsl-shaders-append=”~~/shaders/FSRCNNX_x2_8-0-4-1.glsl”
audio-file-auto=fuzzy
–osd-level=0
slang=chi,zh-CN,sc,chs
你这段配置槽点有点多。想分享经验帮助别人是好事,但你应该先搞清楚自己抄来的配置都在干什么。
回复给 はかせ: 具体哪里有槽点呢?我把这些配置的意思写在下面,都是方便新手的必备配置,不清楚哪里有问题?
回复给 最高纬: 人家希望解决madvr或者说这套播放工具链里的问题,你直接把madvr解决掉了,这很抽象
回复给 孤雨独火: 好。那有经验的人来回答这位层主吧。我只是提供一个自己用的还不错的方案。毕竟看人家用的电脑和我一样。要是能删帖可以删了,我自己这里删不了;)
说你没弄清楚是我误会了,因为我看你写了这么多,但基本都和人家问的问题毫无关系,而且你还写了两个 blend-subtitles
不过原问题出现的原因是视频本身带有黑边,你的这些配置是解决不了的
回复给 はかせ: keepaspect-window=no(无四侧黑边大屏)
blend-subtitles=video(字画分辨一致)
sub-auto=fuzzy(自动外挂)
fullscreen=yes(直接全屏)
save-position-on-quit 退出时记忆播放位置
border=no 想隐藏窗口标题栏的强迫症可以用
blend-subtitles=no
sub-ass-force-margins(字幕显示到黑边,带鱼电影的话这个就是显示在里面)
glsl-shaders-append=”~~/shaders/FSRCNNX_x2_8-0-4-1.glsl” 神经网络算法对付480p画质
audio-file-auto=fuzzy (自动外挂音轨)
border=no
–osd-level=0(隐藏快进白条)
slang=chi,zh-CN,sc,chs(自动中文)
回复给 jjww0000: https://www.mikuclub.win/184716 补充一个可以自动下一集之类的添加列表功能的
madVR 似乎在部分色域的判断上有很奇怪的问题……我去B站上下载了影视飓风的杜比视界样片,用 madVR 播放的时候它的时候 Debug OSD 里猜出来的色域是 BT.709 而不是 HDR 内容应有的 BT.2020,导致渲染出来的颜色完全错误。我的电脑屏幕是支持杜比视界的,而且似乎并不是所有杜比视界的片子都会判断错误,很奇怪
MPC 渲染器就没有这些奇怪的问题
一个疑问,在artifact removal选项中,reduce compression artifacts下的activate only if it comes for free(as part of NGU sharp)里,此处的NGU指的是chroma upscaling下的还是activate doubling下的NGU sharp
回复给clodhuang: 应该是第二个,因为activate only if it comes for free(as part of NGU sharp)上面的选项应该是rca在chroma upscaling时也使用,那应该就是说如果不勾上面选项那么rca只有image upscale时使用。这里是万年冷冻库的原文,可以参考下:
底下子选项"process chroma channels, too",如果勾选的话,RCA也会在chroma升频时介入处理,但会消耗较多的效能,而且chroma升频时做RCA的效果并不明显,因此并不建议勾选此选项。(这项不勾选的时候,RCA就只有在luma升频时才会介入,因此影片1:1播放时就不会有RCA的效果)
子选项"activate only if it comes for free(as part of NGU sharp)",这项勾选的话则RCA将只有在升频算法使用NGUsharp的时候启用后才会有作用,但是完全不会增加任何额外的效能消耗,勾选后qualily的部分视NGU sharp的运算强度是使用low、normal、high还是very high,而自动对应,但是不管如何对应,RCA的部分都不会增加额外效能消耗,因此如果升频算法使用NGU sharp的话强烈建议勾选此选项,但如果升频算法不是用NGU sharp的话则不要勾选,否则RCA启用后也不会有作用。
萌新求教,使用 MPC-BE v1.6.11 + xySubFilter with libass v20230505 时,内封字幕倍速播放能正常显示,但是若为外挂字幕,开倍速时字幕会与视频画面不同步(字幕仍为1倍速播放),有没有dalao知道原因qwq?
看到有一条留言说禁用 LAV Audio Decode 可以解决(?),实测在播放一段 HEVC+FLAC 的视频时,无论是否开启 LAV Audio Decode 都没有作用
播放器基本按照本文配置的,显卡为3060移动端
(救救孩子吧,每下一个番都要手动合并字幕真的……
回复给TMPUSR: 貌似无解。
回复给西北流士: 残念……不过、谢啦ヾ(≧▽≦*)o
回复给TMPUSR:折腾半天,发现碰到和你一样的问题了,我又滚回去看我的potplayer了,不知道是不是我的错觉,这mpc放视频好像是比potplayler流畅些,smooth motion我都开启了。另外这音画不同步的bug修好了记得踢我 😉
回复给八六可爱捏: 不是音画不同步,只是字幕没随视频变速。不用xySubFilter渲染字幕,用mpc内置的就行
回复给dy-living: 感谢指正,另外再问一个,mpc的快捷键倍速增加都是以1递增的么,1x后面直接就是2x,没法调节0.25x递增么 🙁
回复给八六可爱捏: 建议放弃快捷键直接手调(
回复给dy-living: 这个问题我已经解决了,设置里可以自定义我之前没看到 ,但是这个mpc倍速后声音失真太严重了,我看东西得倍速,属于那种声音慢我听不懂人说话的那种 🙁
回复给八六可爱捏: 我看番一般都要两倍速www
我在用 MPC-BE v1.6.11 时并没有倍速声音失真的问题
如果你指的是在默认情况下倍速后,声音升调/变尖/鬼畜(划掉)的问题,那么可以尝试在 "选项-音频-音频渲染器" 中将 "DirectSound" 改为 "MPC Audio Renderer" 即可
( 点击下拉选项框,选择 "0. MPC Audio Renderer",保存设置 )
回复给TMPUSR: 解决了,就是指这个问题;)
回复给TMPUSR: 赛博华佗!!!
回复给dy-living: 感谢回复,实测有用!但我还是想蹲一个使用 xySubFilter 的解决方案~
回复给TMPUSR: 只能换别的字母渲染器,所以我会说貌似无解。(笑哭)
回复给西北流士: (*/ω\*)
回复给 TMPUSR: 我这个字幕解码器也是这样,倍速跟不上,只能换回内置的字幕解码器