本教程的內容已經過時,僅作為存檔供參考。請通過主頁導航鏈接查看更新的教程。


現在的高清視頻觀看體驗,瓶頸不在片源,也不在製作,而是在播放器

——題記

 

看到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来减少垃圾评论。了解我们如何处理您的评论数据