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

    阅读全文

    290 条评论

      1. 4k 視頻的分辨率就是 4k,不是你能改的。

        掉幀嚴重可能是性能不足,這時你應該:
        – 參考本教程調低 madVR 配置;
        – 還不行的話,說明電腦性能實在不夠,那就別看 4k 了,重新下載一個 1080p 版本;
        – 或者,升級電腦配置。

    1. 我在用文中推薦的XySubFilter with libass出現了一點問題,我下了Moozzi2的少女歌劇劇場版(1920×804),搭配從櫻都字幕組的片源中的分離的字幕(他們在電影上下加了兩條大黑邊,拉成了16:9的片源,櫻都的字幕顯示在那兩條大黑邊中),在用這個播放時,字幕全部被壓在了動畫畫面里,特效字幕也全部錯了位。之前用potplayer時也有這種情況,但可以通過取消將文本字幕輸出到畫面內選項來正常顯示。請問這個有什麼辦法解決。

      1. 回復給 QiaoMao: ass字幕(其他類型的我不懂)的定位和視頻的長寬比有關,你用的字幕和視頻不對應,所以文字和特效位置也不對。

      2. 回復給 QiaoMao: 改用mpv-lazy後已解決,在mpv-lazy的github wiki上官方發布了一個【FAQ 常見問題解答】,其中有提到16:9的字幕顯示在不同比例的視頻中的錯位問題的解決辦法,在input_uosc.conf中添加一條<key> vf toggle pad=aspect=16/9:x=-1:y=-1(key為快捷鍵)就可以了。

    2. 老哥你好,播放本地HDR視頻的時候,顯示器會黑一下然後切換成了BT.2020,但是畫面是灰的,視頻也是灰的,應該怎麼解決呢?

      1. 回復給 andiiwork: 如果你的顯示器不支持HDR,播放器也沒配置HDR轉SDR,那就播出來就是這樣的。請自行搜索madvr如何配置HDR相關設置,論壇上應該也有相關教程。

        1. 回復給 sinsanction: 顯示器是支持的,而且可以自動切換,之前用potplayer的時候有一個H/W選項,開了之後就能正確顯示色彩

    3. 我的顯示器是2k的,而貴組壓制的片源多為1080p的,在顯卡性能支持的情況下建議使用N卡超分辨率嗎?potplayer要開啟超分辨率的話必須使用自帶的Direct3D 11視頻渲染器,與madvr衝突,不知是否會得不償失

      1. 回復給 mitsuha: 同問,一直想知道2k顯示器播放1080p不能點對點的問題有啥好解決辦法,madvr哪種渲染器在這方面會有奇效

    4. 給遇到presentation glitches不斷增加的同學們提供一個可能的解決方案
      參照http://bugs.madshi.net/view.php?id=623
      把windowed mode 裡面 …after copy to backbuffer 選項 改成 flush&wait(sleep) 即可解決

    5. 用mpc-hc打開視頻最底下顯示“正在打開”之後就會自動閃退。視頻用別的播放器都能正常打開,mpc-hc也能正常啟動(只要不打開視頻)。重裝軟件也不能解決,求助

    6. 下載了ass外掛字幕並且文件里附帶了txt格式的“工程信息”(?),但是我只知道ctrl-j手動選擇字幕文件,而且下一次播放又要重新選擇,求教怎麼操作可以讓mpc記憶字幕文件?網上找了半天,搞不清楚這個“工程信息”怎麼用。。。

      1. 回復給 Mi-kon: 字幕直接和對應視頻文件放同一個文件夾里,把怎麼重命名成視頻文件的名字.MPV可以開啟自動識別功能,mpc不知道。

    7. 我是34寸的帶魚屏,看21:9比例的視頻有4條黑邊,使用madvr去黑邊功能之後,外掛字幕使用內置的字幕渲染器會使字幕變形,用XySubFilter字幕會顯示在黑邊上,全屏之後就跟着黑邊被切到畫面外,完全看不到字幕了,之前用pot裡面有設置可以解決,剛換的這個完全不會用,求大佬救救!

      1. 回復給 jjww0000: 我也有個帶魚34寸,現在用的mpv播放器。建議去vcb隔壁字幕論壇下載mpv懶人包,配置已經設定好了絕大部分。我加了以下代碼(是找了好多網站,調教了好久總結出來的有用的代碼,用完你的問題都能解決——因為我剛用帶魚的時候也有你的這些問題):
        keepaspect-window=no
        blend-subtitles=video
        sub-auto=fuzzy
        fullscreen=yes
        save-position-on-quit
        border=no
        blend-subtitles=no
        sub-ass-force-margins
        glsl-shaders-append=”~~/shaders/FSRCNNX_x2_8-0-4-1.glsl”
        audio-file-auto=fuzzy
        –osd-level=0
        slang=chi,zh-CN,sc,chs

          1. 回復給 はかせ: 具體哪裡有槽點呢?我把這些配置的意思寫在下面,都是方便新手的必備配置,不清楚哪裡有問題?

              1. 回復給 孤雨獨火: 好。那有經驗的人來回答這位層主吧。我只是提供一個自己用的還不錯的方案。畢竟看人家用的電腦和我一樣。要是能刪帖可以刪了,我自己這裡刪不了;)

            1. 說你沒弄清楚是我誤會了,因為我看你寫了這麼多,但基本都和人家問的問題毫無關係,而且你還寫了兩個 blend-subtitles

              不過原問題出現的原因是視頻本身帶有黑邊,你的這些配置是解決不了的

          2. 回復給 はかせ: keepaspect-window=no(無四側黑邊大屏)
            blend-subtitles=video(字畫分辨一致)
            sub-auto=fuzzy(自動外掛)
            fullscreen=yes(直接全屏)
            save-position-on-quit 退出時記憶播放位置
            border=no 想隱藏窗口標題欄的強迫症可以用
            blend-subtitles=no
            sub-ass-force-margins(字幕顯示到黑邊,帶魚電影的話這個就是顯示在裡面)
            glsl-shaders-append=”~~/shaders/FSRCNNX_x2_8-0-4-1.glsl” 神經網絡算法對付480p畫質
            audio-file-auto=fuzzy (自動外掛音軌)
            border=no
            –osd-level=0(隱藏快進白條)
            slang=chi,zh-CN,sc,chs(自動中文)

    8. madVR 似乎在部分色域的判斷上有很奇怪的問題……我去B站上下載了影視颶風的杜比視界樣片,用 madVR 播放的時候它的時候 Debug OSD 里猜出來的色域是 BT.709 而不是 HDR 內容應有的 BT.2020,導致渲染出來的顏色完全錯誤。我的電腦屏幕是支持杜比視界的,而且似乎並不是所有杜比視界的片子都會判斷錯誤,很奇怪
      MPC 渲染器就沒有這些奇怪的問題

    9. 一個疑問,在artifact removal選項中,reduce compression artifacts下的activate only if it comes for free(as part of NGU sharp)里,此處的NGU指的是chroma upscaling下的還是activate doubling下的NGU sharp

      1. 回復給clodhuang: 應該是第二個,因為activate only if it comes for free(as part of NGU sharp)上面的選項應該是rca在chroma upscaling時也使用,那應該就是說如果不勾上面選項那麼rca只有image upscale時使用。這裡是萬年冷凍庫的原文,可以參考下:
        底下子選項"process chroma channels, too",如果勾選的話,RCA也會在chroma升頻時介入處理,但會消耗較多的效能,而且chroma升頻時做RCA的效果並不明顯,因此並不建議勾選此選項。(這項不勾選的時候,RCA就只有在luma升頻時才會介入,因此影片1:1播放時就不會有RCA的效果)

        子選項"activate only if it comes for free(as part of NGU sharp)",這項勾選的話則RCA將只有在升頻算法使用NGUsharp的時候啟用後才會有作用,但是完全不會增加任何額外的效能消耗,勾選後qualily的部分視NGU sharp的運算強度是使用low、normal、high還是very high,而自動對應,但是不管如何對應,RCA的部分都不會增加額外效能消耗,因此如果升頻算法使用NGU sharp的話強烈建議勾選此選項,但如果升頻算法不是用NGU sharp的話則不要勾選,否則RCA啟用後也不會有作用。

    10. 萌新求教,使用 MPC-BE v1.6.11 + xySubFilter with libass v20230505 時,內封字幕倍速播放能正常顯示,但是若為外掛字幕,開倍速時字幕會與視頻畫面不同步(字幕仍為1倍速播放),有沒有dalao知道原因qwq?

      看到有一條留言說禁用 LAV Audio Decode 可以解決(?),實測在播放一段 HEVC+FLAC 的視頻時,無論是否開啟 LAV Audio Decode 都沒有作用

      播放器基本按照本文配置的,顯卡為3060移動端

      (救救孩子吧,每下一個番都要手動合併字幕真的……

      1. 回復給TMPUSR:折騰半天,發現碰到和你一樣的問題了,我又滾回去看我的potplayer了,不知道是不是我的錯覺,這mpc放視頻好像是比potplayler流暢些,smooth motion我都開啟了。另外這音畫不同步的bug修好了記得踢我 😉

          1. 回復給dy-living: 感謝指正,另外再問一個,mpc的快捷鍵倍速增加都是以1遞增的么,1x後面直接就是2x,沒法調節0.25x遞增么 🙁

              1. 回復給dy-living: 這個問題我已經解決了,設置里可以自定義我之前沒看到 :mrgreen: ,但是這個mpc倍速後聲音失真太嚴重了,我看東西得倍速,屬於那種聲音慢我聽不懂人說話的那種 🙁

                1. 回復給八六可愛捏: 我看番一般都要兩倍速www

                  我在用 MPC-BE v1.6.11 時並沒有倍速聲音失真的問題

                  如果你指的是在默認情況下倍速後,聲音升調/變尖/鬼畜(劃掉)的問題,那麼可以嘗試在 "選項-音頻-音頻渲染器" 中將 "DirectSound" 改為 "MPC Audio Renderer" 即可

                  ( 點擊下拉選項框,選擇 "0. MPC Audio Renderer",保存設置 )

    欢迎留言

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