怠惰なゆっくり

諸々のアウトプット(アフィなし)

Windows最高の動画プレイヤー、mpv導入のススメ +アップスケール

Windowsで動画プレイヤー、使っていますか?

まあ、あんまり使わないですよね。最近は動画の閲覧といえばYoutubeだのスマホだので、懐かしのWindows Media Player等でローカルファイルの動画を観る機会はそんなに無いと思います。
が、多分Microsoft側もそう思っているせいで、Windows11の動画再生アプリは本当に使い勝手が悪いです。

特にカメラ関係の仕事をしている人や、(私のように)趣味で動画を作ったりする人間にとっては、Windows標準の”フォト”だとか、”映画&テレビ"だとか、”メディアプレイヤー”だのは、それぞれアプリが分かれている割に全て微妙で、非常に使い勝手が悪いです。

という訳で、かなり痒いところに手が届く動画プレイヤーとして"mpv"をおすすめし、かつ日本語の情報があまり無いので、導入及び痒いところに手を届かせる様子を簡単に解説したいと思います。

1. mpvってなに?

無料かつオープンソースの動画プレイヤーです。

というと”VLCメディアプレイヤー”とかの方が有名だったりはしますが、個人的にはVLCよりも動作が安定しているかつカスタマイズの幅が広い、という点で気に入っています。
まあVLCとどちらにするかは趣味によると思いますが、とはいえWindows標準のカスたちに比べればどちらも素晴らしい出来です。

一方、mpvは元々がLinux向けだったこともあり、一般的なWindowsアプリ(VLC含む)とは異なるセットアップが求められたり、その割に日本語情報が少なかったり、結構ハードルが高いものでもあります。
というわけで、ここでは初心者向けに現状の導入方法を紹介していきます。

とはいえ、全ての導入は自己責任でお願いします。

2. 導入

さて、mpcはこちらの公式サイトで配布されています。

mpv.io

ここの"Installation"に飛べば色々出てきますが、正直初心者向けにはこの時点で結構ハードルが高いかもしれません。
一応ここのインストーラー版やPortable版を使って純正mpvをインストールしてもいいんですが、ここではよりハードルを下げる意味でmpv.netを入れていきましょう。

実は、純正mpvGUIがいまいち発達していない(Linuxっぽい)せいもあって、Windowsユーザーには使いにくい部分があります。
mpv.netはその問題を解消するため、mpvをラップし、WindowsっぽいUIを実現したバージョンです。

github.com

githubからインストールしてもいいですが、ここではより簡潔にwinget経由でインストールします。

  1. Windowsスタートボタンを右クリックし、Powershellを起動(管理者権限は不要です)
  2. 入力: winget install --id=mpv.net -e
  3. 入力: Y

これでmpv.netのインストールが完了します。スタートボタンを押せば、mpv.netのアイコンが追加されているはずです。

3. 初期設定

とりあえずmpv.netを開くと、こんな画面になるはずです。

書いてあるとおり、ここにファイルをドロップすれば再生が始まりますが、一旦いろいろ初期設定をしてみましょう。
画面上で右クリックすると、様々なコンテキストメニューが出てきます。

設定>構成エディターを表示 で、見慣れたGUI上での設定が可能です。下にある”mpv.confの編集”を押すと、GUIを経由せず直接設定ファイルに書き込むことが出来ます。
当然ながらGUIで設定した内容と.confを直接編集した内容は同期されるので、やりやすい方で構いません。

また、"入力エディターを表示" "input.confの編集"は、ショートカットキーのアサインを弄るためのもので、GUIと.confがあるのも上述した設定の変更と同じです。

設定は色々追い込めるのですが、一旦初期設定としておすすめなのは下記です。

1. ファイルの紐づけ

設定>セットアップ>ビデオファイルの関連付けを登録 で、一通りの動画ファイルがmpv.netで開くようにしましょう。

とはいえ、これは必須ではないので、mpv.netを色々弄ったあとに標準アプリとして使ってもいいな、と思ってからでも構いません。

2. ショートカットキーの設定

”入力エディターを表示"からGUI上でショートカットキーを設定出来ます。

ここは使いやすいようにしてもらえばいいですが、個人的に気に入っているのは”5秒前/後方へジャンプ"です。短いファイルの要所を何回もチェックする、みたいな用途で使うことが多いので、これを矢印キーに割り当てられるのは大変便利です。
コマ送りや、逆に5分単位での移動も可能なので、動画プレイヤーの利用目的に応じて編集してください。

3. 高画質化等の追い込み

標準状態で出来る追い込み設定も多々あります。が、ここでは後述するシェーダー設定、及びハイエンドGPU向けの追い込み設定で紹介をしますので、ここでは割愛します。
シェーダーを入れるほどではないし、面倒だからもういい、という方は、ここで好みに設定を弄ってください。

4. UIカスタマイズ

さて、早速インストールしたmpv.netで、適当な動画を開いてみましょう。

画像はmpv.netのREADMEより

どうですか?満足しましたか?
満足したなら……まあこのまま使ってもらえばいいと思いますが、私としてはこのUIは非常に使い勝手が悪いかつダサいので、UIを更新します。

動画下部のシークバー等のエリアはOSCと呼ばれ、mpvではコードを弄ることでほぼ無限に改造が可能です。
が、面倒くさいので先人の開発したもの(スキン的なものと理解してくれればいいです)をお借りします。

私のおすすめはModernXという、モダンかつミニマムなUIを目標としたmpv-osc-modernの派生バージョンです。
大元のmpv-osc-modernに長らく更新がないためこちらを使うんですが、実はModernXも更新が止まっています。まあ、現状は動くのでいいかなと思っていますが、そのうち問題が起きたら別のものを借りるしかないかもしれません。

1. ModernXのインストール

github.com

ここで、最新リリース(現時点ではv0.6.1)の”modernx.lua”、”Material-Design-Iconic-Font.ttf”の2ファイルをDLしてください。
その後、mpv.netの右クリックメニューから、構成フォルダを開きます。

恐らくwingetから入れていればC:\Users\ユーザー名\AppData\Roaming\mpv.netが開くはずです。

ここに scripts と、fonts という名前でフォルダを2つ作ってください。

他にも色々ありますが、一旦無視してください。

その後、DLした”modernx.lua”を scripts フォルダに、”Material-Design-Iconic-Font.ttf” を fonts フォルダに入れます。

最後にmpv.confをメモ帳等で開き、下記の設定を追記してください。

mpv.netを再起動し、適当な動画を再生すればUIが変更されていると思います。

かなりクリーンで使い勝手がいい見た目になりました。

2. サムネイル表示のインストール

この状態でもかなりいい感じですが、更にシークバー上で再生位置を変更する際、サムネイルが表示されるようにしましょう。
そのために、"thumbfast"というスクリプトをインストールします。

github.com

ここから、最新版の"thumbfast.lua"と"thumbfast.conf"をDLします。

先ほどフォルダを新規作成した場所に戻り、"thumbfast.lua"を scripts フォルダに入れてください。
また、新しく script-opts という名前のフォルダを作成し、その中に"thumbfast.conf"を格納します。

もう一度mpv.netを再起動すれば、シークバー上でサムネイルが表示されるようになっているはずです。

この時点で、Windows標準の動画プレイヤーの1000倍は優れたプレイヤーが実現しましたが、更に高画質化も狙ってみましょう。

5. (オプション)Anime4Kと標準設定で高画質化

ここからは、おまけとして高画質化を狙っていきます。

ただし、ノートパソコンを使っている方や、ローエンドのGPUを使っている方には向かない設定なので、あくまでマシンスペックが十分で、追い込んでみたい方向けの項目です。(判断がつかない場合はやめておきましょう)。

実際、私も限界まで高画質化したいというよりは、安定性と起動の速さの方がありがたい使い方をしているので、設定はしたもののほとんどオフにしてあります。

1. Anime4Kの導入

高画質化を意図したシェーダーはいくつかありますが、その中でもAnime4Kが一番メジャーだと思います(たぶん)。
Anime4K、という名前ではありますが、実写にも恐らく多少は効果があります。

github.com

ここから最新版のZIPファイルをDLします(現時点ではv4.0.1 Stable)。

scriptsフォルダを作った先ほどの場所に戻り、 shaders フォルダーを作成。DLしたZIPファイルを解凍して出てきた .glsl ファイルを全て格納してください。

github.com

Instructionに従い、input.conf に下記をコピペします(.confが見つからない場合は、mpv.netの右クリックメニューから辿りましょう)。

これはmpv.netにショートカットキーを追加するもので、要はCtrl+数字キー(テンキーでは発動しないので注意)を押すことでシェーダーを有効化出来るようになります。

mpv.netを再起動し、適当な動画ファイルを再生したら試しにCtrl+1を押してみましょう。"Anime4K: Mode A (HQ)"と表示されれば、ここまでは上手く行っています。

右クリックメニューの 表示>統計情報の切り替え を選択後、数字キーの"2"を押してください(ModernXを入れている場合は、右下の i をクリック後"2"でもいいです)。
上手くAnime4Kが動作していれば、大量にAnime4Kから始まるシェーダーが動作しているはずです。

上手く行っている例

上手く行っていない場合

2. Anime4Kの使い方

Anime4Kは3つの動作モードを持ち、それぞれの動作モードに最適なシェーダーを自動的に適用してくれます。
ショートカットキーと動作モードの意味は↓こんな感じです(公式Instructionより)。

モード 最適化対象 ポジティブ効果 ネガティブ効果
A
  • ほとんどの 1080p アニメ
  • 古い 720p アニメの一部
  • ほとんどの旧 SD アニメ
  • (強いぼかし)
  • (リサンプリング アーティファクトが多い)
  • (圧縮によるにじみ)
  • 主観的画質が高い
  • 圧縮アーティファクトを低減
  • 劣化した線をほぼ復元
  • 大きなぼかしを軽減
  • ノイズを低減
  • 既存のリンギングを増幅する可能性
  • 既存のバンディングを増幅する可能性
  • 強いノイズ除去でテクスチャがぼやける恐れ
B
  • 一部の 1080p アニメ
  • ほとんどの 720p アニメ
  • 1080p→720p にダウンスケールしたアニメ
  • (軽度のぼかし)
  • (いくらかのリサンプリング アーティファクト
  • (ダウンサンプリングによるリンギング)
  • 一部のアーティファクトが残る場合あり
  • 一部の線が依然ぼやける場合あり
  • 強いノイズ除去でテクスチャがぼやける恐れ
C
  • 1080p→480p にダウンスケールしたアニメ
  • まれに 1080p アニメ映画
  • 劣化のない画像
  • 壁紙
  • Pixiv イラスト
  • 最高 PSNR
  • ノイズを低減
  • 主観的画質が低い
  • 既存のリンギングを増幅する可能性
  • リサンプリング アーティファクトを増幅する可能性
A+A*  A と同じ
  • 最高の主観的画質
  • 劣化した線をほぼ完全に再構築
  • モード A のポジティブ効果をすべて継承
  • 深刻なリンギングが発生する恐れ
  • バンディングが発生する恐れ
  • エイリアシングが発生する恐れ
  • モード A のネガティブ効果をすべて継承
  • モード A より処理が遅い
B+B*  B と同じ
  • 高い主観的画質
  • モード B のポジティブ効果をすべて継承
  • モード B のネガティブ効果をすべて継承
  • モード B より処理が遅い
C+A*  C と同じ
  • やや高い主観的画質
  • モード C のポジティブ効果をすべて継承
  • モード C のネガティブ効果をすべて継承
  • モード C より処理が遅い

要は Ctrl+1=モードA > Ctrl+2=モードB > Ctrl+3=モードC の順でより強力なアップスケールを掛ける、と理解すればいいはずです。
とはいえ、映像ソースの画質によって色々使い分けて、最も綺麗に見えるものを適用するよう公式でも推奨されているので、カチャカチャ色々試してみると良いと思います。

また、Ctrl+4以降に割り当てられている「◯+◯」モードは、元の映像ソースから2倍以上のアップスケーリングを行う際に使用することが推奨されています。
例えば、映像ソースの解像度が1080p(フルHD)であれば、使っているモニターの解像度が2倍以上の2160p(4K)でないと有意な効果が得られない、とされています。

3. mpv.netの設定追い込みによる高画質化

最後に、本体設定をチューニングしていきます。

mpv.netの設定メニューから色々弄れるんですが、正直言って設定項目が多すぎるので、ここでは説明を諦めます。
が、一旦私が使用している設定をそのまま共有するので、これをベースに色々弄ってもらえば幸いです。

前提: 私のPCスペック
本体設定では、特にGPUを中心とした搭載パーツに依存する部分が多々あるため、まずは私のPCスペックを共有しておきます。
CPU: intel Core i5-13600K
GPU: RTX3070Ti(VRAM8GB)
メモリ: 64GB
モニター: 4K*1 WQHD*1
これよりも優れたスペックの方は設定を更に追い込み、低い方は性能重視に弄ってみてください。なお、大前提私の設定はNVIDIAユーザー向けのため、mpv.netの設定項目がよく分からず、AMDを使っているような人はこの設定を使用するのは控えてください

では早速設定ですが、GUIでちまちま弄るのは大変なので、mpv.netの右クリックメニューから”mpv.confの編集”を選択し、下記設定を直接ペーストしてください。
もし既にmpv.conf内になんらかの記述があれば、それは過去にあなたが変更した設定なので、バックアップを取ることをおすすめします。後々追加設定と競合する部分を削除し、設定をマージすることも可能です。

ひとつひとつの設定を詳述するのは大変なので避けますが、基本的に性能と画質のバランスを取るためにVulkanを多用しています。
GPUのドライバを最新にしておくのを忘れないでください。

6. (オプション)設定の個人的ベストプラクティス

最後に、おまけとしてmpv.netを普段使いする上でのベストプラクティスをいくつか共有しておきます。

・画面に出てくるウザいシークバーを消す

何を言っているかと言うと、キーボードショートカット等で時間を送ったりすると出てくるこいつです。

こいつ

気にならないならまあいいんですが、個人的にはいい位置に結構な時間表示されるので、非常に鬱陶しいです。
これはOSDと呼ばれるUIなので、mpv.confに下記を追記して無効化しましょう。

これだけで無効化出来ます。
ただし、これは一時的に表示されるバーっぽいOSDを全体的に無効化するので、例えばデフォルトで有効化されているマウスホイールでの音量変更時等も画面表示が出なくなります。その辺りは自身のユースケースと照らし合わせて判断してください(私はマウスホイールの音量変更も無効化しています)。

・Anime4Kの特定モードをデフォルトで有効化する

Anime4Kは、デフォルトだと動画再生の開始後、「Ctrl+◯」を押すことで初めて設定されたモードが有効化されます。
とはいえ、短い動画をザッピングするような時は毎回有効化するのが非常に面倒なので、気に入ったモードがあればそれをデフォルトで有効化するように設定してみましょう。

mpv.confに下記を追加します。

モードはいくつかのシェーダーの組み合わせなので、デフォルトにしたいモードに合わせて適用シェーダーを記述してください。
Anime4Kの導入時、input.confに登録した「Ctrl+◯」の組み合わせに各モードで有効化されるシェーダーが記載されているので、それをコピペしましょう。

例えば、モードAがデフォルト適用されるようにするとこんな感じです。

7. おわり

以上で終わりです。導入時のトラブルシューティングの項とかも作ろうかと思いましたが、ちょっと面倒くささが限界を越えているので、気が向いたら追記します。AIに出来るか?こんなことが。
なお、mpvYoutubeの動画再生が可能だったりと、ローカルファイルの閲覧に留まらない拡張性があるので、やりよう次第では色々出来ます。

まずは便利で優秀な動画プレイヤーとして楽しんでみてください。

おわり