一、前言
这年头一款趁手好用的播放器,功能强大的播放器是必需的,目前几乎所有视频播放器其实只有三种:MPC-HC、Mplayer、VLC player,其余可以理解为各种壳各种定制版各种修改版。(potplayer的前身km是基于MPC),其中MPC-HC已经内置了LAV Filters,不过Potplayer可定制项更多,更有可玩性,因此选用Potplayer进行搭建目前公认最完美的高清方案显然是Potplayer(主播放器)+LAV Filters(分离器)+madVR(渲染器)+xy-VSFilter(字幕滤镜),当然这个所谓的最完美方案是严重高能耗的一个方案,就我个人而言一直觉得性质比不佳,但这基本上是你已经是能找到的最完美的高清方案了。
不想怎么折腾的朋友,直接使用播放器和默认设置就好了;要求再高一点的朋友,添加LAV Filters+madVR+xy-VSFilter进播放器,然后也不需要去配置参数,默认就好;发烧友们想自学高级播放器设置,网上教程总是不缺的,一搜一大堆,各大论坛什么的置顶帖,万年冷冻库,等等,写的比本文更新、更详细、更高端的比比皆是,也都可以作为很不错的教程。不过其中有些教程过于专业详尽,又或者只是授人以鲤,或者授人以鳊、鲢、鳙……,导致很多人直接傻眼了。现在网上林林总总的教程,不会跟你说的很多细节与知识。有的人madVR设置玩出了花,结果不知道检查pot内置的ffmpeg解码器,会把YUV420 10bit 降低精度+瞎转换 为YUV422 8bit丢给madVR,然后又说自己看不出区别……这折腾的意义何在呢。所以首先提出几点建议:
1、实事求是。不要盲目的去折腾,也不要为了心理安慰去折腾。一套更好的方案,只有你确实感觉到了提升,并且这个提升在你心理满意度上,足够抵消麻烦,才值得你去升级。比较的过程中,相信自己的眼睛,而不是相信别人的说教。比如说我真不推荐笔记本用户折腾任何顶级缩放算法——那么小个屏幕你能看出点啥?教程里说出花的放大算法跟你有几毛钱关系?
2、循序渐进。先把一套简单基础的方案弄好弄懂,再去学习和尝试更好的方法。对于新的插件,你要尝试测试它们在你机器上的表现;对于别人的设置,设法了解他这么推荐的原因,以及这个原因是否适用于你。最典型的,很多人用着madVR问我,你在新教程里教我们LAV只勾选RGB,我要改么?看了这篇教程你应该知道要不要改与背后的原因了吧。
3、量力而行。播放器越高级,组件越多,往往性能消耗越大,出错概率也越高,同时收益越少。学会放弃与妥协,毕竟,你看的是片子,不是播放器组件和参数。
二.为什么我们要对播放器进行折腾?
我们先了解一般视频在DirectShow架构的播放器播放时的运作过程,首先是读取档案的File source(读取滤镜),將其读取的內容传给Splitter(分离器),前面两者又可合称Source filters(源滤镜)。然后Splitter会將其分离为视讯编码跟音讯编码,將视讯编码传给Video decoder(视讯解码器)做解码,將音讯编码传给Audio decoder(音讯解码器)做解码,然后解码完的视讯內容传给Video renderer(渲染器)渲染后交由显卡输出,解码完的音讯內容则交给音讯装置输出(预设是DirectSound Device)。若是播放DVD,则源滤镜会使用win內建的DVD Navigator,其他则大同小异。所以最简单的方案就是选用算法更好的分离器,解码器和渲染器。(补充:部分视频有字幕的话直接分给字幕渲染器)
以Potplayer为例,确实很优秀,但是其内置的设定还是有些鸡肋,更何况现在高清视频正在普及,所以进行一番调教是应该的,直接给出一些对比效果:
1.关于LAV Filters
LAV Filters,是一个包含分离器/视频解码器/音讯解码器三者的外挂解码方案,內容有LAV Splitter、LAV video decoder、LAV audio decoder三者,由DOOM9论坛上的nevcairiel所开发,格式支持高,完整支持各种10bit编码,也支持DVD及BD的解码,BUG少,功能强大但又实用而不花俏。LAV Filters分离器被称为高速万能分离器,所谓高速是指lav分离器的跳转速度很快,普遍高于pot内置分离器,万能指的是lav的分离器和音视频滤镜很全,几乎可播放所有常见视频。而且,LAV还支持开启硬件加速(如果使用madVR的话建议不要开启),至于为啥看看下面的问题就知道了。
2.关于madVR
视频的播放,解码吃的是CPU效能(硬解例外,硬解是使用显卡上的解码模组,既不吃CPU也不吃GPU效能),而渲染才是吃显卡GPU效能,额外的像去交错的部分也是吃显卡效能,整体而言还是CPU最重要,只有使用madVR时例外,GPU的部分也很重要。而madVR鼎鼎大名,地面最强的渲染器,又称显卡杀手,不惜一切效能代价以换取最大的画质表现,也因此这个渲染器对显卡的要求稍微吃重些,超越了我们一般对播放软件之硬件要求的常识(这个常识是指,只有玩游戏才需要用到较高阶的显卡,影像播放只需要低阶显卡甚至核显已可胜任),但并不是说只有好的显卡才能用这个渲染器,事实上madVR內部的选项相当弹性,根据设置的不同它可以让低阶卡跟內显顺顺跑,也可以把目前最高端的显卡跑爆,一般来说,我建议在能力许可的范围內选择一张不算太差的独立显卡才能发挥它该有的战力。目前甚至可以在普通显示器上模拟HDR,看下效果
左为MADVR渲染,右为播放器默认渲染,左边锯齿大大降低
右为MADVR渲染,色彩、细节皆要强于普通渲染
有HDR
无HDR
3.关于xysubfilter
xy-vsfilter和xysubfilter都是第三方播放器滤镜,都支持mpc系列播放器也支持potplayer,xy-vsfilter是修改原本播放器的vsfilter而生成的,目的为了减轻显示多特效字幕的CPU负荷;xysubfilter则是重新编写的字幕渲染器,比xy-vsfilter新和更好的字幕渲染效果,也支援更多像素格式及对硬体加速的支援也提升。xysubfilter额外支持的部分:支持更多像素格式输入/输出、高解析度的字幕渲染、支持PGS/HDMV格式字幕。
但使用xy-vsfilter/xysubfilter后便正常呈现出效果,上方日文字幕出现应有的字体消失后的字幕特效。
4.关于Advanced codecs
由 Shark007 出品的万能视频解码器分为 ADVANCED Codecs 和 STANDARD Codecs 两个版本,它们能让 Windows 系统自带的 WMP 影音播放器功能得到全方位的加强,而且完全免费!它的前身是 Win8 Codecs,现在已经改名并完美支持 Win10/8/7 系统了,当然它也被叫做 Win10 Codecs。
之所以安装这款解码包是因为在使用Potplayer过程中播放部分mov文件遇到了只有图像没有声音的问题,安装之后完美解决,这款直接默认安装就好了。
三、懒人必备:加载皮肤和滤镜
1.皮肤及设置
把下载好的皮肤拖入skins文件夹,打开播放器,F5打开参数选项,点选新皮肤,根据自己的设备决定是否启用触控皮肤,建议勾选视频下自动隐藏。
然后修改皮肤输出方式,现在整个界面已经十分清爽干净了。如果你决定使用madVR的话,这里皮肤输出方式应该选择使用图层式皮肤输出。
然后我们再修改几个设置让播放器更好用,不是必须的,主要是我的使用习惯,除了我强调的,其他的都可以自行设置。
注意:务必勾选保存设置到INI文件,否则每次重装系统或者到其他电脑就得重新配置。
说明:播放窗口尺寸设置为自定义可以有效避免因为视频源分辨率导致画面忽大忽小的问题,避免手动拖拉调整的麻烦,由于我是高分屏,所以设置为1366768,普通用户推荐1024576,因为这是网上流行的1080P和720P视频的比例。
说明:勾选以避免放大调整播放器时产生黑边。
说明:个人并不喜欢ass字幕特效,不如简单朴素点好。
这点开始就设置好,因为我们不会使用其内置滤镜,虽然到这里就Potplayer已经是一款很简洁美观的绿色播放器了。
2.加载LAV Filters
接下来依然F5进入选项设置-源滤镜/分离器-“滤镜/解码器管理”
由于我选择不安装进系统,所以在这里,我选择“添加外部滤镜”
浏览到刚才LAVFilters解压的文件夹,分别添加图示项。
添加后回到管理界面设置,点击左边的”LAV AudioDecoder”,将右边”音频解码器”里能钩的全勾上。点击”LAV Splitter Source”,将”源滤镜/分离器”里的除了H264之外的全勾上。点击”LAV Video Decoder”,将”视频解码器”里的全勾上,最后点击确定。
注意:所谓LAV Splitter Source的其实就是LAV Splitter + File Source。直接使用LAV Splitter可能会出现不协调的问题,而且MS的File Source是存在bug的,特别是xp系统。所以与其让potplayer调用MS的File Source,不如直接全部交给LAV来处理,所以个人推荐你直接选择LAV Splitter Source而不是LAV Splitter。
然后在全局滤镜优先权新增lav video decoder,再设定优先顺序为强制使用。
然后需要我们手动修改启用LAV,以上便是pot中调用lav filter的方法
3.加载madVR
添加madVR渲染器,这一点与添加LAV方式一致,添加外部滤镜,点选madVR.ax即可,需要注意的是,浏览器的皮肤在madVR下不可用。
我们也可以在全局滤镜中勾选强制使用,这样我们马上可以看到效果。
madVR的初始预设值是重视效能取向和稳定性的,也就是让大部分的显卡都可以正常运作为前提的设置,懒的研究设置的朋友用预设值也可以顺顺使用madVR,但如果想要进一步发挥madVR强大的功能,我们就再继续看四,如果你设置混乱了,可以恢复初始设置继续研究。
4.加载xysubFilter
操作依然一样,直接看图即可,我们我们可以先勾选强制使用看看效果,右下角会出现一个向右上方的箭头,右键这个箭头可以选择字幕,播放器里已经无法选择字幕了。
那么到此我们的滤镜就已经加载完毕了,那怎么看是否加载成功呢?这里有三种方法:
我们可以打开一个视频,右键选择滤镜,看看是否都成功加载,如果没有问题说明已经成功了。
我们还可以按下Tab键,查看相应的解码器渲染器信息是否正确,如图说明LAV解码器,madVR都加载成功,帧率稳定在60,可以畅享60fps的大片了。
我们还可以按下Ctrl+J,这会显示madVR的实时渲染信息,可以借此修正madVR的设置,发挥显卡更大潜能,要掌握这个,这是我们以后进一步调教madVR的关键。
5.提高音质
首先查看自己电脑的音质输出
然后在Potplayer中进行相关设置,选择内置WASAPI音频渲染器,高品质,关闭开启规格化(会调节音量,但会损失细节,更具自己需要看看吧)
6.独显笔记本要为Potpayer选择独显,这里以N卡为例
四、设置LAV
1.分离器部分
上方的Audio(音频)及Subtitles(字幕),可以设定优先的轨道,可以依自行需求设定,
(不过这部分我比习惯使用MPC-BE內的切换)
在Subtitle Selection Mode內以下几种选项可选:
No Subtitles:不载入任何字幕
Only Forced Subtitles:只选择有强制轨(forced track)的字幕
Default:选择有强制轨(forced track)或预设轨(default track)的字幕
Advanced:选择在Subtitles的栏位中填入选择逻辑
在Demuxer Settings(分路器设定)內,
Prefer Audio Stream with the Highest Quality (偏好最高音质音轨)
此项可以视情况勾选,
勾选后LAV会倾向选择最高音质的音轨,
但少数影片最高音质的音轨不一定是对的/最好的。
左下角的Enble System Tray Icon勾选后,
在启用LAV分离器时,会在右下角工作列的通知区域內显示图示。(依需求选择是否勾选)
2.音频解码器
右方的Output Formats(输出格式)中,可以自由选择输出格式,不过这边建议预设即可。
左下角的Enble System Tray Icon勾选后,在启用LAV音讯解码器时,会在右下角工作列的通知区域內显示图示。(依需求选择勾选)
Enable Mixing(开启混音)勾选后,便可以將 多声道音轨 混和成 较少声道数 输出,输出声道可以在Output Speaker Configuration(输出扬声器设置)中设置,依照声道数设定。
Mono:单声道
Stereo:立体声/双声道
4.0:4.0声道
5.1:5.1声道
6.1:6.1声道
7.1:7.1声道
右方Setting(设定)选项中,Clipping Protection(音量保护),可以使扬声器在大动态音频输出时,降低破音机率。(如果对扬声器有信心,不建议勾选此项,因为可能会损失音质)
3.视频解码器
左上角Settings(设定)选项中,Threads for Multi-Threading(设定多执行续的执行数),基本上设定成Auto(自动)即可。
Setting for Interlaced Video Streams(设定隔行扫描影片):
Field Order(场序规则),在处理格行扫描影片时需要先进行去交错,而反交错时分成 奇数场 优先或是 偶数场 优先,可依需求设定,或是设定成Auto让LAV自动判断。
Deinterlacing Mode(去交错模式),有几种选项,
Auto:自动。
Agressive:当影片中发现有格行扫描的画面时,则全部进行去交错处理。
Force:强制进行去交错处理。
Disabled:关闭去交错处理。
右上角的Hardware Acceleration(硬件加速/硬解),Hardware Device to use(使用硬件装置),简单来说就是选择要用何者来进行硬体解码,有以下几种选项,
NVIDIA CUVID:Nvidia专用硬体解码介面,可以开启硬体去交错处理。
Intel QuickSync:Intel內显专用硬体解码介面,CPU使用率比其余硬解模式稍高5~10%左右,可以开启硬体去交错处理。
DXVA2 (copy-back):为微软开发的硬体加速介面,ANI显示卡均可使用,会將解码完成的资讯回传给记忆体,由於多个回传动作,故效能会比native略差,不过优势为可以在解码器与渲染器中间添加滤镜。
DXVA2 (native):为微软开发的硬体加速介面,ANI显示卡均可使用,会將解码完成的资讯將不会传给记忆体,直接渲染,故效能比copy-back佳,缺点为限制较多。
如果要开硬解,会建议 DXVA2 (native) > DXVA2 (copy-back) > NVIDIA CUVID 或 Intel QuickSync(原版则建议使用DXVA2 (copy-back))
右下方的Hardware/GPU Deinterlacing (CUVID/QS only),
即为硬体去交错处理设定,限定在NVIDIA CUVID或Intel QuickSync硬解模式下启用。
Software Deinterlacing(软体去交错)
若要启用软体去交错,可以选择YADIF,此处的去交错与madVR內的去交错,则一使用即可
左下角的Output Formats(输出格式),可以设定不同色深下的影片输出那些格式,如果没有要使用madVR渲染器及后处理滤镜(post-processing filters),建议让LAV的高精度抖动输出RGB模式(如下图)
五、设置madVR
madVR的设置是十分值得研究的,这里也不再详细说明,只把最常用的指出来,如果有兴趣各位自行去查询。我们播放视频时,双击任务栏右下方的 MADVR 控制面板,进入设置菜单。(没有的话运行 MADVR 文件夹里的 madHcCtrl.exe),或是在外挂滤镜里加入madVR并点两下都可以打开设定页。
1.device菜单
第一个就是你的显示设备的名称,各人的显示设备不同,所以名称也会不一样。在这里可以选择你输出设备的制式,因为不同的设备,他的某些指标不一样,所以要认真对待。设置显示器的类型,一般选择“Digital Monitor”
打开设备下的“properties”选项如果使用显示器,这里一定要认真对待。如果你用电脑显示器看影片,就要选择PC levels(0-255),如果你是接液晶电视,或者投影仪,可能需要选择TV levels(16-235)。因为一般电视显示的灰阶不是0-255,如果你用0-255去输出,那么16以下,235以上的灰阶都丢失了,暗部细节漆黑一片,影片整个发灰。
针对电脑连接TV或投影,我详细说一下。这里有些复杂,首先,你用的是什么线进行连接。如果你的显卡有HDMI接口,那么HDMI直连显示设备,选择16-235。如果你的显卡没有HDMI接口,用DVI转接HDMI。这里还是选择16-235.
如果你的显示设备有DVI接口。DVI直连,并且你的显示设备也支持的话,可以选择0-255.而位深则选择8 bit(or higher).8 bit或者更高。8 bit对应256色阶。通用。当然你硬件设施够好,达到10bit ,这个选项也完美对应。
[图片上传失败...(image-c3245f-1599900233537)]
信息标示页面。在这个页面里,会标出你的显示设备的型号啊,出厂日期什么的。
这里一定要认真对待。如果你用电脑显示器看影片,就要选择PC levels(0-255)。如果你是接液晶电视,或者投影仪,可能需要选择TV levels(16-235)。因为一般电视显示的灰阶不是0-255,如果你用0-255去输出,那么16以下,235以上的灰阶都丢失了,暗部细节漆黑一片,影片整个发灰。针对电脑连接TV或投影,我详细说一下。这里有些复杂,首先,你用的是什么线进行连接。如果你的显卡有HDMI接口,那么HDMI直连显示设备,选择16-235。如果你的显卡没有HDMI接口,用DVI转接HDMI。这里还是选择16-235.如果你的显示设备有DVI接口。DVI直连,并且你的显示设备也支持的话,可以选择0-255.而位深则选择8 bit(or higher).8 bit或者更高。8 bit对应256色阶。通用。当然你硬件设施够好,达到10bit ,这个选项也完美对应。
这里的校准,指颜色校准。使用yCMS和3DLUT进行校准。这里我觉得没什么好讲的,因为显示器存在差异,因此你必须按照你自己的显示器来进行颜色校准设置。但是这需要校准设备。这个东西一般只有显示设备评测机构有,我们自己恐怕没办法去搞这种校准。所以这里就不要去开启它了。而下面的选项,我在图片里也有详细说明。在此不再复述。选择BT.709而伽马部分,如果你是N卡,就选择pure power curve。后面的2.20最好不要动。那个数值是标准。不过你也可以尝试改改看~
[图片上传失败...(image-5a6592-1599900233537)]
这里的选项多半是为接其他显示设备用的,一般用不到。留空就可以了。
启用伽马处理,一般选择启用。然后交由你选择的伽马处理标准去处理灰阶。N卡选择pure power curve后面的2.20不要动,这个是标准数值。
在hdr项目中,选择convert HDR content to SDR by using pixel shader math,假如你有某些萤幕校色装置可以选择包括3DLUT的项目,不过我没有此类设备所以不知如何设定。设置好了之后可以去观看HDR影片,如果想肯定HDR功能是否正常运作,可以在播放时按下Ctrl+J开启OSD讯息表,观察红框內matrix的色域是否BT.2020,而且下方有无出现HDR项目。
在正常运作下即使模拟HDR功能的效果亦相当出众,光暗和色彩效果都只能用惊艳形容,比较下会感觉非HDR版的色彩变得非常暗哑,但少年pi这套电影在当时画面呈现的效果已经算是相当出色,但在HDR的效果更上一层楼。参见开始展示的对比图。
2.processing菜单
deinterlacing 选项,对应的是图像交错处理。建议在最上面的选项打勾,让视频需要进行图像交错的时候交给 MADVR 自己去处理,并且在怀疑时不启动交错处理。如果常看动漫的,可以去掉“only look at pixels in the frame center”勾选。
arifact removal 选项,对应的是图像去色阶功能。在普通的视频中,我们经常会看到人物的脸上,或者不同颜色的交界处有淡淡的光晕和条纹,这就是没有去掉色阶。而我们的目的就是让图像的颜色过渡更加自然,让条纹现象减少甚至消失。(这个选项会占用一些 GPU 资源,但尚可接受,开启无压力。)第一个选项是整体画面的去色阶效果。一般选择 low 就会有不错的效果。第二个选项是不同颜色交界处去色阶效果。可以选择 high。
3.scaling algorithms菜单
这个是最关键的图像缩放算法的设置,这部分是影响效能最大也是影响画质表现最明显的地方,也是 madVR 的最大特色。里面5个页面的内容基本类似。让用户选择的东西都是各种图像缩放模式,而不同的模式所消耗的性能也是不同的,基本上从上到下,性能消耗是越来越大,用户要根据自己的配置来考虑。每个页面的设置主要都是为了解决视频图像中的锯齿(aliasing)和振铃效应(ringing)。根据选择的不同,右上角会有效果介绍。绿条一般越长也越好。红条则是越低越好。
说明在算法的最下面还有两个选项:active anti-ringing filter(简称ar)可以开启抗光环处理,也容易在downscale时候增加锯齿。scale in linear light可以增加image downscale转换之后,颜色对比度的精确性。建议在image downscale中开启。
chroma upscaling:色度拉升,即色度平面放大。不过色度拉伸的算法比较难感受到差别。如果配置好的话就设置是 NNEDI3 或 NGU(chroma upscaling 这里开到 NNEDI3以上几乎没什么意义,肉眼分辨不出)如果显卡中等的话,可以设置 Jinc + AR如果显卡不太好的话,则可设置 Bicubic 75 + AR如果是 Intel 集显得话,则可设置 SoftCubic 60 + AR
image downscaling:影像缩放只要输出分辨率小于原始分辨率就会用到这部分的算法,比如 4K 分辨率的视频在 1080P 显示器上播放。公认的最佳演算法组合(resize 后最接近原本的画面),使用 Catmull-Rom,并勾选“activate anti-ringing filter”(简称 AR)跟”scale in linear light”(简称 SC)。
image upscaling:影像拉伸,也就是影像放大,只要输出目标分辨率大于原始分辨率就会用到这部分的算法,比如 1080P 分辨率的视频在 4K 显示器上播放。推荐用下图的设置(Jinc+AR)。显卡吃不消的可以考虑:Lanczos 4+AR(HD4600 等级集显)甚至是 Bicubic 60+AR(HD4000 等级集显)
upscaling refinement:锐化算法,目的是在于改善放大运算后造成的模糊,只在视视频大后使用,如果是1:1无放大的影像,这部分勾选了也不会有作用。。
4.rendering菜单
说明madvr 默认就是用全屏独占模式(exclusive)。虽然这种模式有它的好处,但如果电脑配置不够就会出现上间歇性黑屏,去掉“enable automatic fullscreen exclusive mode”的勾选即可。
[图片上传失败...(image-63c71e-1599900233537)]
六、后记:效果展示
鉴于madVR是压榨显卡性能,所以显卡占用如果没到80%以上说明还没有达到最佳设置,另一个标准就是你的风扇有没有哗哗响。
全高清
全高清下的大腿时代,播放4K视频没压力
4K屏显卡已经吃不消了
4K下的大腿时代,果然是显卡杀手,估计得得1070才能流畅流畅解析吧。
转自:http://www.360doc.com/content/19/0629/18/30727609_845619768.shtml