cBlog

Tips for you.

IINA (mpv)のアップスケーリング処理を改善する

スポンサーリンク
※当ブログのAmazon、iTunes、サウンドハウス等のリンクはアフィリエイトを利用しています。

4Kを体験してしまうと、BD画質でも16″ Intel MBP (3,072 x 1,920)上でフルスクリーンにするとぼやけ感が気になってしまう。普段使っているIINAは内部的にはmpvである。mpvはシェーダーを設定することでアップスケーリング品質を改善できると知り、やってみた。

 

事前にIINAの設定

ビデオ/オーディオ

「専用GPUの使用を強制する」:シェーダーによっては重いのでオン。

キーの割り当て

適当にデフォルト設定を複製し、設定ファイルを作っておく。

詳細設定

「ログを残す」:オンにしておくとターミナルでmpvを実行したとき見られるようなログを確認できる。ファイルは~/Library/Logs/com.colliderli.iinaに作られる。

「次の設定ディレクトリを使用」:オンにする。ここでは「~/.config/mpv/」(デフォルト)。

 

mpv.conf

~/.config/mpv/に「mpv.conf」を作成し、設定を書き込む。ここでは以下のようにした。

#vo=gpu # IINAではvo=libmpvで上書きされる
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp

 

カスタムシェーダーファイルのダウンロード

以下のリンクの「User Shaders」の中から目ぼしいものをダウンロードして「~/.config/mpv/shaders」に置いておく。

https://github.com/mpv-player/mpv/wiki/User-Scripts#user-shaders

ここではravu-lite-r3、FSRCNNX_x2_8、FidelityFX FSR、SSimSuperResを試した(アニメは見ない)。

GitHubからcurlでダウンロードする場合、-Lオプションを付けないと0バイトのファイルができてしまうので注意。

 

input.conf(IINA用)

気に入ったシェーダーはmpv.confに設定するが、試す際は再生中に切り替えられると便利なのでキーバインドを設定する。

~/Library/Application Support/com.colliderli.iina/input_conf/にある.confファイルに以下を追記する。

Ctrl+2 no-osd change-list glsl-shaders set "~~/shaders/ravu-lite-r3.hook"; show-text "ravu-lite-r3"
Ctrl+4 no-osd change-list glsl-shaders set "~~/shaders/FSRCNNX_x2_8-0-4-1.glsl"; show-text "FSRCNNX_x2_8-0-4-1"
Ctrl+6 no-osd change-list glsl-shaders set "~~/shaders/FSR.glsl"; show-text "FSR"
Ctrl+9 no-osd change-list glsl-shaders set "~~/shaders/SSimSuperRes.glsl"; show-text "SSimSuperRes"
Ctrl+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"

最初、効かないシェーダーがあって難儀したが、テスト画像に.pngファイルを使っていたせいだった。おそらく、シェーダーによっては主にlumaに対して作用するため、RGB画像には効かなかったと思われる。

 

デフォルトシェーダーの設定

気に入ったシェーダーがあったら以下のようにmpv.confに追記する。

glsl-shader="~~/shaders/FSR.glsl"

ここでは、エッジが滑らかなFidelityFX FSRを選んだ。シャープ感はほかに譲るものの細線がちゃんと細く表示されるFSRCNNX_x2_8も良かった。

 

結果

(あとで画像貼るかも。)

期待したほど改善しなかったがチューニングは楽しい。

 

参考

linuxplayers.g1.xrea.com