「Mpv」の版間の差分
(→{{ic|input.conf}} ファイルの例: 英語版と同期して項目変更して情報を更新) |
(→0.18.1 以上で mpv と PulseAudio/ALSA のミキサー制御: 英語版と同期して情報を更新) |
||
129行目: | 129行目: | ||
mpv で MPC-HC キーバインディングを再現する試みについては、 [https://github.com/dragons4life/MPC-HC-config-for-MPV/blob/master/input.conf] を参照してください。 |
mpv で MPC-HC キーバインディングを再現する試みについては、 [https://github.com/dragons4life/MPC-HC-config-for-MPV/blob/master/input.conf] を参照してください。 |
||
+ | === その他の設定ファイル === |
||
− | === 0.18.1 以上で mpv と PulseAudio/ALSA のミキサー制御 === |
||
+ | さらに、いくつかの構成ファイルとディレクトリを作成できます。その中には次のものがあります。 |
||
− | pulseaudio で mpv を使用する場合 ({{ic|mpv.conf}} に {{ic|1=-ao=pulse}} または {{ic|1=ao=pulse}} と設定)、あるいは mpv で ALSA ミキサーのボリュームを制御したい場合、以下の設定が必要です。 |
||
− | |||
− | 以下の行を {{ic|~/.config/mpv/input.conf}} に追加することで、PulseAudio/ALSA から mpv のボリュームを変更できるようになります: |
||
+ | * {{ic|~/.config/mpv/script-opts/osc.conf}} は、 [https://mpv.io/manual/master/#on-screen-controller On Screen Controller] を管理します。 |
||
− | / add ao-volume -2 |
||
+ | * Lua スクリプト用の {{ic|~/.config/mpv/scripts/''script-name''.lua}}。 例については、 [https://github.com/mpv-player/mpv/issues/3500#issuecomment-305646994] を参照してください。 |
||
− | SHIFT+* add ao-volume 2 |
||
+ | 詳細については、https://mpv.io/manual/master/#files を参照してください。 |
||
− | ボリュームの変更に使用するキーは自由に変えることができます。 |
||
== ヒントとテクニック == |
== ヒントとテクニック == |
2021年6月10日 (木) 21:26時点における版
関連記事
mpv は MPlayer と MPlayer2 がベースの動画プレイヤーです。幅広いフォーマットの動画ファイル、オーディオ・ビデオコーデック、字幕タイプをサポートしています。mpv と前出のプレイヤーとの違いは このページ で包括的に (一部不完全ですが) リストアップされています。
目次
- 1 インストール
- 2 設定
- 3 ヒントとテクニック
- 3.1 ハードウェアデコード
- 3.2 高品質なビデオ出力
- 3.3 停止した位置からの自動レジューム再生
- 3.4 ボリュームが小さすぎる
- 3.5 複数のアスペクト比のクイック切り替え
- 3.6 アスペクト比を無視する
- 3.7 ルートウィンドウに描画
- 3.8 GUI を常時表示
- 3.9 動画ファイルで GUI を非表示にする
- 3.10 昔の OSC に戻す
- 3.11 ブラウザプラグインとして使う
- 3.12 Lua スクリプトを使って mpv を音楽プレイヤーとして磨き上げる
- 3.13 mpv で Twitch.tv のストリーミングを視聴
- 3.14 youtube-dl とフォーマットの選択
- 3.15 youtube-dl の音声検索
- 3.16 コンポジタで mpv を使う
- 3.17 OSC を古いものに戻したい
- 3.18 スクリーンショットの作成
- 4 Vapoursynth
- 5 トラブルシューティング
インストール
公式リポジトリから mpv パッケージをインストールするか Arch User Repository から mpv-gitAUR をインストールしてください。
フロントエンド
mpv には OSC という名前のすっきりとしたユーザーインターフェイスがあり、マウスを動かした時に表示されます。カジュアルユーザー向けに、他のグラフィカルインターフェイスも存在します:
- Baka MPlayer — フリーでオープンソース、クロスプラットフォームの、libmpv ベースのマルチメディアプレイヤー。Qt 5 を使用。
- bomi — 強力で使いやすいマルチメディアプレイヤー (Qt 5)。
- https://bomi-player.github.io/ || bomiAUR, bomi-gitAUR
- Celluloid — mpv のシンプルな GTK フロントエンド。
- Media Player Classic Qute Theater — Qt で Media Player Classic を再実装したクローン。
- SMPlayer — CSS テーマや YouTube 統合などの機能が追加された Qt マルチメディアプレイヤー (Qt 5)。
- xt7-player-mpv — フィルターやドライバー、ladspa プラグインのサポート、ライブラリ・プレイリストの管理、YouTube、オンラインラジオ、ポッドキャスト、DVB-T などの豊富な設定オプションが存在する mpv の Qt/Gambas による GUI。
設定
Mpv の設定は mpv.conf
(設定) と input.conf
(キーバインド) と lua-settings/osc.conf
(オンスクリーンディスプレイ) ファイルから読み込まれます。オプションのリストは、man ページや github にあるドキュメントを参照してください: mpv(1) または GitHub ドキュメント。
XDG_CONFIG_HOME
環境変数が設定されてない場合、ユーザーの設定ファイルは ~/.config/mpv
フォルダから読み込まれます。全ユーザー共通の設定は /etc/mpv
フォルダから読み込まれます。
一般設定
次の設定を ~/.config/mpv/mpv.conf
に追加します。
字幕の設定
ファジー検索を有効にする。
sub-auto=fuzzy
字幕を太字にして読みやすくします。
sub-bold=yes
高度な設定
これにより、vo=gpu
をビデオ出力として使用するときに高品質の OpenGL オプションが読み込まれます(デフォルト)。ほとんどのユーザーは問題なくこれらを実行できますが、実行できない少数のユーザーに問題が発生しないように、デフォルトでは有効になっていません。
profile=gpu-hq
gpu-hq
プロファイルは、中程度の品質と速度を実現するために、デフォルトで spline36
スケーリングフィルターに設定されています。最高品質のビデオ出力を得るには、ハードウェアで実行できる場合は ewa_lanczossharp
を使用する必要があるとマニュアルに記載されています。
profile=gpu-hq scale=ewa_lanczossharp cscale=ewa_lanczossharp
これらの最後の3つのオプションは、もう少し複雑です。最初のオプションでは、オーディオとビデオが同期しなくなった場合、ビデオフレームをドロップする代わりに、オーディオをリサンプリングします(オーディオピッチのわずかな変化は、ドロップされたフレームよりも目立たないことがよくあります)。 mpv wiki には、 DisplaySynchronization というタイトルの詳細な記事があります。残りの2つは、フレームの表示方法を変更することで、基本的にディスプレイ上で動きがスムーズに見えるようにし、ソースフレームレートがディスプレイのリフレッシュレートとより良く調和するようにします(実際にビデオを60 fpsに変換するSVPの手法と混同しないでください)。 mpv wiki には、 Interpolation というタイトルの詳細な記事がありますが、一般に スムーズモーション としても知られています。
profile=gpu-hq scale=ewa_lanczossharp cscale=ewa_lanczossharp video-sync=display-resample 補間 tscale=oversample
これ以外にもできることはたくさんありますが、物事はより複雑になり、より強力なビデオカードが必要になります。簡単な概要として、画像でトレーニングされたディープニューラルネットワークを実際に使用するものを含む、エキゾチックなスケーリングとシャープニングの手法を実行する特別なシェーダーをロードすることができます(実世界とアニメーションコンテンツの両方)。これについて詳しくは、 mpv wiki、特に user-shaders のセクション をご覧ください。
あなたが同様に望ましいと思うかもしれない他のたくさんのオプションもあります。 mpv(1) を見る価値があります。コマンドラインから mpv を実行して、構成に関するエラーメッセージを確認することも役立ちます。
カスタムプロファイル
mpv.conf
では、基本的に次のような オプションのグループ である プロファイル を作成できます。
- ファイルを書き直すことなく、異なる構成をすばやく切り替えることができます。
- 特別なコンテンツ用の特別なプロファイルを作成します。
- ネスト プロファイル。これにより、単純なプロファイルからより複雑な プロファイル を作成できます。
プロファイルの作成は簡単です。 mpv.conf
の上部の領域はトップレベルと呼ばれ、そこに書き込んだオプションはすべて、mpv が開始されると有効になります。ただし、名前を角かっこで囲んでプロファイルを定義すると、その下に書き込むすべてのオプション(新しいプロファイルを定義するまで)はそのプロファイルの一部と見なされます。 mpv.conf
の例を次に示します。
profile=myprofile2 #トップレベルエリア、myprofile2をロード ontop=yes #最前面に [myprofile1] #シンプルなプロファイル、トップレベルの領域はここで終わります profile-desc="a profile" #プロファイルのオプションの説明 fs=yes #フルスクリーンで開始 [myprofile2] #別の簡単なプロファイル profile=gpu-hq #mpv に付属する組み込みプロファイル log-file=~~/log #ログファイルを書き込む場所を設定します。~~/ translates は ~/.config/mpv に変換されます
トップレベルエリア内には2つの線しかなく、その下に2つの別々のプロファイルが定義されています。 mpv が開始すると、最初の行が表示され、 myprofile2
にオプションが読み込まれます(つまり、gpu-hq
と log-file=~~/log
)最後に ontop=yes
をロードし、起動を終了します。 myprofile1
は最上位領域で呼び出されないため、ロードされないことに注意してください。
または、次のコマンドラインから mpv を呼び出すこともできます。
$ mpv --profile=myprofile1 video.mkv
また、myprofile1
のオプションを除くすべてのオプションを無視します。
キーバインディング
キーの割り当ては、/usr/share/doc/mpv/input.conf
の例と manual の関連するセクションを参考にして下さい。
~/.config/mpv/input.conf
に次の例を追加します。
shift+s screenshot each-frame Shift+UP seek 600 Shift+DOWN seek -600 = cycle video-unscaled - cycle-values window-scale 2 3 1 .5 WHEEL_UP add volume 5 WHEEL_DOWN add volume -5 WHEEL_LEFT ignore WHEEL_RIGHT ignore Alt+RIGHT add video-rotate 90 Alt+LEFT add video-rotate -90 Alt+- add video-zoom -0.25 Alt+= add video-zoom 0.25 Alt+j add video-pan-x -0.05 Alt+l add video-pan-x 0.05 Alt+i add video-pan-y 0.05 Alt+k add video-pan-y -0.05 Alt+BS set video-zoom 0; set video-pan-x 0; set video-pan-y 0
mpv で MPC-HC キーバインディングを再現する試みについては、 [1] を参照してください。
その他の設定ファイル
さらに、いくつかの構成ファイルとディレクトリを作成できます。その中には次のものがあります。
~/.config/mpv/script-opts/osc.conf
は、 On Screen Controller を管理します。- Lua スクリプト用の
~/.config/mpv/scripts/script-name.lua
。 例については、 [2] を参照してください。
詳細については、https://mpv.io/manual/master/#files を参照してください。
ヒントとテクニック
ハードウェアデコード
mplayer や mplayer2 と違って、mpv は始めから VA-API と VDPAU の両方をサポートしています。利用できる設定については man ページの --hwdec=<api>
オプションのリファレンスを見て下さい。設定を永続化するには、設定ファイルに hwdec=method
という行を追加します。
ハードウェアデコードを使用するとき、ビデオ出力は opengl
, opengl-hq
, vdpau
(hwdec=vdpau
を使う場合) のどれかに設定する必要があります。hwdec=vaapi
を使用する場合は profile=opengl
を使ってください (opengl-hq
を使用した場合、動画を読み込むときに CPU に過度の負担がかかるときがあります [3])。ハードウェアデコードが使用できない場合、mpv は自動的にソフトウェアデコードにフォールバックします。詳細は options.rst や vo.rst を見て下さい。
h264, vc1, wmv3, hevc, mpeg2video, vp9 コーデックではデフォルトでハードウェアデコードが有効になります。ただし、ハードウェアデコードを使用するコーデックを指定したり (例: --hwdec-codecs=h264,mpeg2video
)、あるいは全てのコーデックでハードウェアデコードを有効にする (--hwdec-codecs=all
) こともできます。
高品質なビデオ出力
opengl-hq
プロファイルは mpv の開発者によって事前に設定された様々なオプションを使用する OpenGL 出力です。opengl-hq
を使用するには、設定ファイルで以下のように指定してください:
~/.config/mpv/mpv.conf
profile=opengl-hq
opengl-hq
にはデフォルトで GLSL デバンドフィルダーが有効になっており、ユーザーによっては性能が劣化したりコンテンツの見た目が悪くなることがあります。以下の設定によって、フィルターは簡単に無効化できます:
~/.config/mpv/mpv.conf
profile=opengl-hq deband=no
停止した位置からの自動レジューム再生
動画の現在の位置を保存して mpv を終了するデフォルトのキーは Shift+q
です。このキーはキーバインドの設定ファイルに quit_watch_later
を追加することで変更できます。
プレイヤーの終了時に自動的に現在の再生位置を保存したい場合、--save-position-on-quit
フラグを付けて mpv を起動してください。オプションを永続化させるには、設定ファイルに save-position-on-quit
という行を追加します。
ボリュームが小さすぎる
設定ファイルに volume-max=value
を設定して volume-max=600
など然るべき値にしてください。さらに (または)、af=acompressor
でダイナミックレンジ圧縮を利用することもできます。
複数のアスペクト比のクイック切り替え
バージョン 0.8.0 から Shift+a
を使ってアスペクト比を切り替えることができます。
アスペクト比を無視する
--keepaspect=no
を使うことでアスペクト比を無視できます。オプションを永続的にしたい場合、設定ファイルに keepaspect=no
という行を追加してください。
ルートウィンドウに描画
--wid=0
を付けて mpv を実行してください。これによって mpv はウィンドウ ID が 0 のウィンドウに描画するようになります。
GUI を常時表示
mpv をターミナル以外から起動する場合、音声ファイルなどでも、GUI ウィンドウが表示されていたほうが便利です。--force-window
オプションを使うことで常時表示させることができます。
動画ファイルで GUI を非表示にする
動画ファイルでは GUI ウィンドウを隠したい場合もあるでしょう。--no-video
オプションを使うことで非表示にできます。
昔の OSC に戻す
バージョン 0.21.0 から、mpv のオンスクリーンコントールはボトムバーに置き換えられました。オンスクリーンコントール (OSC) に戻したい場合、こちら に書かれているように mpv の設定を編集してください。
ブラウザプラグインとして使う
mozpluggerAUR を利用することで、サポートされているブラウザにおいて mpv を使って動画を再生することができます。設定の詳細は ブラウザプラグイン#MozPlugger を見て下さい。ViewTube などのユーザースクリプトと組み合わせて、mpv を使用してサイトに埋め込まれた動画プレイヤーを置き換えることもできます。
HTTP ストリーミングを使用するときはユーザーエージェントの設定が必要な場合があります。例: user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"
。
Lua スクリプトを使って mpv を音楽プレイヤーとして磨き上げる
mpv の Lua スクリプトの開発方法は mpv リポジトリ の DOCS/man/lua.rst にまとまっており、サンプルが TOOLS/lua にあります。このブログ記事 では Lua スクリプトを使って mpv を使いやすくする例として music.lua スクリプトを紹介しています。
mpv で Twitch.tv のストリーミングを視聴
youtube-dl がインストールされている場合、mpv は直接 Twitch のライブストリームを開くことができます。
また、streamlink を使って Twitch をストリーミングする方法もあります。GUI でストリームを視聴したい場合 streamlink-twitch-guiAUR を使ってください。Streamlink#Twitch を見て下さい。
さらに Livestreamer を利用する Lua スクリプトが存在します: https://gist.github.com/ChrisK2/8701184fe3ea7701c9cc
youtube-dl とフォーマットの選択
--ytdl-format
のデフォルトは bestvideo+bestaudio/best
となっています。4K 解像度で見ることができる YouTube 動画の場合、たとえ接続しているモニターが 4K に対応していなくても、4K の VP9 でエンコードされた動画をソフトウェアデコードすることになります。
youtube-dl のフォーマットを適切に設定することで問題は簡単に解決します。以下の設定例では、縦の解像度が1080ピクセル以下の動画だけが再生されます:
ytdl-format=bestvideo[height<=?1080]+bestaudio/best
ハードウェアデコードできない特定のコーデックだけを避けたい場合、同じように追加できます。例えば、VP9 を無視するには以下のように設定します:
ytdl-format=bestvideo[height<=?1080][vcodec!=vp9]+bestaudio/best
youtube-dl の音声検索
.bashrc
に以下の関数を記述することでターミナルから mm "search terms"
を実行して音声を検索・再生できます:
function mm() { mpv --no-video --ytdl-format=bestaudio ytdl://ytsearch10:"$@" }
コンポジタで mpv を使う
コンポジタ (例: KDE Plasma 5) を使っていて、mpv で動画を再生するときにコンポジットが無効になってしまう場合 (Plasma でウィンドウが表示されなくなったりデフォルトのアプリスイッチャでウィンドウのサムネイルが表示されなくなる場合)、x11-bypass-compositor=no
を使ってみてください。
OSC を古いものに戻したい
以下のように設定してください:
~/.config/mpv/lua-settings/osc.conf
layout=box
スクリーンショットの作成
再生時間を指定してスクリーンショットを作成するには (HH:MM:SS
):
$ mpv --no-audio --profile=image --start=00:01:30 --frames=1 /path/to/video/file
スクリーンショットはカレントディレクトリに 00000001.jpg として保存されます。
Vapoursynth
AviSynth の代わりとして Linux では Vapoursynth を使うことができます。Python スクリプトで動画を操作することが可能です。Vapoursynth の Python スクリプトは mpv の動画フィルターとしても使えます。
Vapoursynth フィルターを使うには vapoursynth パッケージをインストールして --enable-vapoursynth
ビルドフラグを付けて mpv をコンパイルしてください。
バンディングを消去 (flash3kyuu)
f3k_db
のバンディング消去フィルターを使うには vapoursynth-plugin-f3kdbAUR をインストールして vapoursynth 拡張を使用する Python スクリプトを書いて下さい。
以下は mpv でバンディング消去を有効にするサンプルスクリプトです。
import vapoursynth as vs core = vs.get_core() clip = video_in clip = core.std.Trim(clip, first=0, length=500000) clip = core.f3kdb.Deband(clip, grainy=0, grainc=0, output_depth=16) clip.set_output()
設定ファイルで Python スクリプトを指定するか mpv を実行するときにコマンドライン引数で指定してください:
$ mpv --vf=vapoursynth=f3k_db.py <video_file>
トラブルシューティング
再生が途切れたりティアリングが発生する
OpenGL をサポートしているハードウェアを使っている場合 mpv はデフォルトで OpenGL ビデオ出力デバイスを使用します。Intel HD4XXX シリーズなどのカードで 4K ディスプレイに動画を映そうとすると、動画の再生が不安定になって一時的に止まってしまったり盛大にティアリングが発生することがあります。そのような問題が起こる場合、XV (XVideo) ビデオ出力デバイスを使うことで解決できるかもしれません:
~/.config/mpv/mpv.conf
profile=xv
現在 XV ビデオ出力は非推奨となっており、新しいバージョンの mpv では osd の表示がおかしくなるなど問題を起こすことがあります。
また、(低性能なハードウェアで) 再生のパフォーマンスを改善するかわりに、動画の品質が著しく落ちるという問題もあります。
動画の再生性能を高めるオプションとして以下のようなものもあります:
~/.config/mpv/mpv.conf
vd-lavc-fast vd-lavc-skiploopfilter=<skipvalue> vd-lavc-skipframe=<skipvalue> vd-lavc-framedrop=<skipvalue> vd-lavc-threads=<threads>