HTPC高画质篇-其二 最高画质 最强的视频渲染器 madVR.
本帖最后由 TautCony 于 2015-12-10 17:15 编辑无聊的产物,辣鸡翻译,源地址:http://blog.goo.ne.jp/heiseikise ... 332710686f8dfaa4846
前言
madVR是一款视频渲染器。
简单的说,它处于视频播放中对画质密切相关的最终阶段。
madVR 是 doom9 论坛中的一位名为 madshi 的人开发的视频渲染器。
它所拥有的特性: - 高精度的chroma upscaling- 高精度的scaling(包含各种放大与缩小算法)- 高精度的YCbCr→RGB转换- 对显示器色域的伽马校正- 内部计算均使用超高精度的16bit(普通的为8bit)- 能对处理后的16bit进行dither并输出- 避免所有显卡对视频画面渲染的算法(对画质有负面影响)- 所有计算均通过 GPU Shader 完成- 所有均以画质为第一优先事项
这篇文件为了让新手也能使用 madVR ,尽可能使用易懂的说法进行描述。
在PC上使用 madVR 以得到播放视频最佳画质。
使得它能与数万以至数十万円的蓝光播放器相匹敌。
事实上,madVR 中的放大算法中中档的 jinc 已经被证实比SONY的X-realitypro的效果更佳。
但是(madVR)中还有比jinc更为出色的算法!(super-xbr,nnedi3)
madVR的安装
下载madvr.rar并解压。
(2015-10-16的最新版本为0.89.11)
将解压后的文件夹放到自己喜欢的位置
顺道,我是将它放到C:\ProgramFiles\madVR中,是习惯了和便于管理。
对其中的install.bat右键并选择"以管理员身份运行"
如果出现了如上画面,则说明安装成功。
*请注意,移动文件夹后需要再次运行 install.bat
那么,就赶紧在MPC-BE中使用madVR吧!
在上回所介绍的MPC-BE中的选项>视频中的视频渲染器选择madVR。
然后播放视频,在mpc-be中右键
如图操作
做到这一步的话,已经能够正常使用madVR了但是啊...
默认设置偏向于轻负载、这样下的画质也并不是十分好、
差不多100分中拿个60分吧。
如果拥有性能强劲的GPU的话,画质还能变得更好。接下来就是对MADVR设定的说明。
MADVR设定篇 其一 devices
按照先前的说明设置渲染器为madVR。播放视频并暂停。
桌面右下角就会出现一个mad字样的图标。
对该图标右键→
madVR的设置界面就出现了。
最先显示的页面是显示器相关的设定。
顺带一提,左边显示的是显示器的型号、在这里的Eizo Nanao EV2455就是我的显示器了。
选中「Digital monitor/TV」。
*若连接的是电视,那么就将「PC levels」更改为「TV levels」*有些超旧的显示器是7bit的,那样的话就应该选择7bit
*madVR最近的升级中10bit以上的输入也能处理。
一部分超高端的专业显示器或电视会支持10bit(甚至可能更高)的视频输入。并且显卡也支持10bit(甚至可能更高)的输入支持这种情况下可以试一下选择10bit,画质应该能够更好。
这里是显示器的校正相关的设置。我们的话因为并没有校正,所以这里就选择 (默认)。
然后选中 选框。
这里是显示器模式切换相关的设置。普通的显示器是60fps所以这里什么都不用更改。
但是,电视的话有25p、24p之类的特殊模式,这时候请在这里更改设置。
这里什么都不需要变更。
MADVR设定篇 其二 processing
这里是反交错的相关设定。这里保持默认就好。
无需变更。顺带一提,这里是动画特有的去色带和噪点的设定。只有在播放动画时看到色带盒噪点的时候才需要设置。
无需变更。
madVR的新功能:锐化滤镜的设置。
这里也是madVR最近新加的功能、针对投影机的控制功能。
这里由于能检测出视频的有效区域和黑边然后就能根据结果,将字幕移至黑边的位置。这里也默认就好。
MADVR設定編 其三、缩放算法的配置文件
根据视频的分辨率不同,会有不同的设置,这里将会介绍设置文件的生成以及控制方法。
点击
分别选中、、然后点击
这之后,左边将出现Profile Group 1,其下还有一个Profile 1的子项。
连续点击duplicate profile两次。
这样之后就会有从profile1到3、一共3个配置文件。
分别将名字更改为SD、HD、FHD。
变更之后、点击,然后在右下空框内复制如下代码。
if (srcWidth < 1280) "SD"
else if (srcWidth < 1920) "HD"
else "FHD"
>>
这是不同设置文件的切换程序。
如果srcWidth不超过1280px则切换至"SD"。
否则,若未满1920px,切换至"HD".还不是的话则切换到"FHD"。
实际上可以分得更细的的,但是这样已经足够用了。
嗯,这里跳掉了一段显卡介绍,因为太像Nv的软广告啦
MADVR設定編 其四 缩放算法
madvr的不同设定下的画质等级大体如下。
:Catmull-Rom
:activate anti-rining filter
:scale in linear light
缩小的话均选用Catmull-Rom+activateanti-rining filter+scale in linear light
放大的话,显示器的分辨率为FHD的情况下
我推荐SD设置为Level5(有比GTX750TI更强显卡的能尝试更高的等级)
FHD与HD设置为level4
(需要接近GTX750的性能)
MADVR设定篇 其五 rendering
这里也有很多要根据GPU性能来调整的设置。
GTX750、860m、960m同等或以上的性能的话,设置成与我相同的设置应该没有问题。
smooth motion是madVR特有的算法,能使视频流畅播放,效果相当好,请务必勾上。
这里是deither的算法,error diffusion1/2>ordered>ramdom,我偏好errordiffusion 1和2
这一页面是牺牲画质换取性能的设置,如果GPU性能足够的话,这里全部都不要勾选。
但是、要使用deband的话,勾选don't analyze gradient angles for debanding。
MADVR设定篇 终章:来吧,验证一下
设定全部完成的话。
播放动画,并点击Ctrl+J。
左边就会出现madVROSD。
*确认smooth motion 为on
*一般rendering在42ms以下时
dropped frames、delayed frames、presentationglitches 增加也是没问题的。
最后向大家提供我的设置文件
放置到madVR的安装文件夹、重启mpc-be就能变成一样的设置了。
然后稍微调整之后就能尽情享受了。
madVR设定档下载:
原分辨率640*360的视频拉伸到1920*1080。
level2
level7
三遍放大比较。(请注意看头发的线条)
源分辨率是HD(1280*720)的视频拉伸到FHD(1920*1080)
(这里为Level4)
效果如何呢
前排顶!终于可以扔掉旧版madvr的jinc 8taps换成新版了……
顺口,在SVP环境下,smooth motion有没有意义? 我怎么感觉LV2比LV7观感好点啊,LV7的锯齿好严重啊 一定要mpcbe? 我是mpchc的說:L
我madvr是隨便設置的..
用的k-lie一直下一步安装的 接下来就不知道了 觉得观看效果还不错 p.s.试过用madrv感觉电脑配置不太好看一些教育性质的视频会卡住呢Orz ab222525 发表于 2015-12-10 20:41
我怎么感觉LV2比LV7观感好点啊,LV7的锯齿好严重啊
一糊遮百丑说的就是这个意思。 原作者都是艺卓显示器,真土豪,我这个DELL 最低端的 SE2416H还用PWM,连DC都没有,看来怎么调都是多余的,顶多能达到DVD画质,弄个蓝光的看起来也没区别。 請問原本就有裝madVR了要怎麼更新
有沒有辦法匯出原本的設定呢? FiSHxFiSH 发表于 2015-12-12 09:45
請問原本就有裝madVR了要怎麼更新
有沒有辦法匯出原本的設定呢?
Google了一下就自己回答自己吧xD
http://forum.videohelp.com/threads/362892-Upgrading-madvr
"Personally I always run the 'uninstall.bat' then replace the old files with the new ones and run the 'install.bat' and unless you run the 'restore default settings.bat' all previous settings should be kept.
(I suspect that simply overwriting the old files, should work too. ) " 本帖最后由 QPet 于 2015-12-13 03:44 编辑
根据madshi的指示http://forum.doom9.org/showthread.php?t=146228,
自己试着折腾了一下代码,参数之间切换,想着要区分出1080P,720P,DVD,以及是否开启svp。
摸索出来了这么一套代码:
if (srcWidth >= 1440) and (deintFps < 31) "1080P"
else if (deintFps >= 31) "1080P SVP"
else if (srcWidth < 1440) and (srcWidth >= 1200) and (deintFps < 31) "720P"
else if (deintFps >= 31) "720P SVP"
else if (srcWidth < 1200) and (deintFps < 31) "DVD"
else "DVD SVP"但是很不幸,分辨率可以区分,但是是否使用SVP无法区分……
我的思路是想根据解码器扔给madvr的数据的fps区分,但是貌似这个思路不管用,请教下有效的代码写法吗?
或者说我要去注册个doom9账号直接问作者?
页:
[1]
2