转自:http://www.hangge.com/blog/cache/detail_1461.html

一、MADVR介绍

  • MADVR 是一款超强的视频插件,其配合高清播放软件,可以做到目前 PC 上播放高清视频的最强画质。
  • MADVR 这款视频渲染器比市面上大多数播放器自带的渲染器有着更精确的颜色处理,更高质量的图像缩放缩放、以及更低的颜色错误率。这就使得它所渲染出来的视频在颜色上更趋于真实,在画质细节上也要强于其他渲染器。
  • MADVR 支持各类显卡,包括 NVIDIA 和 AMD 的独显以及英特尔的核芯显卡。不过用户在使用 MADVR 渲染视频时,会占用大量的 GPU 资源和 CPU 资源。

二、MADVR的使用

这里我们以 Potplayer 这款播放器为例,演示如何使用 MADVR 进行视频渲染。

1,安装Potplayer播放器

(1)官网地址:http://potplayer.daum.net/
(2)安装的时候记得勾选“安装额外编解码器”。Potplayer 便会自动下载一些编解码器。
(3)下载好的编解码器要全部打勾。然后结束安装。

2,安装LAV Filters解码器

(2)这里我们只需要安装 64 位的视频解码器就可以了。

3,安装MADVR渲染器

(1)官网地址:http://www.madvr.com/

(2)将 MADVR 渲染器放在一个没有英文名的路径下。然后又键点击“install.bat”,选择“以管理员身份运行”,便完成 MADVR 的安装了。
 

4,Potplayer设置

(1)启动 PotPlayer 后,按下 F5 打开“选项”窗口。点击“滤镜”,关闭 Potplayer 内置图像滤镜。 
 这样做防止 Potplayer 对视频进行瞎处理。比如播放 10-bit 视频,如果不关闭内置滤镜的话,数据在传递给 madVR 前已经从 10-bit 砍成 8-bit 损失精度,madVR 内部再怎么精度高也是白搭。

(2)点击“滤镜”->“全局滤镜优先权”->“添加系统滤镜”。找到 LAV Video Decoder 和 madVR,并添加进来。
(3)同时还要把添加的这两项优先顺序改称“强制使用”。
(4)随便播放一个视频。按 Tab 键即可看视频的解码和渲染是不是 LAV 和 MADVR,如果是的话就说明设置正确了。同时可以发现虽然我的电脑是集显,帧率也提升了一倍多。

5,MADVR简易设置

(1)我们双击任务栏右下方的 MADVR 控制面板,进入设置菜单。(没有的话运行 MADVR 文件夹里的 madHcCtrl.exe)
(2)在“devices”这个选项中,不过我们使用的是显示器还是电视,一律选择“Digital Monitor/TV”。
(3)打开设备下的“properties”选项。
  • 如果使用显示器,第一项 RGB 范围选择 0-255。如果是连接电视机,则选择 16-255。(这个还是比较测试下,我接电视反而感觉选 0-255 效果更好)
  • 第二项是色深。一般选择 8bit。如果显示器或者电视能达到 10bit 或更高,则选择 10bit。

三、MADVR的高级设置技巧

我们打开 MADVR 文件夹中的 madHcCtrl.exe,这个便是 MADVR 的控制面板。下面对画质起关键作用的几个选项,分别进行介绍。

1,processing菜单

(1)deinterlacing 选项,对应的是图像交错处理。

  • 建议在最上面的选项打勾,让视频需要进行图像交错的时候交给 MADVR 自己去处理,并且在怀疑时不启动交错处理。
  • 如果常看动漫的,可以去掉“only look at pixels in the frame center”勾选。
关于“only look at pixels in the frame center”:
"only look at pixels in the frame center"这个选项只对film型式的交错式(隔行扫描interlaced)影片有影响,也就是说这选项在启动madVR的film mode时才有作用(文后有解释)
我 们知道对于这类影片必须对其作IVTC让它还原成24p(60i→24p),但实际上我们有时候会发现录了一部电视播放的电影或动画下来,电视台常常在四边打上跑马灯或台标之类的东西,而这个跑马灯或台标却是video型式的interlaced讯号(真正的60i 无法IVTC),因此我们要作IVTC时如果是对整个画面的像素作侦测,遇到这种情形时就很容易产生误判。因此勾选这个选项时就只会对画面中央部分的像素 作侦测,避开那些跑马灯或台标可能出现的位置以免作IVTC时产生误判,但缺点就是这样侦测的效率较低,遇到动画这类常常有静止画面的影片在侦测是哪一类 pulldown时就会花比较久的时间。如果会看电视台播放的电影或动画的话,建议勾选此选项,如果是看DVD原盘的话,则建议取消勾选。
这选项对progressive的影片完全没有影响,如果照字面理解为这选项不利于动画的话那是错误的理解,因为很多动画片源只要是蓝光或是录制下来压制时做过IVTC的,都会是progressive而非interlaced。电视台录制下来的原始TS档或是DVD原盘才有可能是interlaced。

(2)arifact removal 选项,对应的是图像去色阶功能。
在普通的视频中,我们经常会看到人物的脸上,或者不同颜色的交界处有淡淡的光晕和条纹,这就是没有去掉色阶。而我们的目的就是让图像的颜色过渡更加自然,让条纹现象减少甚至消失。(这个选项会占用一些 GPU 资源,但尚可接受,开启无压力。)

  • 第一个选项是整体画面的去色阶效果。一般选择 low 就会有不错的效果。
  • 第二个选项是不同颜色交界处去色阶效果。可以选择 high。

2,scaling algorithms菜单

这个是最关键的图像缩放算法的设置,这部分是影响效能最大也是影响画质表现最明显的地方,也是 madVR 的最大特色。
  • 里面4个页面的内容基本类似。让用户选择的东西都是各种图像缩放模式,而不同的模式所消耗的性能也是不同的,基本上从上到下,性能消耗是越来越大,用户要根据自己的配置来考虑。
  • 每个页面的设置主要都是为了解决视频图像中的锯齿(aliasing)和振铃效应(ringing)。
  • 根据选择的不同,右上角会有效果介绍。绿条一般越长也越好。红条则是越低越好。

(1)chroma upscaling:色度拉升
即色度平面放大。不过色度拉伸的算法比较难感受到差别。

  • 如果配置好的话就设置是 NNEDI3 16 或 32(chroma upscaling 这里开到 NNEDI3 64 以上几乎没什么意义,肉眼分辨不出)
  • 如果显卡中等的话,可以设置 Jinc + AR
  • 如果显卡不太好的话,则可设置 Cubic Bicubic75 + AR
  • 如果是 Intel 集显得话,则可设置 Cubic SoftCubic60 + AR

(2)image downscaling:影像缩放
只要输出分辨率小于原始分辨率就会用到这部分的算法,比如 4K 分辨率的视频在 1080P 显示器上播放。

  • 公认的最佳演算法组合(resize 后最接近原本的画面),使用 Catmull-Rom,并勾选“activate anti-ringing filter”(简称 AR)跟”scale in linear light”(简称 SC)。
  • 如果电脑配置特别高的话,还可以考虑下使用 SSIM 1D 100%

(3)image upscaling:影像拉升

也就是影像放大,只要输出目标分辨率大于原始分辨率就会用到这部分的算法,比如 1080P 分辨率的视频在 4K 显示器上播放。
在这里我们可选择使用 doubling(影像翻倍)或 upscaling(影像拉升)。前者效果比后者好很多,所以说能开的话还是开一下吧。(当然如果显卡不是很好的话,就不要使用 doubling 了)
  • 对显卡很有自信的可以开 NNEDI3,至于 neurons 当然是越高越好(当然开销也是越来越大),但 64 和 256 的效果差别不大,所以这里最好的设置还是 NNEDI3 64 neurons。
  • 不过显卡不是特别好的话没必要开这么高,可以用 NNEDI3 32 neurons 或 super-xbr。而据测试观察 super-xbr 会产生更多的 ringing,所以我推荐 NNEDI3 32 neurons。
  • 如果配置中等的话,还是建议设置为 upscaling 下的 Jinc + AR。
  • 显卡吃不消的可以考虑:Lanczos 4+AR(HD4600 等级集显)甚至是 Cubic Bicubic60+AR(HD4000 等级集显)。

(4)upscaling refinement:锐化算法
目的是在于改善放大运算后造成的模糊,只在视视频大后使用。

四、常见问题

1,播放视频的时候会间歇性黑屏?

故障现象:Potplayer 播放视频的时候,时不时会自动在 windowed 和 exclusive 之间来回切换(视频左上角会出现切换字样)。这样每次切换整个界面就会黑一下。
 
问题原因:madvr 默认就是用全屏独占模式(exclusive)。虽然这种模式有它的好处,但如果电脑配置不够就会出现上面的问题。只要将其关闭即可。
 
解决办法:打开 madVR 的设置页面。“rendering”->“general settings”选择中,去掉“enable automatic fullscreen exclusive mode”的勾选。

2,如何判断设置是否适合

在播放不卡顿的前提下,我们选择尽量高的设置。是否卡顿可以这么判断:
  • 可以使用 fraps 查看帧率,全屏模式下应该是等于你显示器刷新率,窗口模式下一般是输出帧率。
  • 也可以用 GPU-Z 查看 GPU 负荷,不到 90% 什么的基本就没问题了

原文出自:www.hangge.com  转载请保留原文链接:http://www.hangge.com/blog/cache/detail_1461.html

实现PC视频播放最强画质教程( Potplayer播放器+MADVR插件)【转】的更多相关文章

  1. PotPlayer播放器——最强大的播放器 - imsoft.cnblogs

    PotPlayer下载:链接 http://pan.baidu.com/s/17vgMM 密码: 8buc PotPlayer关联图标修改方法:打开安装目录替换目录下的PotIcons.dll文件即可 ...

  2. PotPlayer播放器 莫尼卡汉化绿色版 V1.6.48089 32位

    软件名称: PotPlayer播放器 莫尼卡汉化绿色版 软件语言: 简体中文 授权方式: 免费软件 运行环境: Win7 / Vista / Win2003 / WinXP 软件大小: 10.5MB ...

  3. Potplayer播放器使用笔记

    Potplayer播放器使用笔记 1.暂停-播放的快捷键是 空格键2.C播放视频的加速倍数3.X播放的时候减速的倍数 Tab键:显示一下播放的信息,很多 Enter键:全屏或是缩小播放窗口 全屏拉伸快 ...

  4. [No0000188][VCB-Studio 科普教程 2.5] 基于 PotPlayer 和 madVR 的播放器教程(已更新 XySubFilter)

    Potplayer 是高清影视常用的播放器,界面简洁,功能齐全,比 MPC-HC 和 MPC-BE 更人性化:但其默认方案十分糟糕,预设过多错误,无法正确播放 10-bit 视频,一直饱受诟病.VCB ...

  5. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  6. ckplayer网页播放器简易教程

    前言 ckplayer是一款在网页上播放视频的免费视频插件,该插件兼容性强.使用简单.api齐全.另外,任何个人网站或商业网站在不修改右键版权的基础上都可以免费使用. 下面将对ckplayer的整个使 ...

  7. 基于ffmpeg网络播放器的教程与总结

    基于ffmpeg网络播放器的教程与总结   一.         概述 为了解决在线无广告播放youku网上的视频.(youku把每个视频切换成若干个小视频). 视频资源解析可以从www.flvcd. ...

  8. 历上最强的音乐播放器(jetA…

    原文地址:历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉化版)下载作者:盖世天星 历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉 ...

  9. [转载]历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX

    原文地址:历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉化版)下载作者:盖世天星 历上最强的音乐播放器(jetAudio-8.0.5.320-Plus-VX-完全汉 ...

随机推荐

  1. Spring MVC Restful Put方法无法获取参数值

    Spring MVC Restful 无法通过@ReqeustParam获取参数值 原因是Tomcat只支持POST/GET获取参数值,对于PUT这些方法需要通过HttpPutFormContentF ...

  2. IDEA之Jrebel插件激活

    问题: 码农日常中,热部署是必不可少的,而jrebel插件很好的实现热部署功能. IDEA下载jrebel插件,可以免费试用15天,但之后就无法使用.因为Jrebel是收费的. 解决方法: 楼主也是百 ...

  3. RadioButton的图标改变大小(TextView也适用)

    RadioButton的图标大小并没有相应的布局参数,本文通过自定义属性的方式自定义RadioButton,实现控制图片大小. 本文要点: 自定义属性的使用. 解决RadioButton文字上.下.左 ...

  4. c++ 中lambda

    C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作. 1.Lambda表达式完整的声明格式如下: [capture list] (params list) mutable  ...

  5. python实现维吉尼亚解密

    # -*-coding:UTF-8-*- from sys import stdout miwen = "KCCPKBGUFDPHQTYAVINRRTMVGRKDNBVFDETDGILTXR ...

  6. Linux实战案例(6)yum查找、卸载、和安装软件

    0.查找要安装的软件名字 yum search iostat就能查到以及iostat相干的安装包了, 别的想安装一个程序,只记得一部门名称,也可以用这个措施来实现安装 yum search png | ...

  7. 【52ABP实战教程】0.3-- 从github推送代码回vsts实现双向同步

    需求 在之前的文章中"[DevOps]如何用VSTS持续集成到Github仓库" 我们有讲述如何将vsts中的代码编译推送到github中,这一篇我们来完善,如果有人给你开源项目推 ...

  8. 为什么Java不能以返回值区分重载方法?

    读者可能会想:"在区分重载方法的时候,为什么只能以类名和方法的形参列表作为标准呢?能否考虑用方法的返回值来区分呢?" 比如下面两个方法,虽然他们有相同的名字和形式参数,但却很容易区 ...

  9. Java:现有线程T1/T2/T3,如何确保T1执行完成之后执行T2,T3在T2执行完成之后执行。

    要实现多个线程执行完成先后,就要知道如何实现线程之间的等待,java线程等待实现是join.java的jdk中join方法实现如下: public final synchronized void jo ...

  10. Struts(二十四):短路验证&重写实现转换验证失败时短路&非字段验证

    短路验证: 若对一个字段使用多个验证器,默认情况下会执行所有的验证.若希望前面的验证器没有通过,后面的验证器就不再执行,可以使用短路验证. 1.如下拦截器,如果输入字符串,提交表单后,默认是会出现三个 ...