Puppy Linux導入記録 MPlayer

(2013.03.16作成, 2013.08.18更新)

1.インストール

 Puppy Linux431JP2012に標準搭載されているメディアプレーヤーはgxine0.5.9です。Linux用の軽量なプレーヤの一つとして知られているソフトですが 小生の貧弱なPC環境 では重量級ソフトになってしまいます。360x480位の解像度のFLV動画再生でメモリ消費量が約200Mbyte、CPU負荷が80%を超えます(topで測定)。同様にseamonkeyブラウザでyoutubeの動画を視聴するとコマ落ちでカクカクした再生になる時が多いですが、このときもメモリ消費量・CPU負荷が高くPCの能力が不足しているのは明らかです。ブラウザでうまく再生できない時は、動画をダウンロードしハードディスクに保存する、そして動画プレーヤーで再生すると良い、と一般には言われています。しかし小生の環境ではgxineで再生しても前述の通りPCのパフォーマンスが不足しているため満足な再生状態にならない時があります。状況としては音声に対し動画が遅延する(時間の経過と共に遅延時間が増大する)、再生途中で音声が鳴らなくなる、です。
 そこでgxineよりも軽量な動画プレーヤーを捜すことにしました。ネット上ではMPlayerとVLCが人気ソフトのようです。そのうちMPlayerはPuppy PETgetパッケージマネージャに登録されているのでインストールしてみました。パッケージの名称はmplayer-1.0rc2-071007-1です。インストールはできましたが起動するとすぐに異常終了します。MPlayerのパッケージはいろいろなバージョンがネット上にありましたのでそれらを見つけてはダウンロード、インストールしました。しかしどれも起動時に障害が発生し動作しません。次に本家MPlayerのサイトから最新バージョン1.1のソースファイルをダウンロードしました。一か八か自力でコンパイルに挑戦です。
 Puppy Linux431JP2012は最新のPuppy5系と比べると一世代前のライブラリが使われているのでライブラリが古いとか無いなどのエラーが発生すると思っていました。しかし意外にもコンパイルに成功。実行するとmp4動画は再生できました。しかし、FLV動画は音声は正常、画像は超スローモーションでかつ縦方向に伸長されて再生されます。ネットで調べてみるとソースに同梱されているffmpegエンコーダーを他のバージョンに差し替えると良いとのこと。そこでffmpegのサイトからいくつかのバージョンをダウンロードしコンパイルしましたが状況に変化はありません。ffmpegについて勉強不足の小生では容易に解決できそうにありません。
 バージョン1.1のコンパイルをあきらめ、次に、旧バージョンの1.0ではどうなのかと思い試してみました。ダウンロードしたファイルはMPlayer-1.0rc4.tar.bz2です。解凍後、makeし幾つかの動画を再生してみました。こちらは特に問題なく再生できます。gxineに比べると起動が早く、早送りの反応も良く、全体的に動作が軽快です。gxineに比べるとメモリ消費量が約半分、CPU負荷も約半分です。youtubeのFLV動画をダウンロードして再生した場合、低画質(360P),中画質(480P)は再生良好。高画質は音声は正常、動画は通常の約2倍の遅さで再生されます。MPlayerのオプションパラメータを色々変えてみましたが高画質のまともな再生はどうしても無理のようです。小生のPCのビデオ性能は最大解像度が1024x768です。これはyoutubeの高画質画像の解像度以下(つまり高画質動画を再生するとディスプレイの表示範囲からはみ出してしまう)なのでこの点が原因と思います。
 インストール方法ですが、同梱のインストールマニュアルにはmake実行前にコーデックをインストールするように記載されています。しかしコーデックをインストールした場合としない場合での違いは小生には分かりませんでした。どちらも普通に動画の再生ができます。makeのオプション指定で --enable-gui を付加するとgmplayerというMPlayerのGUI版を作ることができました。このgmplayerはMPlayerよりもCPU負荷が高く再生時のコマ落ちが目立ちます。後にSMPlayerというMPlayerのGUIフロントエンドを導入しCPU負荷を調べたところgmplayerと同等でした。最終的にはSMPlayerを使うことにしたのでgmplayerは不要と判断し--enable-guiオプションは無し、またmencoderというファイル変換ツールも不要なので--disable-mencoderオプション付きでmakeしました。この自作PETパッケージはここに置いておきます。尚、SDLも必要です。
 Mplayerをベースにしたyoutubeビューアー、ブラウザのプラグインが多くのサイトで紹介されているのでPuppy Linux431JP2012にも導入したいと思っていました。まずはMPlayerのインストールに成功したので第一関門を通過した、という状況です。

(以下2018.04.15更新)
 バージョン1.0rc4でYoutubeの動画が再生できなくなりました。バージョン1.3.0にバージョンアップしました。新バージョンのPETパッケージは以下にあります。また、ca certificateの更新も必要です。
mplayer-1.3.0
ca-certificates-2016-01-04

2.FlashGotと連携

(2013.8.18追記): YouTubeなどの動画サイトの仕様変更によりFlashGot1.5.3はほとんど動作できなくなっています。
 Mplayerベースのyoutubeビューアーとして小生が見つけたものは GTK youtube viewer と youtube-dl です。ところがこれらのソフトはPuppy Linux431JP2012に対応していません。とりあえずPuppy5系のPETパッケージをインストールし起動するとライブラリのバージョンが古いと怒られます。GTK youtube viewerの場合はperlのバージョン、youtube-dlの場合はpythonのバージョンが古いとのこと。perlもpythonもプログラミング言語ですがperlはいくらか理解できるのでperlの新しいバージョンを本家サイトからダウンロードしインストールしてみました。これでperlのバージョン問題は解決と思いきや次々と問題が湧いてきます。今度はperlのパッケージマネージャーが依存しているライブラリが古いとのこと。それほどperlに詳しくない小生のレベルでは容易に解決できそうにありません。
 いろいろ試行錯誤しているうちに偶然にもMPlayerでyoutube動画をストリーミング再生できる方法が見つかりました。手順を箇条書きにすると
  1. ブラウザseamonkey1.1.18にアドオンFlashGot1.5.3をインストール
  2. Eツール->FlashGot->Weitele einstellungen->FlashGot Medienタブを選択->Download-ManagerでUgetを選択->OK
  3. ブラウザでyoutube動画を視聴する。
  4. youtubeの再生を一時停止する。ステータスバーにFlashGotアイコンが現れるのでマウス右クリック。
  5. 画質に対応したリストが現れるので適当なものをクリック。
  6. Ugetが起動する。この時点でyoutube動画のアドレスがクリップボードにコピーされている。
  7. Ugetは何も操作せずにそのまま放置しておく。
  8. 端末を起動する。mplayer "youtubeアドレス"[Enter]と入力。ここでyoutubeアドレスは既にクリップボードにコピーされているのでマウスのスクロールボタンをクリックすると貼り付けされます。アドレスの両端を”(ダブルクォーテーション)で囲う必要があります。
 youtube以外の動画サイトでもこの方法で視聴可能なサイトがありました。同様の方法でgxineでも再生できます。ファイル->MRLを開く->マウススクロールボタンクリックでアドレス貼り付け->OKです。小生の低スペックPCでもyoutube動画をストリーミングで直接再生、高画質動画以外はコマ落ち無くスムーズに視聴できました。これは思ってもいなかった結果で驚きました。この方法はちょっと手数が多い(seamonkey->flash player->Flash Got->Uget->端末->MPlayerと操作しなければならない)ですがストレスを感じながら視聴するよりも良好な再生条件で視聴する方がいいと思いました。手数についてはスクリプトを自作すれば何とか効率化出来そうです。

スクリーンショット Uget, 端末, MPlayer, seamonkey

戻る | 次へ | 目次
inserted by FC2 system