在 mpv 啟用 AMD Fluid Motion Frames (AFMF) 補幀
最近幫朋友測了一輪 mpv 的 AFMF 補幀設定,確認在條件符合的情況下,的確可以正常啟用,而且搭配 AI 畫質拉升一起使用時,整體觀看體驗也不錯。雖然我自己手上沒有 AMD 內顯或外顯,沒辦法在自己的機器長時間交叉驗證,但至少這次實測結果是可行的,所以先把步驟整理成筆記,之後要重配環境比較不會再重踩一次。
這篇主要會整理幾個重點:mpv 啟用 AFMF 需要什麼條件、mpv.conf 應該怎麼寫、濾鏡怎麼確認有沒有真的生效,以及和 VapourSynth 串接時要注意哪些細節。
先講結論
- mpv 可以透過
amf_frc濾鏡啟用 AFMF 補幀。 - 前提是要有支援的 AMD GPU,並且 mpv 與相關濾鏡環境要正確設定。
- 硬解與軟解都能用,但設定方式略有不同,尤其軟解模式一定要補上
format=d3d11。 - 如果你還有串接 VapourSynth 或 AI 超分流程,記得把影格格式轉成 d3d11,不然 AFMF 很容易看起來像是沒啟動。
心智圖
1. 環境需求
在開始前,先確認環境條件有到位,不然後面就算把設定檔照抄,濾鏡也可能完全不會動。
- 需要有 AMD GPU,不論是內顯或外顯都可以,但前提是驅動與功能支援 AFMF。
- 建議使用較新的 mpv 版本,避免碰到舊版在濾鏡、硬解或裝置辨識上的問題。
- Windows 環境下,若你不想自己編譯,可以先用別人整理好的版本,例如 zhongfly/mpv-winbuild。
2. mpv.conf 基本設定
如果你的目標很單純,就是先讓 AFMF 成功啟用,建議先從最基本的 mpv.conf 設定開始,不要一開始就串太多濾鏡,這樣比較容易確認問題到底卡在哪。
指定顯卡
先讓 mpv 明確知道要使用哪一張 AMD 顯卡:
|
|
如果你的顯卡名稱不是這個,請改成自己機器上實際顯示的名稱。這裡最常見的問題不是語法錯,而是名稱打錯或抓錯裝置,結果 mpv 根本沒用到你想指定的 AMD GPU。
硬解模式
如果你是走硬體解碼,可以先用下面這組:
|
|
這組重點有兩個:
gpu-context=d3d11讓圖形環境走 d3d11。hwdec=d3d11va讓硬解流程跟 AFMF 的需求一致。
軟解模式
如果你不是走硬解,或你的流程本來就偏向軟體處理,則可以改用:
|
|
這裡最關鍵的是前面的 format=d3d11。少了這段,後面的 amf_frc 很可能根本起不來,或者你會誤以為它有掛上,但實際上沒有真正生效。
3. 先理解濾鏡寫法
如果你平常比較少碰 mpv 濾鏡,建議先知道最基本的寫法,後面看參數會比較不容易亂掉。
掛載單一濾鏡:
|
|
掛載濾鏡並指定子參數:
|
|
串接多個濾鏡:
|
|
手動加標籤:
|
|
知道這些基本規則後,下面在看 amf_frc 參數時就會比較直覺。
4. 濾鏡選項與生效確認
AFMF 最怕的不是不能設,而是你以為有設成功。最簡單的驗證方式,是先打開指示器看看:
|
|
如果有正常生效,畫面左上角會出現閃爍方塊,這可以當成最直接的判斷依據。
常用參數
下面兩個參數是比較常需要調整的:
profile:auto、low、high、supermv-search:native、performance
如果你是 4K 影片,或者還有額外掛 AI 超分、去雜訊之類的濾鏡,播放不順時可以優先試著調整這兩個值。通常 profile 降低一點,或改成較偏效能的 mv-search,會比較容易穩住播放流暢度。
5. 與 VapourSynth 串接時的注意事項
如果你本來就有用 VapourSynth 做 AI 畫質拉升、補幀或其他後處理,AFMF 並不是完全不能一起用,但你要特別注意輸出影格格式。
原因很簡單,VapourSynth 輸出的通常是軟體幀,而 AFMF 比較期待的是 d3d11 流程。所以中間要補一段格式轉換。
範例如下:
|
|
這段裡面最容易忽略的就是:
format=d3d11必須放在 VapourSynth 與amf_frc之間。format=d3d11不能亂加空白。
如果少了這一步,AFMF 很可能就接不起來。這也是很多人看起來設定都差不多,結果只有部分環境能動的原因之一。
6. 實測心得
這次幫朋友測完後,我的感覺是這套流程不是只有「理論上能用」,而是真的可以拿來看片。補幀有正常作用,搭配 AI 拉升畫質後,主觀體驗也算不錯,至少不會有明顯設定失敗或完全無感的情況。
不過這類設定還是很吃幾個條件:
- 顯卡型號與驅動版本。
- 影片解析度與位元率。
- 你同時還掛了多少濾鏡。
- 是用硬解還是軟解流程。
所以如果你照著設定後效果不如預期,我會建議先把流程簡化成「只留 AFMF」,確認能正常啟用之後,再把 AI 超分、VapourSynth 腳本或其他濾鏡一個一個加回來,這樣最好排查。
- 顯卡名稱填錯,導致 mpv 沒有吃到 AMD GPU。
- 軟解模式漏掉
format=d3d11。 - VapourSynth 串接後沒有把輸出轉成 d3d11。
- 一次掛太多濾鏡,結果分不清楚到底是哪個步驟出問題。
小結
如果你本來就在用 mpv,而且手上有支援的 AMD GPU,AFMF 其實是可以試的,設定上也沒有想像中那麼複雜。重點不是把一堆參數全塞進去,而是先確認最小可行設定能動,再慢慢把自己的 AI 畫質拉升、補幀或其他濾鏡流程加回去。
對我來說,這篇比較像是一次實測後的整理筆記。雖然不是在我自己的 AMD 環境長期使用,但至少幫朋友測下來,功能是正常的,也確實能帶來不錯的觀看體驗。之後如果再遇到需要重配 mpv 補幀環境時,應該就能少走很多冤枉路。