之前的 MPC 系教程和 madVR 教程都有些過時了。老教程直接通過註冊表來設置雖然簡單直接,但不利於維護,索性重新寫一篇。

mpv 的教程 類似,本教程只提及最具普適性的選項,不為播放“高清病毒”,也不追求“極限畫質”而故意榨取 CPU 和顯卡性能。

本教程基於 K-Lite Codec Pack Full,其中已經包含了 MPC-HC 和 madVR。MPC-HC 現在已由 clsid2(原 MPC 6.4.9.1 開發者)接手繼續開發,而 madVR 應該已經不需要再多做介紹。

madVR 其實並不需要很高的硬件性能就可以達到相當好的效果,所以默認建議使用。如果你不想使用 madVR,也可以選擇 K-Lite Codec Pack Standard 或者 MPC-BE。我們不推荐使用 PotPlayer

安裝

直接從前文給出的 K-Lite Codec Pack 官网链接下載安裝包,運行即可。安裝過程中的大部分選項都可以保留默認,除了下面這兩處:

– 因為我們要默認使用 madVR 作為視頻渲染器,所以這裡要選擇“Video renderer: madVR”

(當然,如果你不用 madVR,這裡保留默認的“MPC Video Renderer”就好)

– 為了保證播放穩定可靠,我們一般建議只使用軟件解碼(見後文補充說明)

友情提示,K-Lite Codec Pack 安裝包可能捆綁有贊助推廣軟件,不需要的話記得留意把它取消安裝。

簡單配置

K-Lite Codec Pack 默認使用 MPC-HC 作為播放器,對於大部分常見的視頻文件格式和編碼都默認使用 LAV 分離器和解碼器,設置都沒有什麼需要特別修改的地方。你只需要看看播放器的其他行為設置,讓它更符合你的操作習慣即可,例如啟動時默認進入全屏模式、快捷鍵等等。

如果你不用 madVR,默認會使用 MPC Video Renderer 作為渲染器,默認設置也不需要改動。

madVR 配置

如果你使用 madVR,接下來我們還有一些關於 madVR 的配置建議。

– 如果你正在使用顯示器自帶的出廠色彩校正模式,或者是已通過硬件校色校準的顯示器,可以在這裡選擇“this display is already calibrated”,並在下方選擇對應的色域,例如 sRGB 則選擇“BT.709”(sRGB 和 BT.709 的色域是完全相同的),DCI-P3 則選擇“DCI-P3”,gamma 一般保留默認的“pure power curve 2.20”即可:

當然,如果你通過軟件對屏幕進行了校色,這裡應該選擇“calibrate this display by using eternal 3DLUT files”,詳見後文補充說明。

– 打開 madVR 自帶的去色帶功能,強度保持默認的“low/high”即可。色帶是最為常見的視頻瑕疵之一,默認啟用去色帶是利遠大於弊的:

– 很多時候,我們的顯示器刷新率不是片源幀率的整數倍(例如顯示器刷新率通常為 60 Hz 而動畫通常為 23.976 fps),此時會因每一幀實際在屏幕上的呈現時間不均等而造成卡頓感(俗稱 3:2 pull down judder)。madVR 的 smooth motion 功能正是為此設計,建議默認打開:

– madVR 自帶的各種縮放算法(scaling algorithms)是其最大特色之一。這裡我們提供三套推薦的縮放算法相關配置,按對性能的要求分為低、中、高三檔:

chroma upscaling image downscaling image upscaling
Cubic (Bicubic50) Cubic (Bicubic50) + LL Lanczos (3 taps) + SL
Cubic (Bicubic50) + AR Cubic (Bicubic50) + LL + AR (relaxed) Jinc + AR + SL
super-xbr (100) + AR SSIM (1D – 100%) + LL + AR (relaxed) NGU Sharp (medium)
  • LL =“scale in linear light”
  • SL =“scale in sigmoidal light”
  • AR =“activate anti-ringing filter”
  • NGU Sharp 除了選擇“luma doubling”質量以外,其餘全部保留默認的“let madVR decide”即可
  • 需要指出的是,這裡對性能要求的高低並不絕對等同於畫質的高低,“低”檔設置的質量其實已經相當好了,而“高”檔設置在一些低質量片源上反而有可能放大片源瑕疵。綜合來說我們最推薦“中”檔設置,是在畫質、功耗和泛用性之間較為平衡的選擇。

    以“中”檔為例,設置完成後應該是如下圖的狀態:

    在完成本文的配置後,你可以打開一個碼率較高的視頻,按下 Ctrl + j 觀察顯示的 dropped frames、delayed frames 和 presentation glitches 這幾項計數,如果播放一段時間後這幾個數字都保持穩定沒有增加,則基本可以確定視頻播放沒有什麼問題了:

    madVR 功能很豐富,這裡不打算一一詳解。再次推薦有意了解的同學閱讀暮星(万年冷冻库)的这篇文章

    使用 XySubFilter with libass 字幕渲染器

    對 Windows 平台上字幕渲染器的歷史有些了解的朋友大概都知道 VSFilter (DirectVobSub) 到 xy-VSFilter/XySubFilter 的演化過程。原版 VSFilter 早已作古,其改版 xy-VSFilter/XySubFilter 開發也基本停滯,留有不少陳年 bug,在 4K 分辨率開始普及後性能問題也開始凸顯。另外,VSFilter 系只支持 Windows 平台上基於 DirectShow 的播放器(如 MPC 系、PotPlayer),無法跨平台使用。libass 則是一個另起爐灶的跨平台字幕渲染器,性能也更佳,諸如 mpv、VLC 和很多移動平台上的播放器都使用 libass 來渲染字幕,近年來越來越普及。

    由於 VSFilter 系長期的壟斷地位而成為事實標準,絕大部分字幕組只能以 VSFilter 的渲染結果為準來製作和調整字幕顯示效果(例如額外增大部分 OTF 字體豎排時的字號來彌補字體顯示會變小的 bug)。libass 最近做出了一些妥協性修改,顯示效果絕大部分時候都已經與 VSFilter 一致。因此,現在是擺脫 VSFilter 的歷史包袱,遷移到 libass 的一個好時機。

    XySubFilter with libass 就是在 XySubFilter 基礎上修改以 libass 作為後端的字幕渲染器,讓 DirectShow 播放器也能享受到 libass 高性能而不犧牲兼容性,推薦大家使用。

    安裝過程非常簡單,只需要到项目的 GitHub 发布页面下載最新版本,解壓到一個合適的位置,以管理員身份運行 Install_XySubFilter.bat,然後在 MPC-HC 的選項中啟用即可:

    補充說明

    使用 HDMI 連接顯示器時注意設置輸出範圍

    Intel 集成顯卡和 NVIDIA 顯卡有時會在使用 HDMI 輸出時,默認使用有限範圍(limited range),嚴重影響顯示對比度。所以在使用 HDMI 連接顯示器時,要注意檢查輸出範圍,在顯示控制面板中將輸出範圍設置為全範圍(full range),如果控制面板中沒有提供選項,可以藉助 madVR 附帶的 madLevelsTweaker.exe 工具來調整。

    DVI、DisplayPort 默認應該就是全範圍,筆記本電腦的自帶屏幕一般也不需要專門設置。

    是否應該開啟硬解(硬件解碼)?

    近幾年的主流 PC 對最常見的視頻編碼(H.264 和 H.265)硬解的支持已經有了一些提高,但出現各種問題的幾率仍不算低。為了保證播放穩定可靠,我們一般建議只使用軟件解碼。如果你有其他需求,例如希望降低筆記本電腦功耗、提高電池續航,可以嘗試開啟硬解。

    首先打開 K-Lite Codec Pack 的 Codec Tweak Tool,選擇 Configuration – DirectShow Filters – LAV Video Decoder (MPC-HC) 打開 LAV 解碼器設置界面,然後在右上角選擇“D3D11”:

    如果在硬解開啟時播放遇到奇怪問題,應該首先嘗試禁用硬解來排查。

    關於雙顯卡筆記本的設置

    如果你使用的是集成顯卡 + NVIDIA 獨立顯卡的筆記本,默認設置下 MPC-HC 只會調用集成顯卡來進行渲染計算,性能有限。如果你發現播放時顯卡性能成為瓶頸,可以嘗試改用更高性能的獨立顯卡。

    NVIDIA 控制面板屏蔽了 MPC-HC 默認的主程序文件名 mpc-hc64.exe,本來是無法直接設置使用獨立顯卡的。K-Lite Codec Pack 在安裝時如果檢測系統環境中有雙顯卡(NVIDIA Optimus)存在,會自動將 MPC-HC 主程序文件名改為 mpc-hc64_nvo.exe。如果你的 MPC-HC 主程序仍然是 mpc-hc64.exe,需要先改個名字,或者用 NVIDIA Profile Inspector 解鎖。詳情可以參考这里

    然後在 NVIDIA 控制面板 – 3D 設置 – 管理 3D 設置 – 程序設置下,添加 MPC-HC 主程序,將首選圖形處理器改為“高性能 NVIDIA 處理器”,並將電源管理模式改為“自適應”。

    使用 ICC profile 為 madVR 生成 3DLUT 文件實現色彩管理

    我們需要用到校色軟件 DisplayCAL 配套的一個小程序 3DLUT Maker。首先從 DisplayCAL 官网下載安裝(如果你還沒有的話),然後運行 3DLUT Maker,“Destination profile”選擇你顯示器的 ICC profile 文件,確保“Apply calibration (vcgt)”不勾選,文件格式當然是“madVR (.3dlut)”,其餘保持默認即可:

    點擊右下角按鈕,選擇保存位置,完成後,把得到的 .3dlut 文件放在一個合適的位置,然後打開 madVR 設置,按下圖設置,確保“disable GPU gamma ramps”不勾選:

    然後保存設置即可。

    在 Windows 系統中啟用長路徑功能

    從本月起我們的成品可能不再遵從較為嚴格的路徑長度限制。這篇文章將簡單介紹如何在 Windows 系統中啟用長路徑功能。 Windows 系統中較為保守的最大路徑...

    阅读全文

    VCB-Studio 視頻播放器推薦及教程索引

    (Image Credit: しおん@pixiv) 目前我們推薦的播放器可以分成兩大陣營:mpv 和 MPC。前者跨平台,後者僅限 Windows。 mpv mpv 可以在 Windows、macOS 和桌面...

    阅读全文

    跨平台播放器 mpv 配置入門

    mpv 是著名開源項目 MPlayer 的分支,因其對最新軟硬件平台、視頻標準以及各種高畫質選項的支持而廣受好評,也是目前非 Windows 平台上高畫質播放器的不二選...

    阅读全文

    226 条评论

    1. 看HDR視頻的時候窗口化發灰,全屏以後正常,但是點擊鼠標或者菜單、進度條又會發灰,黑屏一下後恢復正常。這樣是正常的嗎?

      1. 回復給SliverVicious: 我相反,窗口化正常全屏後發灰,全屏後點擊鼠標菜單後的正常,估計是全屏獨佔和窗口化時渲染的問題……

    2. 1,mpchc(開了smooth motion)和mpvnet在播放“[SFEO-Raws] THE BIG O – 26 (BD 1080P x264 ALAC).mkv”時,4分50至5分30段都有相當明顯的抖動,這個該如何調試會更好呢?(屏幕刷新率我改成了59.94hz,但似乎不是這個問題)
      2,mpchc在播放“[SFEO-Raws] THE BIG O – 26 (BD 1080P x264 ALAC).mkv”時,不時會出現明顯的橫條紋(似乎以前potplayer加上了lav和madvr後播放一些視頻時也會這樣),這個該如何調試會更好呢?

      ps:下的是“20yrs ago – [1999-2003] THE BIG O_魅影巨神(THEビッグオー)_TV”這個【大約幾天前還不懂壓制組的重要性,隨便選的(】

      1. 回復給WhiteSeason: 看了cl第一季第一集(mawen版),高速動的時候還是略有抖動,然後開了垂直同步好像又沒問題了……但不知道開垂直同步會不會丟失視頻關鍵信息

    3. mpc播放視頻時,打開ass格式彈幕,彈幕滑過時很卡頓,幀數較低。後來發現彈幕幀率和視頻幀率綁定,播放60幀視頻時,彈幕才能以60幀播放。(試了PotPlayer也一樣)
      請問如何在播放任何視頻時都能使彈幕流暢播放?

    4. MPC-HC internal subtitle renderer now has option to use libass
      2023.08.03版本內置字幕渲染器可以選擇使用libass,是否可以省一步使用內置字幕渲染器?

      1. 回復給菲昌: 你測試過嗎。xysublibass 是經過大量實際渲染測試過能保證大多數情況正確輸出的。如果你覺得內置libass達到了這個程度,那就能。

    5. 請教一下,我在播放視頻的時候確實遇到了文中提到的limited range問題,可以在OSD菜單上看到"limited range (says upstream)"。但是我已經在Nvida控制面板中顯示器的的output dynamic range調整到了full(0-255),這種情況OSD所報告的limited range是由什麼原因造成的呢?

      1. 你看到的是視頻源(輸入)的數值範圍,不是輸出到你顯示設備上的範圍。

        前者幾乎總是 limited range,這很正常。

      1. 回復給淡定的漁民: 一樣的問題,dropped frames最多個位數, presentation glitches 會一直增加到上百,筆記本風扇還起飛了

      2. 回復給淡定的漁民: 同問題加一,不知道是不是應該調整madvr的參數來解決,我調過各種參數,覺得rendering最有可能。因為波動最大。但苦於不懂這些參數原理,根本沒辦法解決

    6. 以此方式配置的mpc-hc載入字幕有問題。可以正常顯示外掛字幕,但是無法選擇字幕軌,也無法調整字幕延遲修正。

    7. 感謝。請問大佬對於1080p在2k顯示器上播放不能點對點從而導致模糊的情況有啥處理方法嗎?我曾經試着放大ngu sharp veryhigh,縮小強制用jinc+ll,效果不怎麼好

      1. 回復給軒墨貝貝: 導致模糊的最大原因是碼率不足(信息量不足)而不是“不能點對點”。信息量不夠什麼縮放算法都救不回來(N卡VSR可緩解)。

      2. 回復給軒墨貝貝: 我用Anime4K超分辨率到4K然後降到2K,會感覺好些。MPC和PotPlayer可以用Anime4KCPP的DSFilter,雖然作者棄坑了,但是算比較新。

      1. 回復給信: 隨便打開個視頻,alt+p快捷鍵呼出“播放”菜單,找到“回放結束後”,選擇“播放文件夾中下一個文件”

    欢迎留言

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