MPlayer

提供: ArchWiki
2023年3月15日 (水) 13:49時点におけるKgx (トーク | 投稿記録)による版 (→‎ハードウェアアクセラレーション: 情報を更新)
ナビゲーションに移動 検索に移動

関連記事

MPlayer は GNU/Linux 向けの人気のある動画プレイヤーです。多くの動画・音声フォーマットをサポートしており、動画の再生以外にも多目的に使用することができます。

インストール

mplayer パッケージをインストールしてください。開発版は mplayer-svnAUR パッケージでインストールできます。

注目すべきバリエーションとしては、VA-API を有効にする mplayer-vaapiAUR です。

フロントエンド / GUI

アプリケーション一覧/マルチメディア#MPlayer-based をご覧ください。

設定

システム全体の設定は /etc/mplayer/ に、ローカルユーザーの設定は ~/.mplayer/ に保存されます。/etc/mplayer/ に含まれているデフォルトのファイル:

  • codecs.conf - コーデックの設定を記述します。
  • example.conf - mplayer.conf のサンプルファイルです。mplayer.conf はインストールしただけでは自動で作成されません。
  • input.conf - ホットキーの設定を記述します。

~/.mplayer/ にはデフォルトで config という名前のファイルが作成されます。

参照: MPlayer サンプル設定ファイル, mplayer(1)

キーバインディング

システム全体のキーバインディングは /etc/mplayer/input.conf で設定します。ユーザー別のキーバインディングは ~/.mplayer/input.conf に保存されています。以下はデフォルトの MPlayer の基本的なキーの一部です。キーボードショートカットの完全なリストは mplayer(1) を見て下さい。

参照: LQWiki:XF86 keyboard symbols

ヒントとテクニック

自動レジューム再生

自動レジュームのために、mplayer-resumerAUR[リンク切れ: パッケージが存在しません] パッケージをインストールすることができます。このパッケージには MPlayer の Perl ラッパースクリプトが含まれており、最後に停止した箇所から自動でレジューム再生することが可能です。

使用するには、MPlayer の代わりにラッパースクリプトを呼び出すようにしてください:

$ mplayer-resumer options path/to/file

MPlayer を閉じたすぐ後 (デフォルトでは5秒以内) にこのスクリプトを再起動すると、動画のレジューム位置を保存するのに使われるファイルが削除されてしまいます。結果的に動画の最初から再生されることになります。

再生する動画ファイルが読み取り専用のファイルシステム上など、ファイルを書き込むことができない場所にある場合、レジュームは失敗します。現在の実装では、タイムコードを保存するファイルを動画ファイルと同じ場所に保存するためです。

ハードウェアアクセラレーション

ハードウェアビデオアクセラレーションを見てください。

VDPAU の有効化

以下をシステム全体の設定ファイル (/etc/mplayer/mplayer.conf) かユーザー別の設定ファイル (~/.mplayer/config) どちらかに追加してください:

vo=vdpau,
vc=ffh264vdpau,ffmpeg12vdpau,ffodivxvdpau,ffwmv3vdpau,ffvc1vdpau,ffhevcvdpau,
ノート:
  • 最後のカンマは意味があります。指定されたドライバーが見つからない時に他のドライバーとコーデックにフォールバックします。
  • -vo オプションは VDPAU ビデオ出力ドライバーを選択します。-vc オプションは VDPAU ビデオコーデックを選択します。
  • ffodivxvdpau コーデックは、最新シリーズの NVIDIA ハードウェアでのみサポートされています。特定のハードウェアに基づいて省略することを検討してください。詳細については、ハードウェアビデオアクセラレーション#NVIDIA を参照してください。

VA-API の有効化

メインラインの MPlayer は VA-API をサポートしていませんが、サポートを追加する mplayer-vaapiAUR フォークが存在します。

$ mplayer -vo vaapi -va vaapi foobar.mpeg
  • -vo - vaapi ビデオ出力ドライバの選択
  • -va - vaapi ビデオデコードドライバの選択

MPlayer ベースのプレイヤー:

  • gnome-mplayer: ハードウェアアクセラレーションを有効にするには: 編集 -> 環境設定 -> プレイヤー からビデオの出力を "vaapi" に設定してください。
  • smplayer: ハードウェアアクセラレーションを有効にするには: オプション -> 環境設定 -> 全般 -> ビデオ から出力ドライバーを "vaapi" に設定してください。

Radeon カードで Composite が有効になった状態の半透明再生

X で半透明のビデオ出力をするには MPlayer のテクスチャビデオを有効にする必要があります:

$ mplayer -vo xv:adaptor=1 file

もしくは ~/.mplayer/config に以下の行を追加してください:

vo=xv:adaptor=1

xvinfo を使うことでビデオモードがあなたのグラフィックカードをサポートしているかどうか確認できます。

ビデオストリームの再生

ビデオストリーム (例: ASX リンク) を再生するには次のコマンドを使って下さい:

$ mplayer -playlist link-to-stream.asx

ストリームは実際はプレイリストなので再生するには -playlist オプションが必須です。

DVD の再生

MPlayer で DVD を再生するには:

$ mplayer dvd://N

N は再生したいタイトル番号に置き換えてください。よくわからない場合は 1 から順に使ってみて下さい。特定のチャプターを再生するには '-chapter' フラグを使って下さい。例えば、コマンドに '-chapter 5' を追加すればタイトルのチャプター5から dvd の再生が始まります。

Mplayer はデフォルトでは /dev/dvd を確認します。コマンドラインで dvd-device を使うか ~/.mplayer/configdvd-device 変数を使うかして /dev/sr0 を利用するようにしてください。

DVD イメージファイルを再生するには:

$ mplayer -dvd-device movie.iso dvd://N

DVD のメニューを有効にするには:

$ mplayer dvdnav://
ノート: 矢印キーで移動して Enter キーで選択できます。

DVD のメニューでのマウスサポートを有効にするには:

$ mplayer -mouse-movements dvdnav://

音声言語を確認するには、-v スイッチをつけて MPlayer を実行するとオーディオ ID を出力します。音声トラックは -aid audio_id で選択します。デフォルトの音声言語は ~/.mplayer/config を編集して設定します、英語音声なら alang=en という行を追加してください。

MPlayer では、DVD のボリュームが低く設定されているかもしれません。最大ボリュームを 400% にまで増加させるには、softvol=yessoftvol-max=400 を使って下さい。最初のボリュームがソフトウェアボリュームの 100% にデフォルトが設定され、全体的なミキサーのレベルはそのままになります。90 キーを使うことで、ボリュームを 0 から 400 パーセントまで調整可能です。

alang=en
softvol=yes
softvol-max=400

DVB-T ストリーミング

詳しくは DVB-T を見て下さい。

JACK サポート

MPlayer のオーディオ出力先を JACK にするのをデフォルトにするには、~/.mplayer/config を編集して次を追加してください:

ao=jack

JACK を常時実行していない場合は、次のようにしてコマンドラインから MPlayer を呼び出すことで必要に応じて MPlayer を JACK に出力することができます:

$ mplayer -ao jack [path/to/file]

高度な字幕

Advanced SubStation Alpha (ass) または SubStation Alpha (ssa) フォーマットの字幕を正しく表示するには、~/.mplayer/config を編集して以下を追加するか:

ass=true

もしくはコマンドラインに -ass を追加する必要があります:

$ mplayer -ass path/to/subtitledVideo.mkv

上記のフラグを有効にする必要があるのは字幕に数字が表示される場合などです。位置情報が誤って画面に表示するテキストとして認識されると発生します。また、Mplayer によって字幕が長すぎる、改行が多すぎるとエラーが吐かれることもあります。

ass を有効にすると埋め込みフォントも有効になります。mplayer のマニュアルページによれば fontconfig がバージョン 2.4.2 以上であれば embeddedfonts=true の追加は不要です。埋め込みフォントが存在しない場合は Fontconfig によって使用するフォントが選択されます。OSD の字幕レンダラーと異なるフォントが使われるようになる場合があります。

インターネットラジオ

以下は事前に定義したラジオ局を再生・停止するスクリプトの例です [1]:

#!/bin/bash
XX="X"$1;
PLAYIT='mplayer  -loop 0 -playlist http://*.*.*.*:8000/listen.pls';

if [ "$XX" == "Xstop" ]; then
  killall mplayer;
else
  if [ 'EX' == 'EX'"$(pidof mplayer)" ]; then
    if [ "$UID" -ne 0 ]; then 
      nohup $PLAYIT &> /dev/null & disown;
    else 
      echo The "root" user is not allowed to run this script.
    fi
  else
    echo mplayer is already running by user: $(ps -eo user,comm | grep -i "mplayer"$ | sed 's/ mplayer/,/m') | sed "s/ ,$/./m";
  fi
fi

実行中の mplayer インスタンスを確認するには:

$ ps -eo pcpu,pid,user,comm | grep -i "mplayer"$ | sed  "s/ mplayer$//m"

トラブルシューティング

再生中に Mplayer がランダムで停止する

Mplayer は alsa での再生に問題を抱えているようです。pulseaudio に切り替えれば、動画再生で発生する mplayer のランダムな停止を回避できます。

MPlayer で空白を含むファイルを開けない

空白の入っているファイルを開こうとすると (例: 'The Movie')、ファイル file:///The%20Movie が開けないと表示して MPlayer がファイルのオープンに失敗することがあります (空白は全て %20 に変換されます)。この問題は /usr/share/applications/mplayer.desktop を編集して以下の行を:

Exec=mplayer %U

次のように変更することで修正できます:

Exec=mplayer "%F"

MPlayer のフロントエンド/GUI を使用している場合は、Exec=gui_name "%F" としてください。

SMPlayer: 動画が表示されない問題

SMPlayer が MP4 (または FLV) ビデオを開いたときに問題が起こることがあります。音声だけが流れて動画が出ない場合、~/.mplayer/config ファイルに以下の行を追加すると直るかもしれません:

[extension.mp4]
demuxer=mov

これでも問題が直らない場合、SMPlayer が特定のファイルの設定を維持してしまっているのが原因です。SMPlayer が使っている全てのファイルの設定を削除すれば問題が解決するでしょう:

$ rm -rf ~/.config/smplayer/file_settings

SMPlayer: 一時停止した後、再生ができない

オーディオ出力ドライバーが間違って設定されていると SMPlayer は動画の再生を停止します。オーディオドライバーの設定を正しくすることで修正できます。例えば、PulseAudio を使っている場合、-ao pulse 引数を付けて MPlayer を起動するか、~/.mplayer/config ファイルに以下を追記することで解決可能です:

ao=pulse

また、SMPlayer で Options > Preferences > General > Audio を開いて Output Driver' オプションを pulse に設定することでも変更できます。

SMPlayer: GNOME で透過を使うと動画が表示されない

Compiz を使って透過を行っている場合に GNOME でこの問題が発生することがあります: SMPlayer は透過画面で音声を再生しますが、動画が表示されません。この問題を修正するには、(root で) 以下のファイルを作成してください:

/usr/local/bin/smplayer.helper
export XLIB_SKIP_ARGB_VISUALS=1
exec smplayer.real "$@"

そして以下を実行:

# chmod 755 /usr/local/bin/smplayer.helper
# ln -sf /usr/local/bin/smplayer.helper /usr/local/bin/smplayer

SMPlayer: OSD のフォントが大きすぎる / 字幕の文章が小さすぎる

SMPlayer 0.8.2.1 (と MPlayer2 20121128-1) から、字幕フォントと OSD フォントの比率がおかしいことになっています。そのために、OSD のテキストが画面全体を覆って、字幕は異常に小さく読めない事態になることがあります。この問題は以下を SMPlayer から MPlayer に渡されるオプションに追加することで解決できます:

-subfont-osd-scale 2

オプションは Options > Preferences > Advanced > Options for MPlayer にあります。また、以下の行を ~/.mplayer/config に追加することでも同じように問題は解決します:

subfont-osd-scale=2

MPlayer で字幕の文字がクエスチョンマークで表示される

字幕のコードページが utf8 の場合、以下を使ってみてください:

-subcp utf8

字幕のコードページは次のコマンドで確認できます:

file subtitles.srt

mplayer-shows-question-marks-for-some-characters-on-subtitle を参照。

音楽 CD の再生が途切れがちになる

CDROM のスピンダウンが発生すると CDDA の再生に数行ごとに割り込みが入ります。問題を解決するには -cache オプションを使ってキャッシュあるいはバッファを設定してください:

mplayer cdda://:1 -cache 1024

:1 で CDROM の速度が低くなり安定して回転してノイズが減ります。

参照