从零开始打造高清播放器Potpalyer+LAV Filters+madVR+xysubFilter+Advanced codecs

杂耍 关注

收藏于 : 2020-04-07 23:42   被转藏 : 2       转藏到我的文章库

前言

这年头一款趁手好用的播放器,功能强大的播放器是必需的,目前几乎所有视频播放器其实只有三种: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为例,确实很优秀,但是其内置的设定还是有些鸡肋,更何况现在高清视频正在普及,所以进行一番调教是应该的,直接给出一些对比效果:

0.关于Potplayer皮肤
下载地址:https://pan.baidu.com/s/1mgkfVCk

它的zune皮肤就秒掉一大批播放器

播放中:简洁大方进度条等自动隐藏,鼠标放在那个位置才出现,鼠标不动立马淡化消失。

1.关于LAV Filters
下载地址:https://github.com/Nevcairiel/LAVFilters/releases

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
下载地址:http://madvr.com/

视频的播放,解码吃的是CPU效能(硬解例外,硬解是使用显卡上的解码模组,既不吃CPU也不吃GPU效能),而渲染才是吃显卡GPU效能,额外的像去交错的部分也是吃显卡效能,整体而言还是CPU最重要,只有使用madVR时例外,GPU的部分也很重要。而madVR鼎鼎大名,地面最强的渲染器,又称显卡杀手,不惜一切效能代价以换取最大的画质表现,也因此这个渲染器对显卡的要求稍微吃重些,超越了我们一般对播放软件之硬件要求的常识(这个常识是指,只有玩游戏才需要用到较高阶的显卡,影像播放只需要低阶显卡甚至核显已可胜任),但并不是说只有好的显卡才能用这个渲染器,事实上madVR內部的选项相当弹性,根据设置的不同它可以让低阶卡跟內显顺顺跑,也可以把目前最高端的显卡跑爆,一般来说,我建议在能力许可的范围內选择一张不算太差的独立显卡才能发挥它该有的战力。目前甚至可以在普通显示器上模拟HDR,看下效果

有HDR

无HDR

3.关于xysubfilter
下载地址:https://github.com/Cyberbeing/xy-VSFilter/releases

xy-vsfilter和xysubfilter都是第三方播放器滤镜,都支持mpc系列播放器也支持potplayer,xy-vsfilter是修改原本播放器的vsfilter而生成的,目的为了减轻显示多特效字幕的CPU负荷;xysubfilter则是重新编写的字幕渲染器,比xy-vsfilter新和更好的字幕渲染效果,也支援更多像素格式及对硬体加速的支援也提升。xysubfilter额外支持的部分:支持更多像素格式输入/输出、高解析度的字幕渲染、支持PGS/HDMV格式字幕。

但使用xy-vsfilter/xysubfilter后便正常呈现出效果,上方日文字幕出现应有的字体消失后的字幕特效。

4.关于Advanced codecs
下载地址:http://shark007.net/forum/Thread-Setup-and-usage

由 Shark007 出品的万能视频解码器分为 ADVANCED Codecs 和 STANDARD Codecs 两个版本,它们能让 Windows 系统自带的 WMP 影音播放器功能得到全方位的加强,而且完全免费!它的前身是 Win8 Codecs,现在已经改名并完美支持 Win10/8/7 系统了,当然它也被叫做 Win10 Codecs
之所以安装这款解码包是因为在使用Potplayer过程中播放部分mov文件遇到了只有图像没有声音的问题,安装之后完美解决,这款直接默认安装就好了。

5.我打包好的懒人包
32位:链接: https://pan.baidu.com/s/1o7GZmBK 密码: rbxk
63位:链接: https://pan.baidu.com/s/1o7GZmBK 密码: rbxk

二、懒人必备:如何为Potpalyer添加自定义皮肤+LAV Filters+madVR+xy-VSFilter

1.皮肤及相关设定
把下载好的皮肤拖入skins文件夹,打开播放器,F5打开参数选项,点选新皮肤,根据自己的设备决定是否启用触控皮肤,建议勾选视频下自动隐藏。

然后修改皮肤输出方式,现在整个界面已经十分清爽干净了。

然后我们再修改几个设置让播放器更好用,不是必须的,主要是我的使用习惯,除了我强调的,其他的都可以自行设置。

注意:务必勾选保存设置到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
操作依然一样,直接看图即可,我们我们可以先勾选强制使用看看效果,右下角会出现一个向右上方的箭头,右键可以选择字幕。

5.提高音质

首先查看自己电脑的音质输出

然后在Potplayer中进行相关设置,选择内置WASAPI音频渲染器,高品质,关闭开启规格化(会调节音量,但会损失细节,更具自己需要看看吧)

6.独显笔记本要为Potpayer选择独显,这里以N卡为例

三、玩客必备:LAV Filters设置教程

以下是lav的部分内部设置,lav最大的好处就是,完全使用默认设置也能获得很好的播放效果,可说是傻瓜式的设置,在potplayer中调用了其实完全可以不管。

下面你还可以进行这样的设置来强制Potplayer进行高品质输出,这种设置未必会提升画质,但是可以避免画质损失,然而我不建议这种做法哦,写在这里只是说有这种方案,不如直接喂给madVR吃。

进入LAV video decoder的设定,將Output Formats只保留RGB32,然后Software Deinterlacing就使用YADIF。因为坊间眾多影片都是4:2:0格式,要用较高质素的算法抖动到4:4:4再转换到RGB32,直接输出到渲染器避免当中低质素的处理。

如下设置是potplayer中最高画质的缩放算法,但如果用Lanczos 3之后影片播放不顺畅可以选用其他缩放算法,而各种算法的质素和性能是顺序排列,位列越高较差,位列越低较好。但DXVA及DXVA-HD就根据显示卡而定,所以要自行尝试。另外邻近取样(nearest neighbor)的算法不推荐使用,因为是极低质素。

然后是色隙/属性,将YCbCr < - > RGB规则转做 ITU-R BT.709 - 以获得更大范围的色域处理影像以提高色准。

四:玩客必备:madVR简单设置教程

我们播放视频时,双击任务栏右下方的 MADVR 控制面板,进入设置菜单。(没有的话运行 MADVR 文件夹里的 madHcCtrl.exe),或是在外挂滤镜里加入madVR并点两下都可以打开设定页。

1.device菜单设置显示器的类型,一般选择“Digital Monitor”

打开设备下的“properties”选项如果使用显示器,第一项 RGB 范围选择 0-255。如果是连接电视机,则选择 16-255。(这个还是比较测试下,我接电视反而感觉选 0-255 效果更好)第二项是色深。一般选择 8bit。如果显示器或者电视能达到 10bit 或更高,则选择 10bit。到这里小白可以跳过了

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菜单
image.png

说明madvr 默认就是用全屏独占模式(exclusive)。虽然这种模式有它的好处,但如果电脑配置不够就会出现上间歇性黑屏,去掉“enable automatic fullscreen exclusive mode”的勾选即可。
image.png

效果展示

鉴于madVR是压榨显卡性能,所以显卡占用如果没到80%以上说明还没有达到最佳设置,另一个标准就是你的风扇有没有哗哗响。


 阅读原文全部内容>> 
收藏来源链接:http://www.360doc.com/content/...
文章点评
  • 杂耍 藏主
    1楼 2020-04-07 23:42

    杂耍 已转藏

相关文章
杂耍 关注

文章收藏:1617

TA的最新收藏
藏友最新收藏
好网角移动端
好网角APP
手机一键收藏