本教程的内容已经过时,仅作为存档供参考。请通过主页导航链接查看更新的教程。


现在的高清视频观看体验,瓶颈不在片源,也不在制作,而是在播放器

——题记

 

看到logo那张对比图了么?曾经就有人拿着右边效果一般的截图来质问我,而正确的播放结果是左边——他当时是用了QQ影音。

 

阅读这篇文章之前,我假设你知道之前教程里的内容(http://www.vcb-s.com/archives/534),并且能够正确的开启madVR.

本文既有适合入门读者阅读的设置建议,也有适合进阶读者阅读的详细解释。前者用黑字标注,后者用蓝字标注。如果你觉得理解不能,你可以跳过某些解释部分。

部分教程内容取自http://lysandria1985.blogspot.sg/2013/01/3-madvr.html

 

为什么推荐madVR作为渲染器:

1、madVR可以实现更精确的颜色处理。madVR全程在16bit/32bit下进行运算,精度远高于EVR/VMR等8bit,并抖动到8bit RGB输出。madVR的高精度运算和轻微的抖动噪声有着掩盖色带色块等作用。如果片源是10bit,madVR搭配ffdshow/lav解码器也可以直接接收原生10bit的颜色输入,真正利用好10bit的精度优势。

2、madVR可以实现可调节的、高质量的图像放大缩小。一般的视频,经过了色度半采样(Chroma SubSampling)之后,播放时候会做两次调整大小:第一次将色度调整至亮度同样大小,并且将YUV转换为RGB,第二次将RGB图像放大缩小到你的屏幕或者播放器窗口大小。madVR不但提供了多种算法,还允许你微调其中的各种细节。

3、madVR可以大大降低颜色的出错几率。madVR的放大缩小算法不但能正确处理gamma issues,还能正确的根据片源的color matrix/range做正确的颜色转换,并免疫很多例如驱动程序等试图“优化”画面。

 

如何开启madVR的设置面板:

前提是你正确开启了madVR(见之前教程)。一般播放的时候,任务栏右下角有图标74_172445_4_lit,右键-edit madVR settings即可。如果没有,右键视频画面,选择滤镜-madshi video render,点击show tray icon可以开启右下角的图标,点击edit settings可以开启设置。

 

设置你的显示器类型

一般都选择digital monitor

74_172445_4_lit

properties,如果你是pc,选择0-255,如果是TV,选择16-235。原始颜色精度,一般8bit面板选8bit or higher。如果你是6bit dither到8bit的面板,推荐选择7bit。选择6bit/7bit可以减少色带问题,但是播放时候画面细微噪点更多。如果你发现你播放时候经常发现色带问题,你可以选择6bit/7bit。

74_172445_4_lit

device其他部分一般就不用改了。接下来的一些选项跟调色有关。显示器没有经过专业调色的就不用看了。经过专业调色的不妨看看这个文章,参数调的好,搭配优秀的显示器,madVR的播放效果可以轻松媲美顶级蓝光播放机:http://lysandria1985.blogspot.sg/2013/01/3-madvr.html

 

解码和反交错方面保持默认就好。常常看动漫的,可以在processing-deinterlacing中,取消勾选only look at pixels in the frame center.

[VCB-S]Toaru Majutsu no Index The Movie[Hi10p_1080p][BDRip][x264_flac].mkv_snapshot_00.27.24_[2013.09.08_20.20.54]

Scaling algorithms,就是放大缩小的算法。这部分是madVR设置的核心,对日常播放画质影响最为显著

 

在介绍不同的算法之前,我们先来了解一下放大缩小图片,不同的算法导致的效果,有好有坏:

锐利度(sharpness) vs “一糊遮百丑”(hide source artifacts)

[VCB-S]Toaru Majutsu no Index The Movie[Hi10p_1080p][BDRip][x264_flac].mkv_snapshot_00.27.24_[2013.09.08_20.20.54]

 

这是用一个低清烂画质做片源,全屏播放,采用不同的算法造成的效果对比。

锐利度(sharpness)是指细节突出能力,左边的算法锐利度就很高,感觉细节还原很强,图片似乎“分辨率高了”,但是源的缺点,比如毛糙的线条等也被突出;而右边画面显得很模糊,细节少,但是很好的掩盖了源的缺点。这两个优点几乎不可兼得,对于画质较好的源,我们优先选择锐利度。

aliasing(锯齿)

[VCB-S]Toaru Majutsu no Index The Movie[Hi10p_1080p][BDRip][x264_flac].mkv_snapshot_00.27.24_[2013.09.08_20.20.54]

 

锯齿(aliasing)就是所谓的狗牙。表现为线条好像锯齿一般不连续,甚至断断续续的。这是图像放大缩小时候需要全力避免的。

ringing(光环)

[VCB-S]Toaru Majutsu no Index The Movie[Hi10p_1080p][BDRip][x264_flac].mkv_snapshot_00.27.24_[2013.09.08_20.20.54]

光环(ringing)是指线条边缘的环型光晕。注意上图index双手外侧的“特效”。ringing也是放大缩小过程中必须尽力避免的。

madVR提供了这一系列的算法:

[VCB-S]Toaru Majutsu no Index The Movie[Hi10p_1080p][BDRip][x264_flac].mkv_snapshot_00.27.24_[2013.09.08_20.20.54]

从上到下,效果趋于更好,但是开销也基本更大。

Nearest Neighbor和bilinear可以全部调用GPU流处理器完成;DXVA2则是调用GPU自带的解码模块(效果根据GPU而定,不过一般不会太好),下方就是需要CPU+GPU合力运算。bicubic可以选择锐利程度,softcubic可以选择模糊程度(一糊遮百丑),lanczos/spline/jinc可以选择taps(采样数量),taps越多,锐利程度越高,锯齿越少,ringing越重,开销也越大。

active anti-ringing filter(简称ar)可以开启抗光环处理,也容易在downscale时候增加锯齿。

scale in linear light可以增加image downscale转换之后,颜色对比度的精确性。建议在image downscale中开启。其实是让madVR做gamma-aware的resize,这个概念可以阅读http://www.nmm-hd.org/newbbs/viewtopic.php?f=5&t=1286

面对这么多选项,怎么快速知道选什么效果如何呢?madVR在右上方提供了形象的(但是不一定完全符合目视效果需要的)介绍:

sharpness,锐利程度,绿色条越长表明越高,一般也越好。一般情况下,upscale(放大)时候优先保证这一项的效果。downscale(缩小)则不是第一要务

hide source artifacts,掩盖片源缺陷,绿色条越长表明越高,掩盖效果更好。

aliasing,锯齿,红色越长表明越高,狗牙效果更严重。选择效果好开销大的算法,并且增加taps数量有助于减少锯齿

ringing,光环,红色越长表明效果越高,光环”特效“更严重。image downscale中不明显,但是upscale会很明显。勾选active anti-ringing filter可以有效减少光环程度

other artifacts,其他的问题,红色越长越严重,一般没啥其他大问题就是。。。

以下是我个人的推荐,适合画质较好的视频(感谢mawen1250的讲解评点)

显卡等級         chroma upscaling                image upscaling                 image downscaling

哥看的是寂寞  Jinc 8 taps + AR               Jinc 8 taps + AR + linear light  lanczos 8 taps + AR + linear light

高                    Jinc 4 taps + AR                 Jinc 4 taps + AR                   spline 3 taps + linear light
                                                                                                               
次高                  Jinc 3 taps + AR                 jinc 3 taps + AR                  spline 3 taps + linear light                                                                                                                                                                                  
中间                  softcubic 60                      lanczos 4 taps + AR             Catmull-Rom + linear light

中低                  softcubic 60                      bicubic sharpness 75           Catmull-Rom

最低                  bilinear                              bilinear                                bilinear

Chroma Upscaling优先保证不出什么问题,然后是锐利程度,能开Jinc+ar就开,不能就用softcubic 50-70

Image Upscaling优先保证锐利程度,搭配AR控制ringing

image downscaling用Spline 3taps一般实际观感效果较好

 

在你播放不卡顿的前提下,选择尽量高的设置(可以使用fraps查看帧率,全屏模式下应该是等于你显示器刷新率,窗口模式下一般是输出帧率。也可以用GPU-Z查看GPU负荷,不到90%什么的基本就没问题了)。注意,很可能播放低分辨率的视频,反而能让你卡死,因为上述推荐设置中,放大算法更加消耗运算量。

GTX 780Ti Quad SLI也许可以征服目前的一切游戏,但是绝对征服不了开了Jinc 8taps+AR 跑《炮姐时代》的madVR

接下来是渲染中的选项,基本没有太重要的。General settings推荐如下配置,可以减少全屏播放下画面撕裂,但是特别容易引驱动之类的bug。如果你全屏幕播放有问题,下面的勾全部取消,否则开启:

74_172445_4_lit

 

smooth motion,可以平滑动态画面场景的一个功能。对于动漫等很好用,虽然消耗不小,但是建议开启(开了svp的请无视这个功能):

[VCB-S]Toaru Majutsu no Index The Movie[Hi10p_1080p][BDRip][x264_flac].mkv_snapshot_00.27.24_[2013.09.08_20.20.54]

trade quality for performance,这里面都是牺牲画质来换取流畅度的。其中不少可以勾选,比如显示器颜色精度够渣(笔记本那种6bit抖动面板什么的)的可以勾选这几项(反正输出只有不到8bit的精度,中间运算精度太高也没用

[VCB-S]Toaru Majutsu no Index The Movie[Hi10p_1080p][BDRip][x264_flac].mkv_snapshot_00.27.24_[2013.09.08_20.20.54]

 

 

最后一项是设置快捷键了。这个不多说。某些有需要的可以设置

比如特地设置Chroma Upscaling Algorithm中的softcubic 和 jinc。这样当你观看效果较好的视频用Jinc,否则用softcubic

 

 

在 Windows 系统中启用长路径功能

从本月起我们的成品可能不再遵从较为严格的路径长度限制。这篇文章将简单介绍如何在 Windows 系统中启用长路径功能。 Windows 系统中较为保守的最大路径...

阅读全文

VCB-Studio 视频播放器推荐及教程索引

(Image Credit: しおん@pixiv) 目前我们推荐的播放器可以分成两大阵营:mpv 和 MPC。前者跨平台,后者仅限 Windows。 mpv mpv 可以在 Windows、macOS 和桌面...

阅读全文

基于 MPC-HC 和 madVR 的播放器配置入门

之前的 MPC 系教程和 madVR 教程都有些过时了。老教程直接通过注册表来设置虽然简单直接,但不利于维护,索性重新写一篇。 和 mpv 的教程 类似,本教程只提及...

阅读全文

244 条评论

  1. 哇~照著LittlePox大大的教學,使用最高階的設定,竟然還可以撥放OAO
    不過顯卡使用率飆到75%了,而且播放時驅動程式介面會不能用。。。
    謝謝組長的教學,畫質真是超讚的

  2. 我像要請問一下~
    我播[Hi10p_1080p][x264_2flac]的都沒有問題
    可是如果是[Ma10p_1080p][x265_flac]的話就會一直卡卡的
    有什麼解決辦法嗎~?謝謝啦!!

      1. 中間 softcubic 60 lanczos 4 taps + AR Catmull-Rom + linear light
        GPU測起來大概70%左右
        我有試過把他調成最低階的
        最低 bilinear bilinear bilinear
        GPU只有10幾%
        可是畫面和聲音都還是會有點lag

  3. 求教,如果我在1366×768的屏幕上看1920×1080的视频,是不是只需要设置image downscaling?其他的能不能直接选硬解?

    1. 并不是,因为通常视频都是YUV420格式保存的,亮度(luma)、色度(chroma)分开保存,色度分辨率只有亮度分辨率也就是标值分辨率的一半,所以在image downscaling之前还要经过一轮chroma upscaling,将色度分辨率拉大到和亮度一样的分辨率才能进行image downscaling

  4. 我在最近没有任何更新madVR教程的意愿,理由有二:
    1. madVR新增的那些高级播放算法,我的笔记本屏幕什么都看不出;
    2. madVR新增的那些高级播放算法,我笔记本完全跑不起。
    不经过亲自测试比较,纯凭参照和脑补写教程,写出来的也是不负责任,纯粹给观众开脑放罢了。

  5. 话说,有打算更新一下这篇教程么?
    MadVR现在的版本相比教程中的版本,缩放算法中多了NNEDI和super-xbr,我搜索了一下好像相比Jinc都有所提升。但是我尝试了几次调试,发现都无法像之前Jinc那样保持输出60FPS左右,往往会掉到50FPS
    请问新版本MadVR中,哪些设置对性能表现影响比较大呢? 我是GTX960m

    1. 我的建议是:笔记本用户放弃独显,使用集显。渲染器使用evr或低参数madvr。
      一定要用独显折腾的话,记住:a卡比n卡快得多,nnedi和xbr不是960m能跑的,我用680m都带不动xbr。

        1. XBR 960M带的动,但是讲道理笔记本用jinc+ar已经足够。个人意见 nnedi和xbr带来的提升主要体现在大尺寸4k屏幕上,再说拼着80%显存占用率看动漫还要忍受风扇的咆哮实在划不来

          1. 普遍上來说确实如此(例如在1366*760的笔记本上看新番(720P))
            不過放大系数超过2倍的时候(例如sd→fhd),就值得使用xbr取代jinc了(耗费资源差一点点而已)
            然后还有一点是xbr在choma upscaling 是优秀于jinc+ar又比jinc+ar还要高速,可以完全取代。

            PS.我的机器比较奇葩,笔记本配置的台式机,完全没风扇问题。(噪音最大在28db)

    2. 看以参考个人的这个等级分类表和自己的GPU负荷选取相应的等级,
      super-xbr基本上可以在大部分情形完全取代jinc+ar,
      madshi也这么说,
      jinc目前的优势在于可以非整数倍放大

  6. enable automatic fullscreen exclusive mode开启以后只要鼠标移动到了边缘就会不断切模式,一会全屏,一会窗口,但是如果把PotPlayer的播放窗口也选择为全屏独占模式就没这个问题,但是没有办法使用选项等窗口了,所以选择“待UI完成时再处理”就可以完美启开全屏独占模式了。

    但是我遇到个问题,Ctrl+J以后看到的是D3D9 exclusive [new path]而别人的似乎都是D3D11啊,我是WIN7 64BITS,已经是DX11了,为什么开启DX11失败啊?

    1. 另外如果我开启视频滤镜屏幕右边就会有大概100个像素宽的一个竖条灰白色带状区域,就像这个区域的画面颜色都变浅了一样,关闭视频滤镜就好了。

      我是新装的机器,下的原版POT madVR和LAV,madVR是0.89.17,显卡750ti OC版,显卡驱动是358.91.

      1. 没用,这个我肯定点了,不管点不点都是D3D9,一样,而且我点开PotPlayer的属性以后也认为我是DX9,但是我其实装了DX11啊

        [OS]
        Version: Windows 7 or Later(6.1)
        Bits: Native 64
        DirectX: 9.0c(4.09.00.0904)
        Direct3D 9Ex: OK

        [Direct3D 9 Device: 0]
        GetAdapterIdentifier.Driver: nvd3dumx.dll
        GetAdapterIdentifier.Description: NVIDIA GeForce GTX 750 Ti
        GetAdapterIdentifier.DeviceName: \.DISPLAY1
        GetAdapterIdentifier.DriverVersion: 0xa0012000d1703
        GetAdapterIdentifier.VendorId: 0x10de
        GetAdapterIdentifier.DeviceId: 0x1380
        GetAdapterIdentifier.SubSysId: 0x84bb1043
        GetAdapterIdentifier.Revision: 0xa2
        GetAdapterIdentifier.DeviceIdentifier: {D7B7XXXX-XXXX-XXXX-FXXXX-B6A41FC2XXXX}
        GetAdapterIdentifier.WHQLLevel: 0x0
        D3DCAPS9.Caps: 0x20800
        D3DCAPS9.Caps2: 0xe0020000
        D3DCAPS9.Caps3: 0x7a0
        D3DCAPS9.PresentationIntervals: 0x8000000f
        D3DCAPS9.CursorCaps: 0x1
        D3DCAPS9.DevCaps: 0x1bbef0
        D3DCAPS9.PrimitiveMiscCaps: 0x2fcef2
        D3DCAPS9.RasterCaps: 0x7732191
        D3DCAPS9.ZCmpCaps: 0xff
        D3DCAPS9.SrcBlendCaps: 0x3fff
        D3DCAPS9.DestBlendCaps: 0x3fff
        D3DCAPS9.AlphaCmpCaps: 0xff
        D3DCAPS9.ShadeCaps: 0x84208
        D3DCAPS9.TextureCaps: 0x1ecc5
        D3DCAPS9.TextureFilterCaps: 0x3030700
        D3DCAPS9.CubeTextureFilterCaps: 0x3030300
        D3DCAPS9.VolumeTextureFilterCaps: 0x3030300
        D3DCAPS9.TextureAddressCaps: 0x3f
        D3DCAPS9.VolumeTextureAddressCaps: 0x3f
        D3DCAPS9.LineCaps: 0x1f
        D3DCAPS9.MaxTextureWidth: 16384
        D3DCAPS9.MaxTextureHeight: 16384
        D3DCAPS9.MaxVolumeExtent: 2048
        D3DCAPS9.MaxTextureRepeat: 8192
        D3DCAPS9.MaxTextureAspectRatio: 16384
        D3DCAPS9.MaxAnisotropy: 16
        D3DCAPS9.MaxVertexW: 10000000000.000000
        D3DCAPS9.GuardBandLeft: -100000000.000000
        D3DCAPS9.GuardBandTop: -100000000.000000
        D3DCAPS9.GuardBandRight: 100000000.000000
        D3DCAPS9.GuardBandBottom: 100000000.000000
        D3DCAPS9.ExtentsAdjust: 0.000000
        D3DCAPS9.StencilCaps: 0x1ff
        D3DCAPS9.FVFCaps: 0x180008
        D3DCAPS9.TextureOpCaps: 0x3feffff
        D3DCAPS9.MaxTextureBlendStages: 8
        D3DCAPS9.MaxSimultaneousTextures: 8
        D3DCAPS9.VertexProcessingCaps: 0x13b
        D3DCAPS9.MaxActiveLights: 8
        D3DCAPS9.MaxUserClipPlanes: 8
        D3DCAPS9.MaxVertexBlendMatrices: 4
        D3DCAPS9.MaxVertexBlendMatrixIndex: 0
        D3DCAPS9.MaxPointSize: 8192.000000
        D3DCAPS9.MaxPrimitiveCount: 16777215
        D3DCAPS9.MaxVertexIndex: 16777215
        D3DCAPS9.MaxStreams: 16
        D3DCAPS9.MaxStreamStride: 255
        D3DCAPS9.VertexShaderVersion: 0xfffe0300
        D3DCAPS9.MaxVertexShaderConst: 256
        D3DCAPS9.PixelShaderVersion: 0xffff0300
        D3DCAPS9.PixelShader1xMaxValue: 65504.000000
        D3DCAPS9.DevCaps2: 0x51
        D3DCAPS9.MaxNpatchTessellationLevel: 0.000000
        D3DCAPS9.MasterAdapterOrdinal: 0
        D3DCAPS9.AdapterOrdinalInGroup: 0
        D3DCAPS9.NumberOfAdaptersInGroup: 1
        D3DCAPS9.DeclTypes: 0x30f
        D3DCAPS9.NumSimultaneousRTs: 4
        D3DCAPS9.StretchRectFilterCaps: 0x3000300
        D3DCAPS9.VS20Caps.Caps: 0x1
        D3DCAPS9.VS20Caps.DynamicFlowControlDepth: 24
        D3DCAPS9.VS20Caps.NumTemps: 32
        D3DCAPS9.VS20Caps.StaticFlowControlDepth: 4
        D3DCAPS9.PS20Caps.Caps: 0x1f
        D3DCAPS9.PS20Caps.DynamicFlowControlDepth: 24
        D3DCAPS9.PS20Caps.NumTemps: 32
        D3DCAPS9.PS20Caps.StaticFlowControlDepth: 4
        D3DCAPS9.PS20Caps.NumInstructionSlots: 512
        D3DCAPS9.VertexTextureFilterCaps: 0x3030700
        D3DCAPS9.MaxVShaderInstructionsExecuted: 65535
        D3DCAPS9.MaxPShaderInstructionsExecuted: 65535
        D3DCAPS9.MaxVertexShader30InstructionSlots: 4096
        D3DCAPS9.MaxPixelShader30InstructionSlots: 4096

  7. FFMPEG作为原始解码器完全吃的CPU,后面渲染走MADVR完全吃GPU,两边独立开来,并且FFMPEG在potplayer里面倍帧是有效的,如果换了LAV则倍帧无效,并且madVR的插帧功能似乎全程都没有什么卵用,FFMPEG先把24帧插到48帧,再有MAD加到60帧【madVR插的似乎没体现出来】,刚开始画面流畅到不适应,现在看习惯了在看24帧普通片时候反而觉得卡。缺点是FFMPEG插帧貌似是方块区域分割采样插,所以画面平移缩放下效果很好,画面内容变动较大,烟雾,爆炸,脸部表情夸张时,则有闪影。
    今天尝试了下LAV发现插帧功能没有用了,画面不流畅,还是还回来了FFMPEG
    E3-1245 V3+GTX960 ,显卡满载

      1. 所以还是直接在POT PLAYER里面 直接播放时候勾选 倍帧吧,画面大幅变动时候线条边缘会有方块出现,不近看尚可接受

  8. 注意事项:N卡用户并且系统是win10的看下,如果你使用驱动版本是353.62或者之后的版本,并且你的显卡不支持D3D11,那么你将无法使用NNEDI3这个版本。解决方法是换显卡或者换系统或者换353.62之前的驱动就行。

  9. 我的GTX960M用他跑影片都黑屏(筆電)
    但是不用他就可以 可是他就用雙核CPU在跑
    雖然最高的時候會跑到70幾% 熱量也還好60而已
    可是真不解為何不讓我用N卡跑呢

  10. 十月一号更新的完美解码播放BD原盘的m2ts文件全是沙沙的噪音…
    虽然跟madvr没啥关系..
    我还是想问问谁知道解决办法?

  11. 请问下 evr和madvr在色彩和亮度上 是不是差别不大?之前用evr和madvr,发现madvr的色彩更鲜艳亮丽,后来换了显卡重装了驱动,发现2个滤镜在色彩和亮度上几乎没太大区别,这是怎么回事?

欢迎留言

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据