オープンソースのマルチメディアプレイヤーといえば、
mplayer(ラッパツールとして有名なのは smplayer) か VLC(VideoLAN Client) ではないかと思います。
もちろん、フリー(無料)という意味では、特にWindowsでは多くの便利なプレイヤーが存在します。
ただ、Linuxなどのクロスプラットフォーム(マルチプラットフォーム)となると、やっぱり、この2つではないかと思います。
その中でも、かなり、安定して便利になったのが、VLC ではないかと思います。
今回は、その VLC を自分用にカスタマイズしてみます。
確かに、VLCと比較しても軽いです、起動時だけは。
ただ、OSによっては、かなりのメモリを消費することも知られていますし、 どうしてもディスクのパフォーマンス、CPUのパフォーマンスによって音ズレを起こしやすいです。(個人的なあくまで経験値です。)
それに比べて、VLCは立ち上がりこそ重たいですが、まあ、そこそこのPC上でもそこそこ動きます。 そういう点で、ここではVLCを選択しました。
- 目次
- 履歴
2015年1月30日 初版
最新のVLCをカスタマイズ、インストールする
ここでは、Ubuntu 14.04(LTS) に最新のVLCをインストールし、カスタマイズしてみます。
Ubuntu 14.04(LTS) でデフォルト提供されているVLCは、2.1.4 です。最新のVLC安定板は、2.1.5 なので、ここでは、2.1.5 をインストールしてみます。
VLC の最新版をインストールする
VLC の最新版をインストールには、
有志者による最新版VLCがppaから提供されていますので、 apt コマンドでインストールすることができます。
もちろん、VLCの最新版ソースコードからビルドすることでインストールすることもできます。
ここでは、その両方を簡単に解説してみます。
ppaを使って最新版をインストールする
VLC の最新版は、ppa インストールには、Ubuntu/Debianのバージョンによって異なります。
- Ubuntu LTS/Debian
https://launchpad.net/~n-muench/+archive/ubuntu/vlc2 にて提供されています。現在(2015.1)の最新版は、2.1.5 です。
- 通常 Ubuntu
https://launchpad.net/~n-muench/+archive/ubuntu/vlc にて提供されています。現在(2015.1)の最新版は、2.2.0 です。
- 安定板VLC
https://launchpad.net/~videolan/+archive/ubuntu/stable-daily にて提供されています。現在(2015.1)の最新版は、2.1.4 です。
ppaのインストール方法は、リポジトリ追加、アップデート、インストールの手順です。
以下に簡単に解説しておきます。
|
最新版をビルドしてインストールする
Ubuntu 14.05(LTS) のデフォルト提供バージョンは、2.1.4 or 2.1.2 です。
VLC の公式サイト( http://www.videolan.org/ ) で公開されている最新の安定板は、現在(2015.1) 2.1.5 なので、
ここでは、 2.1.5 をビルドしてみます。
カスタマイズが容易な点を見せたいので、
ついでに、音声切り替え対応パッチを充ててビルドしてみます。
これは、滅多にないですし、音声の切り替え(無効 ←→ トラックn)を手動で行う(以下の画面イメージ参照)と直るので、 パッチを充てるほどでもありません。
先の記述のように、ここではパッチの充て方も含めて解説してみたいので、あえて、パッチを充ててみます。
また、このパッチは、 ネット上に公開されているパッチを 2.1.5 に対応したものです。 (詳しくは、up0822.zip でGoogle検索すると出てきます。 提供元のサイトが、(あくまで個人的な見解として)グレーな情報も含まれているようなので、ここではURLを掲載しません。 ごめんなさい。パッチを公開いただいたことについては、この場を借りて、作者へ謝辞申し上げます。ありがとうございました。) 当たり前ですが、このパッチ自体は、何も問題ないですし、パッチを充てることにも何も問題はありません。
- まずは、ビルド環境をインストールする。
VLCをビルドするための最小限のパッケージをインストールします。
$ apt-get install build-essential devscripts ...
- VLCソースコードをダウンロードする。
ビルドのためのソースコードをダウンロードするために、以下のように リポジトリを指定します。
$ sudo vi /etc/apt/sources.list.d/official-package-repositories.list ... deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
ここでは、Ubuntu 14.05 の設定にならって、
/etc/apt/sources.list.d/official-package-repositories.list に追加しました。
一般的な Debian系ディストリビューションの設定にならって、
/etc/apt/sources.list に追加しても良いです。
リポジトリを変更したら、必ず、アップデートします。
$ sudo apt-get update ...
ソースコードをダウンロードします。
$ mkdir temp $ cd temp [temp]$ apt-get source vlc ...
ここでは、temp ディレクトリ配下にダウンロードしたかったので、temp ディレクトリを作成、移動しています。環境によって VLC 2.1.2 or VLC 2.1.4 と異なるバージョンがダウンロードされることがあります。 一応、ここでの解説では、2.1.5まで引き上げるので 2.1 系であれば問題ありません。
以降の解説では、VLC 2.1.4 がダウンロードされたものとして解説します。
ダウンロードできたか確認しておきましょう。
[temp]$ ls ... vlc-2.1.4 ... [temp]$ mv vlc-2.1.4 vlc-2.1.5 [temp]$
vlc-2.1.x でダウンロードしたVLCのバージョン含みのディレクトリが作成できていればOKです。 また、作成されたVLCディレクトリを最新バージョン(ここでは 2.1.5 )に合わせて、名前を変更しておきます。
- 依存パッケージをインストールする。
VLCの依存関係のあるパッケージをインストールします。
$ apt-get build-dep vlc ...
手動で必要なパッケージをインストールするなら、以下のようにつらつらとタイプすることになるでしょう。
$ apt-get install fonts-freefont-ttf vlc-nox libaa1-dev libc6-dev libcaca-dev libfreetype6-dev libfribidi-dev libgl1-mesa-dev libqt4-dev libsdl-image1.2-dev libsdl1.2-dev libstdc++6-4.6-dev libtar-dev libva-dev libva-dev libvlccore-dev libx11-dev libxcb-composite0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shm0-dev libxcb-xv0-dev libxcb1-dev libxext-dev libxinerama-dev libxpm-dev zlib1g-dev ...
- 最新のVLCソースコードをアップデートする。
VLCの最新ソースコードをダウンロードし、ソースコードをアップデートします。
[temp]$ wget http://get.videolan.org/vlc/2.1.5/vlc-2.1.5.tar.xz ... [temp]$ tar Jxf vlc-2.1.5.tar.xz [temp]$
これで、temp/vlc-2.1.5 配下のソースコードが、最新にアップデートされました。
- パッチを充てる。
パッチが必要ない方は、次へスキップしてください。
音声切り替えパッチ vlc-2.1.5.patch.gz をダウンロードし、先に作成しVLCのソースコード一式をダウンロードしたディレクトリ ( temp )へコピーします。
# gzip解凍する [temp]$ gunzip vlc-2.1.5.patch.gz # パッチを充てる [temp]$ patch -p1 < vlc-2.1.5.patch patching file vlc-2.1.5/modules/codec/faad.c patching file vlc-2.1.5/modules/packetizer/mpeg4audio.c patching file vlc-2.1.5/src/input/decoder.c [temp]$
パッチの -p1 は、パッチファイルで指定していある論理パスを1つ繰り上げるという指定です。
パッチファイルを見ると、以下のように記述があります。
ここでは、vlc-2.1.5/ 配下にパッチを充てたいわけですから new というディレクトリは存在しません。 そこで、 -p1 を指定することで、この new というディレクトリをスキップさせることができます。... --- new/vlc-2.1.5/modules/codec/faad.c 2014-12-31 04:42:00.397434300 +0900 ...
- ビルドする。
ビルド実行の前に、パッケージバージョンを変更しておきます。
vlc-2.1.5/debian/changelog の先頭に以下のような形式でバージョン情報を挿入します。
[temp]$ vi vlc-2.1.5/debian/changelog vlc (2.1.5-1) unstable; urgency=medium * update 2.1.5 release and audio patch -- hoge
Sun, 25 Jan 2015 21:31:11 +0200 ...ここで入力した情報がパッケージバージョンとして使用され、各debファイルの名前にも使用されます。
いよいよ、ビルド実行です。[temp]$ cd vlc-2.1.5 [temp/vlc-2.1.5]$ dpkg-buildpackage -uc -b ...
[ dpkg-buildpackage のパラメータの意味 ]
パラメータ 意味 -uc .changesファイルへ書き込みません。 -b バイナリパッケージのみ作成します。
ソースコードを含みません。-d ビルドの依存関係とコンフリクトをチェックしません。 (終了するまで結構な時間がかかります)コマンドが終了したら、debパッケージが作成されたか 確認しておきます。
[temp/vlc-2.1.5]$ ls ../*.deb ... libvlc-dev_2.1.5-1_i386.deb vlc-plugin-jack_2.1.5-1_i386.deb libvlc5_2.1.5-1_i386.deb vlc-plugin-notify_2.1.5-1_i386.deb libvlccore-dev_2.1.5-1_i386.deb vlc-plugin-pulse_2.1.5-1_i386.deb libvlccore7_2.1.5-1_i386.deb vlc-plugin-sdl_2.1.5-1_i386.deb vlc-data_2.1.5-1_all.deb vlc-plugin-svg_2.1.5-1_i386.deb vlc-dbg_2.1.5-1_i386.deb vlc-plugin-zvbi_2.1.5-1_i386.deb vlc-nox_2.1.5-1_i386.deb vlc_2.1.5-1_i386.deb vlc-plugin-fluidsynth_2.1.5-1_i386.deb
上記は、32bitOSでのビルド結果ですので、ファイル名の末尾が、…._i386.deb となっています。
- パッケージをインストールする。
先に作成した debパッケージをインストールします。
# カレントディレクトリを debパッケージのあるディレクトリへ移動します。 [temp/vlc-2.1.5]$ ls .. # vlc-plugin-fluidsynth には、fluid-soundfont-gm | musescore-soundfont-gm 依存があるので、 # まずは、そちらをインストールします。 [temp]$ apt-get install fluid-soundfont-gm musescore-soundfont-gm ... # このディレクトリ配下の debパッケージを全てインストールします。 [temp]$ sudo dpkg -i *.deb ...
- libvlc-dev_2.1.5-1_i386.deb
- libvlccore-dev_2.1.5-1_i386.deb
これで、vlcのインストールが完了しました。
最後に、ここでインストールしたvlcは、通常のvlcと異なるので、apt コマンドのアップデートで、vlcがアップデートされないようにしておきます。[temp]$ echo vlc hold | dpkg --set-selections
保留の設定方法は、Debian(Ubuntu)で apt-get upgrade で自動更新したくない場合の対応 を参照してください。
VLC プラグイン srpos をインストールする
VLC プラグイン VLC srpos plugin は、
再生を停止した位置を自動で保存し、次回再生時は、その位置から再生をしてくれるというものです。
他のメディアプレーヤーでは、デフォルトで備わっている機能?かもしれませんが、VLCでは、プラグインで提供されています。
このプラグインをインストールしてみましょう。
- 必要なパッケージをインストールします。
プラグインをビルドするための最低限のパッケージをインストールします。
[temp]$ apt-get install build-essential pkg-config ...
また、libvlccore-devパッケージがインストールされいない場合は、インストールします。
[temp]$ dpkg -l libvlccore-dev ... ii libvlccore-dev 2.1.5-1 i386 development files for libvlccore
上記のように先頭に ii 出力された場合は、インストール済なので、何もしなくてもOKです。
ii でない場合は、インストールされていませんので、インストールします。[temp]$ sudo apt-get install libvlccore-dev ...
- プラグインの最新版をダウンロードし、解凍します。
# プラグインの最新版をダウンロードします。 [temp]$ wget http://downloads.sourceforge.net/project/vlcsrposplugin/libsrpos_plugin-0.3.tar.gz ... # プラグインした最新版を解答します。 [temp]$ tar xfz libsrpos_plugin-0.3.tar.gz [temp]$
- プラグインをビルドします。
ビルドし、インストールします。
# カレントディレクトリをプラグインのディレクトリへ移動します。 [temp]$ cd libsrpos_plugin-0.3 # 環境チェック&設定を行います。 [./libsrpos_plugin-0.3]$ sudo ./configure ... # ビルドします。 [./libsrpos_plugin-0.3]$ sudo make ... # libsrpos_plugin.so が作成されたことを確認します。 [./libsrpos_plugin-0.3]$ ls .libs/ libsrpos_plugin.la libsrpos_plugin.so libsrpos_plugin.lai libsrpos_plugin_la-srpos.o # libpause_click_plugin.so をインストールします。 [./libsrpos_plugin-0.3]$ sudo make install ...
- 最後に保存し、VLCを再起動します。
インストールを終えたら、プラグインを有効に設定します。
- メニューの [ ツール ] – [ 設定 ] をクリックし、設定画面左下のすべてをチェックします。
- 次に、設定画面の左、[ インターフェイス ] – [ 制御インターフェイス ] をクリックします。
- 次に、設定画面の右、[ Save/restore position of the last played files ] をチェックします。
- 最後に保存し、VLCを再起動します。
VLC プラグイン Pause Click をインストールする
VLC プラグイン Plugin for VLC that pauses/plays video on mouse click は、
VLCの画面をマウスでクリックすることで、一時停止、再生を行ってくれるものです。
他のメディアプレーヤーでは、デフォルトで備わっている機能?かもしれませんが、VLCでは、プラグインで提供されています。
このプラグインをインストールしてみましょう。
- 必要なパッケージをインストールします。
プラグインをビルドするための最低限のパッケージをインストールします。
[temp]$ apt-get install build-essential pkg-config ...
また、libvlccore-devパッケージがインストールされいない場合は、インストールします。
[temp]$ dpkg -l libvlccore-dev ... ii libvlccore-dev 2.1.5-1 i386 development files for libvlccore
上記のように先頭に ii 出力された場合は、インストール済なので、何もしなくてもOKです。
ii でない場合は、インストールされていませんので、インストールします。[temp]$ sudo apt-get install libvlccore-dev ...
- プラグインの最新版をダウンロードし、解凍します。
# プラグインの最新版をダウンロードします。 [temp]$ wget https://github.com/nurupo/vlc-pause-click-plugin/archive/master.zip -O vlc-pause-click-plugin.zip ... # プラグインした最新版を解答します。 [temp]$ unzip -q vlc-pause-click-plugin.zip [temp]$
- プラグインをビルドします。
ビルドし、インストールします。
# ビルドします。 [./vlc-2.1.x]$ make ... # libpause_click_plugin.so が作成されたことを確認します。 [./vlc-2.1.x]$ ls Makefile README.md libpause_click_plugin.so pause_click.c pause_click.o # libpause_click_plugin.so をインストールします。 [./vlc-2.1.x]$ sudo make install ...
環境によっては、Ubuntuで以下のようなエラーが出力されました。このようなエラーが出力されたら、以下のようにMakfileを編集してやるとうまくいくことがあります。... cc -std=gnu99 -Wl,-no-undefined,-z,defs -lvlccore -shared -o libpause_click_plugin.so pause_click.o pause_click.o: 関数 'mouse' 内: ../temp/vlc-pause-click-plugin-master/vlc-2.1.x/pause_click.c:49: 'pl_Get' に対する定義されていない参照です ../temp/vlc-pause-click-plugin-master/vlc-2.1.x/pause_click.c:50: 'playlist_Status' に対する定義されていない参照です ../temp/vlc-pause-click-plugin-master/vlc-2.1.x/pause_click.c:50: 'playlist_Control' に対する定義されていない参照です collect2: error: ld returned 1 exit status
# カレントディレクトリをプラグインのディレクトリへ移動します。 [temp]$ cd vlc-pause-click-plugin-master/vlc-2.1.x # Makefile を編集します。 [./vlc-2.1.x]$ vi Makefile ... # コメントアウトし、以降のように変更します。 #override LDFLAGS += -Wl,-no-undefined,-z,defs override LDFLAGS += -no-undefined -z defs ... # コメントアウトし、$(CC) → $(LD) へ変更します。 #libpause_click_plugin.so: $(SOURCES:%.c=%.o) # $(CC) $(LDFLAGS) -shared -o $@ $^ libpause_click_plugin.so: $(SOURCES:%.c=%.o) $(LD) $(LDFLAGS) -shared -o $@ $^ ...
上記のエラーは、リンク時にpl_Get … などが見つからなかったということのようです。
しかし、libvlccore を確認してみると、以下のようにちゃんとあるようです。
上記の変更では、cc コマンドでなく ld コマンド直に使用するように変更したものです。 このリンクエラーには、ちょっと時間がかかってしまいました。参考になればと思います。$ readelf -s /usr/lib/libvlccore.so|grep pl_Get 373: 00023bd0 2373 FUNC GLOBAL DEFAULT 11 pl_Get
- 最後に保存し、VLCを再起動します。
インストールを終えたら、プラグインを有効に設定します。
- メニューの [ ツール ] – [ 設定 ] をクリックし、設定画面左下のすべてをチェックします。
- 次に、設定画面の左、[ ビデオ ] – [ フィルター ] をクリックします。
- 次に、設定画面の右、[ Pause/Play video on mouse click ] をチェックします。
- 最後に保存し、VLCを再起動します。
VLC の 進む・戻る の秒数を設定する
VLC では、前後にスキップする秒数を設定することができます。
この機能により、HDDレコード・プレーヤーのように 30秒スキップ、10秒戻しなどが、自分で自由にカスタマイズできます。
ここでは、その設定を簡単に解説してみます。
- メニューの [ ツール ] – [ 設定 ] をクリックし、設定画面左下のすべてをチェックします。
上記画面は、画面が小さくなっているので左部が隠れています。左へスクロールさせると以下のような表示が出てきます。
- 次に、設定画面の左、[ インターフェイス ] – [ ホットキー設定 ] をクリックします。
- 次に、設定画面の右、以下の各項目に秒数を設定します。
- ほんの少し戻ったり、進んだりする長さ : デフォルト 10 秒
- 少し戻ったり、進んだりする長さ : デフォルト 30 秒
- 戻ったり、進んだりする長さ : デフォルト 60 秒(1 分)
- かなり戻ったり、進んだりする長さ : デフォルト 300 秒(5 分)
また、キー割り当てを変更したい場合は、画面上部で各項目を変更します。
- 最後に保存し、VLCを再起動します。
VLCは、非常に便利なツールです。ただ、多少、痒い所に手が届かない?ところがあって、上記のようにカスタマイズしてみました。
動画をテレビの大画面で見るときは、スキップ秒数の設定やキー割り当ては、非常に便利な機能です。 また、ここで追加インストールしたプラグインも、非常に便利な機能です。長い動画では、一気に観れないので、後で見ることも多いですから、位置を保存してくれるのは、大変、ありがたいです。 さらに、一時停止をボタンクリックで行うのは、非常に不便さを感じていました。やっぱり、画面をクリックするだけで、とりあえず、一時停止できるのはうれしいですね。
VLCは世界で使われている最もメジャーなメディアプレーヤーの一つでしょうから、もっともっと便利な使い方もあると思いますのでチャレンジしてみはいかがでしょうか。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
2015年2月25日, 5:55 PM
Hey, I’m the maintainer of the “VLC プラグイン Pause Click”.
The issue mentined in “環境によっては、Ubuntuで以下のようなエラーが出力されました。” was fixed with 2c317d0 commit