之前的 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 平台上高畫質播放器的不二選...

    阅读全文

    285 条评论

    1. 我想問下,我是核顯筆記本,之前都好好的用了一年多了,今天開始突然播放視頻就花屏,用系統自帶的播放器就沒問題,這個是什麼原因,有大佬幫看看嗎?

    2. 筆記本i913980HX+4070,MPC_HC 18.6.3,關閉硬件解碼,改了跑在獨顯上,masVR配置低中高都是試了個遍沒太大差別,播放3840×2160 @120fps視頻downscale到2560*1440時(外接屏幕),dropped frames和presentation glitchs一直會緩慢增加,偶發大掉幀導致畫面卡頓,平均rendering 大概3.5ms,有沒有大佬知道怎麼回事?

      1. 回復給 aa: 你可以用MKVToolNix的附件功能把字體直接打包在MKV文件里,那樣手機和電視也能正常加載字體。lolihouse好像還開發了一個工具,可以節省打包字體後的體積。不過我都是直接右鍵選擇把字體為全部用戶安裝,常用的字體不多,遇上一個裝一個,長時間下來也就幾G大小。

    3. 您好,不知道為什麼,我按照教程使用 K-Lite Codec Pack (MPC-HC + madVR)看低分辨率視頻,顯示效果仍然是模糊的低分辨率,和其他普通播放器播放沒有區別,請問如何可以讓低分辨率視頻變得銳利呢?謝謝

    欢迎留言

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