mpv の使いかた

20190128

mpv の特徴

mpv はmplayer2とMPlayerのフォークで、次の特徴がある。

GPUの動画再生支援機能を使う

mpv --vo=gpu --hwdec=auto --ao=pulse https://www.youtube.com/watch?v=sDyDHvZKl8g

Qを押して再生を止めたあと、ターミナルに次の表示があればOK。

(+) Video --vid=1 (*) (h264 1280x720 25.000fps)
Using hardware decoding (vaapi).

CUDA非対応の環境でCUDAを有効にしたmpvを実行すると、“Cannot load libcuda.so.1” と表示される。これが気になる場合は動画出力ドライバを自動判定にしない。

mpv --vo=vaapi --hwdec=vaapi --ao=pulse https://www.youtube.com/watch?v=sDyDHvZKl8g

主なキー割り当て

入力キー 動作
左右 5秒移動
Shift+左右 1秒移動
Shift+PageUp/PageDown 10分移動
PageUp/PageDown チャプタ移動
数字の9と0 音量調節
f フルスクリーン
p 一時停止
q 終了

詳細はマニュアルの Keyboard Control

キー割り当てをカスタマイズ

例としてマウスホイールによるシークと音量増減を無効にし、10分移動を PageUp/PageDown にし、終了を Esc にする。

mkdir -p ~/.config/mpv
cp /usr/share/doc/mpv/input.conf ~/.config/mpv/
mousepad ~/.config/mpv/input.conf

ここを、

#WHEEL_UP      seek 10
#WHEEL_DOWN    seek -10
#WHEEL_LEFT    add volume -2
#WHEEL_RIGHT   add volume 2
#Shift+PGUP seek 600
#Shift+PGDWN seek -600
#ESC set fullscreen no

このようにする。

WHEEL_UP      ignore
WHEEL_DOWN    ignore
WHEEL_LEFT    ignore
WHEEL_RIGHT   ignore
PGUP seek 600
PGDWN seek -600
ESC quit

再生画面のコントローラを非表示にする

mpv --no-osc

ターミナルへの出力を最小限にする

mpv --quiet

(HaswellとBroadwell) VP9 用のドライバをインストール

HaswellとBroadwellの場合は intel-hybrid-driverintel-vaapi-driver がないとVP9をVA-APIで再生できない。こちらのページを参照。

Arch Linux の場合は次のパッケージをインストールする。

pikaur -S --noedit intel-hybrid-codec-driver libva-intel-driver-hybrid

VP9がサポートされていることを確認。

pikaur -S libva-utils
vainfo | grep VP9

次の行があることを確認。

VAProfileVP9Profile0: VAEntrypointVLD

YouTube でVP9形式を指定して再生

youtube-dl をインストール。これがないとYouTubeで動画の形式を指定できない。

pikaur -S youtube-dl

再生する動画がVP9に対応しているか調べる。

youtube-dl -F https://www.youtube.com/watch?v=sDyDHvZKl8g | grep -e vp9 -e audio\ only
=> 247          webm       1280x720   720p 1479k , vp9, 25fps, video only, 137.90MiB
=> 251          webm       audio only DASH audio  162k , opus @160k, 20.73MiB

VP9形式を指定して再生する。

mpv --vo=gpu --hwdec=auto --ao=pulse --ytdl-format=247+251 https://www.youtube.com/watch?v=sDyDHvZKl8g

Qを押して再生を止めたあと、ターミナルに次の表示があればOK。

(+) Video --vid=1 (*) (vp9 1280x720 25.000fps)
Using hardware decoding (vaapi).

コンポジット処理に対応したデスクトップ環境での注意

PlasmaやXfceではコンポジット処理を有効にしておく。インテルのグラフィックスドライバを使っているときにコンポジット処理を無効にすると、動画再生をフルスクリーンで行ったとき画面にノイズが出る。

音量を自動的に調節(ノーマライズ)

ffmpegの loudnorm というフィルタを挟むと音量が自動的に調節される。ただしこれを使うとリアルタイムに音量が調節されるので、演奏前のささやき声が過剰に拡大される。

mpv --vo=gpu --hwdec=auto --ao=pulse -af loudnorm https://www.youtube.com/watch?v=sDyDHvZKl8g

mpv が対応している動画出力ドライバを調べる

mpv --vo help

推奨される動画出力ドライバは gpu(デフォルト)。

The recommended output driver is --vo=gpu, which is the default.

mpv が対応している音声出力ドライバを調べる

mpv --ao help

HOME