一鍵提昇動漫影片畫質~Linux的Anime4K和Anime4KCPP使用教學

如果你找到的影片畫質低下想要改善,或是看到喜歡的圖片畫質卻不夠做成桌布,那麼你就需要能用魔法放大圖像的工具。

在這裡為您介紹Anime4K,它是可以即時提昇2D動畫畫質的開源工具,不用轉檔,播放影片立即生效。彷彿濾鏡一般提昇影片畫質,特別適合用於2D動畫片,另有多種降噪、去模糊的效果。

戰鬥妖精雪風第4話

除此之外還有「Anime4KCPP」,即以Anime4K技術製成的轉檔工具,類似Waifu2x,專門把動漫圖片和影片放大之用。

本文將簡介這二款工具在Linux上的用法。Anime4K版本為v4.0,系統為Arch Linux。

0. Anime4K效果預覽

Anime4K具體效果如何呢?請先看圖。

顯示卡為GTX1050Ti的情況下,Anime4K不到一秒就能提昇目前播放影片的畫質,

例如1080p影片提昇至接近4K畫質,細節變清晰了:

荒野的壽飛行隊第12話

或是720p變類似1080p

Fatekaleid liner 魔法少女伊莉雅2wei Herz!

Anime4K最直觀感受的是線條變得清楚,但720p放大會更容易糊掉,因此用來放大1080p影片效果最好。

1. 如何使用Anime4K和MPV

Anime4K支援Linux/Windows/MacOS系統,甚至Android手機也能用。

Linux要用MPV播放影片,再載入Anime4K的GLSL shader達成提昇畫質的效果。

1.1. 設定MPV

  1. 參照Github上的說明安裝MPV。例如Arch Linux為:
1
sudo pacman -S mpv
  1. Anime4K依賴顯示卡運算,需安裝獨顯驅動:
1
sudo pacman -S nvidia-dkms cuda
  1. 取得Anime4K的GLSL檔案
1
2
git clone https://github.com/bloc97/Anime4K.git
cd Anime4K
  1. 將Anime4K的全部GLSL檔(非目錄)複製到MPV設定檔的shaders目錄
1
2
mkdir ~/.config/mpv/shaders
find glsl -type f -exec cp "{}" ~/.config/mpv/shaders \;
  1. 編輯~/.config/mpv/mpv.conf,加入MPV的播放參數
1
2
3
keep-open=yes
sub-auto=fuzzy
profile=gpu-hq
  1. 編輯~/.config/mpv/input.conf,加入快捷鍵設定。
1
2
3
4
5
6
7
8
9
# 適用於GTX1650以下低階顯示卡的設定值
CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A (Fast)"
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B (Fast)"
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C (Fast)"
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode A+A (Fast)"
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode B+B (Fast)"
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"; show-text "Anime4K: Mode C+A (Fast)"

CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"

1.2. MPV啟用Anime4K

  1. 接著用MPV播放影片試試吧,檔案管理器右鍵應可選取用MPV播放影片。

  2. 影片播放時按CTRL數字鍵1~6開啟Anime4K提昇畫質,按CTRL+0還原。目前Anime4K v4共有6種模式,通常使用A+A模式效果就夠了。

    輝夜姬想讓人告白第二季OVA

  3. 啟用Anime4K時可按ShiftI再按2,查看Anime4K的shader有無顯示在user shader列表,代表正確執行。

  4. 由於MPV不是我的主力播放器,因此我會在~/.config/mpv/mpv.conf加入以下設定,設定一用MPV播放影片便自動套用Anime4K A+A模式。

1
glsl-shaders="~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~~/shaders/Anime4K_Restore_CNN_S.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_S.glsl"

2. 如何使用Anime4KCPP

Anime4KCPP是採用Anime4K技術的「轉檔」軟體,可以說是離線版的Waifu2x,更棒的是還能轉影片。

Github上僅Windows和Android版有圖形界面,Linux只有純文字模式。

2.1. 編譯Anime4KCPP

  1. 安裝編譯用的套件:
1
sudo pacman -S cmake gcc clang opencv python-opencv boost qt5-tools
  1. 開始編譯:
1
2
3
git clone https://github.com/TianZerL/Anime4KCPP.git
cd Anime4KCPP && mkdir build && cd build && cmake ..
make -j$(nproc)
  1. Anime4KCPP的執行檔位於bin,查看是否有正確安裝:
1
2
cd bin
./Anime4KCPP_CLI -V

2.2. 用Anime4KCPP轉檔

*Nvidia顯示卡轉檔時可調用CUDA加速,圖片轉檔通常不會超過10秒。

  1. 範例一:將同目錄下的圖片input.png放大4倍,保持圖層透明度,輸出為output.png
1
./Anime4KCPP_CLI -i "input.png" -o "output.png" --GPUMode --zoomFactor 4 --alpha --CNNMode --HDN

成果

https://www.pixiv.net/artworks/63786862

  1. 範例二:影片放大2倍,MP4轉MKV,使用AVC1編碼:
1
./Anime4KCPP_CLI -i "input.mp4" -o "output.kmv" --GPUMode --videoMode --codec avc1 --CNNMode --HDN

更多參數參考Github Wiki

如果本網站文章對您有幫助,歡迎贊助我。