PotPlayer 搭 Bluesky 利用 AMD Fluid Motion 補幀

AMD Fluid Motion 是一種硬體影片補禎技術,可以讓原本為 24p 或 30p 的影片補到 60p 使得畫面看起來更加流暢,實際效果可參見一些測試比較,相信看過的人都會被流暢的畫面所震撼。

因為要用 CUDA 做 deep learning 的關係,所以我的主顯卡是 NVIDIA 1080Ti,其硬體夠強,加上我的 CPU 也不弱,理論上也是可以用軟體的方式來達到補幀的效果(例如 madVR,其實也用過一陣子,覺得效果沒有想像中的好),但還是想體驗 Fluid Motion 的威力,所以之前趁特價入手了一張 RX560 專門看影片用,以下記錄如何混用 N+A 卡設定 PotPlayer 搭 Bluesky 利用 AMD Fluid Motion 補幀。

硬體

  • NVIDIA 1080Ti:主顯卡,接螢幕的第一個 input
  • AMD RX560:副顯卡,接螢幕的第二個 input,但把解析度調到最低的 800×600

軟體

  • AMD 顯卡 Driver: 開啟 Fluid Motion 功能用
  • PotPlayer: 32 bit 和 64 bit 版皆要,因為刪幀只能在 32 bit 上有作用
  • K-Lite Codec Pack Mega: 裡面有 LAV decoder, ffdshow 等等 filter
  • Bluesky Frame Rate Converter: 讓播放器可以利用 GPU 上的 Fluid Motion 功能(理論上 AMD 官方只授權 PowerDVD 播 Blu-ray Disc 而已)
  • AviSynth: 提供以下 TIVTC 刪幀用的影像後處理平台
  • TIVTC: AviSynth 的 plugin, 可以把已經被補成 30p 的影片(例如動畫瘋 2018 年前的影片)刪回 24p,再送進 BlueSky 才能平順補幀到 60p

設定

以下設定參考巴哈姆特 et7878789 的教學(其教學備份錄影在 Google Drive),再做精簡而成。

開啟 AMD RADEON 設定,進入 影像 > 自訂 > AMD Fluid Motion Video

amd-radeon-setting

以下 PotPlayer 設定基本上 32-bit 和 64-bit 是通用的,如有不同處會特別標示。因為 TIVTC 只能在 32-bit 版的 PotPlayer 上作用,所以我把 32-bit 版設成刪幀專用,而 64-bit 版設為原生 24p 或 30p 用。

偏好設定 > 濾鏡/編解碼器 > 視訊解碼器 > 濾鏡/解碼器管理:搜尋後新增

potplayer-add-filters

偏好設定 > 濾鏡/編解碼器 > 視訊解碼器:把可以改成 LAV Video Decoder 的全改

potplayer-choose-lav-video-decoder

偏好設定 > 濾鏡/編解碼器 > 音訊解碼器:把可以改成 LAV Audio Decoder 的全改

potplayer-choose-lav-audio-decoder

偏好設定 > 濾鏡/編解碼器 > 來源濾鏡/分離器:把可以改成 LAV Splitter Source 的全改

potplayer-choose-lav-splitter-source

偏好設定 > 濾鏡/編解碼器 > 全域濾鏡優先順序 > 新增系統濾鏡:依以下順序新增,並設定強制使用

  • Bluesky Frame Rate Converter
  • LAV Splitter Source
  • LAV Video Decoder
  • LAV Audio Decoder
  • ffdshow raw video filter
  • ffdshow Audio Processor

potplayer-64-add-system-filters

如果是 32-bit 版要設成會刪幀的,順序改為

  • ffdshow raw video filter
  • Bluesky Frame Rate Converter
  • LAV Splitter Source
  • LAV Video Decoder
  • LAV Audio Decoder
  • ffdshow Audio Processor

potplayer-32-add-system-filters

進入 LAV Video Decoder 設定,Hardware Decoder to use 選 DXVA2 (copy-back),Hardware Device to use 選 NVIDIA 卡

lav-video-decoder-setting

如果是 32-bit 版要設成會刪幀的,再進入 ffdshow raw video filter 設定,勾選 AviSynth、Add ffdshow video source,3:2 Pulldown 選 Apply pulldown,並填入 Script 內容:

LoadPlugin("C:\TIVTC_PATH\TIVTC.dll")
tdecimate(mode=1)

potplayer-32-ffdshow-avisynth-tivtc

打開 Bluesky Frame Rate Converter 的設定,確定 GPU 有選到 AMD 的卡,Rate Conversion 的 24p 和 30p 都有勾選。

bluesky-setting

這時用 PotPlayer 打開影片或是串流連結,可以 check Bluesky 的 Status 是否有在運作,接著就可以爽看啦!

bluesky-status