ここではVideoCDやAVIファイルなど多くのメディアファイルに対応するxine をインストールし、 Vine LinuxでDVDを観賞できるようにします。
DVDを観よう!
/ Ubuntu編
/ xine-0.9.x の導入
/ ogle の導入
/ mplayer の導入
/ CSSについて
Vine Linux 4.2 では Totem Media Player が動画再生の標準となっています。 ただしMPEGを再生するには totem-xine パッケージが必要です。 totem-xineをインストールすると依存性で xine-libも自動で入ってくれますが、 音声出力に必要な xine-lib-esd は別途インストールしなければなりません。 この2つは必須ですが、ついでに Synaptic で xine を検索し、 xine-lib-なんとか を全部インストールしておくといいでしょう。
特許の問題などがあって、 Vineで提供される Xine-libのパッケージには一部の機能が外されています。 それらは self-build-xxx のパッケージの形で提供されています。
Synapticを使うこともできますが、恐ろしく時間(15分以上)がかかるので、フリーズしたように見えます。 仮想コンソールからのほうがいいでしょう。rootになってから次のコマンドを実行します。
apt-get install self-build-xine-lib-extras
無事に済めば xine-lib-mad, xine-lib-a52dec, xine-lib-extras, xine-lib-faad などがインストールされます。
これで自作のDVDは再生できますが、市販のDVDを観るには、libdvdcssが必要です。
libdvdcss-1.2.9-2.nosrc.rpm
をダウンロードしてください。
ソースの libdvdcss-1.2.9.tar.bz2あるい は libdvdcss-1.2.9.tar.gzをVideoLAN
から。
リビルドし、インストールしてください。
CSSで暗号化されているDVD(市販のDVDの多く)を再生する必要が無ければ、逆に必須ではありません。
以上でaviや asf, wmvの多くも再生できますが、wm9など、一部のものは mplayerのページで配布している追加コーデックが必要なようです。 essential*.tar.bz2 をダウンロードし、解凍したものを /usr/lib/codecs ディレクトリ内に置きます。
あるいは、後の章にある xine-lib-*.nosrc.rpm をリビルドする場合や mplayerの導入で mplayer-codecs が作られるので、 これをインストールすることでも上記と同じことができます。
あるいは、xine-lib や mplayerをリビルドしないが、コーデックもRPMで管理したい人のために、
mplayer-codecs-X-0.nosrc.rpmを作りました。
essential-*.tar.bz2 を ~/rpm/SOURCESに置いて下さい。
mplayer-codecs-X-0.nosrc.rpmをリビルドしてできる mplayer-codecs をインストールすることでも上記と同じことができます。
ところが totem-xine はこれを読んでくれず、~/.gnome2/totem-addons ディレクトリを見に行くようです。 しかたがないので、/usr/lib/codecsにコーデックを置いたら、次のようにシンボリックリンクを張ります。
cd ~/.gnome2/totem-addons ln -sf /usr/lib/codecs/* ./
VinePlusで供給されている xine-lib-*.0vl*.i386.rpmをインストールしている場合は、xine-lib-w32dll を追加インストールしてください。 ここで配布している xine-lib-*.nosrc.rpm から作られた xine-lib をインストールしている場合は、この操作は不要です。 Synupticを使うか、あるいは仮想コンソールでrootになって、
apt-get install xine-lib-w32dll
たとえば、i865などのグラフィックチップでは、画面が斜めの縞状に流れてしまうといったことがあります。 これはビデオドライバとして xshmを指定することで解決します。
~/.gnome2/totem_config に次の1行を加えます。
video.driver:xshm
あるいは、~/.xine/config の「# 使用する動画ドライバ」のあたりに 次の1行を加えます。
video.driver:xshm
gmlayerで設定することができますが、ドライバの名前は「x11 X11(XImage/shm)」と表記されています。 設定ファイルを直接編集する場合は、 ~/.mplayer/gui.conf に次の1行を加えます。
vo_driver = "x11"
Vine Linux 3.0以降では -develパッケージの多くは標準インストールでは入りません。 次の -develパッケージとbisonが必要なので、追加インストールしてください。 Vine FTPサイトのVine-3.2/i386/Vine/RPMS.develのディレクトリにあります。 aptを使う場合は root権限で apt-get install gtk2-devel など。
次のパッケージは それぞれの形式のマルチメディアを再生する場合に必要なもので、DVDの再生には必須ではありません。
上記を順にリビルド、インストールしてください。
src.rpm,nosrc.rpmからのリビルドについてはこちらを参考にしてください。
xineはデフォルトで /dev/dvd がDVDドライブを示しているものとして動作します。 DVDドライブがたとえば /dev/hdc であるとき、シンボリックリンクを張ってやります。 root権限で
# ln -s /dev/hdc /dev/dvd
SCSIに繋がっていたりSCSIエミュレーションを使っている場合はたとえば1台目のドライブならば /dev/scd0 であったりします。
1台のドライブをDVDとCDと兼用する場合は /dev/cdrom へも同じリンクを張っておくと便利です。 このリンクはふつう始めから作られているでしょう。逆に $ ls -l /dev/cdrom としてみることで、 ドライブのデバイス名が分かります。
root権限で
# /usr/sbin/regionset /dev/dvd
を実行します。 すでにリージョンコードが設定されていればそれが表示されます。 このツールで変更もできますが、変更回数は通常5回程度以内に制限されています。 あと何回変更可能かはこのツールで表示されます。 日本のリージョンコードは[2]です。
xineの旧バージョンを入れていた場合、~/.xine ディレクトリに以前の設定が残されていてこれが悪さをすることがあります。
$ rm -fR ~/.xine
としてこれを削除しておきます。
DVDをドライブに挿入し、xineを起動します。エラーメッセージを見るためにX上でktermやxtermなどのターミナルを起動し、コマンドラインで xine と入力して起動してみます。 その前にもう1つ仮想ターミナルを起動しておきます。 これはxineを非常停止させるときに役立ちます。 操作ボタンの「DVD」をマウスでクリックします。「dvd://」と表示されたらプレイボタンをクリックするとメニュー(があれば)表示されるので、望むシーンをクリックします。
rootユーザーなら視聴できて一般ユーザーでは問題が起こる場合は デバイスのパーミッションに問題があります。 シンボリックリンクではなく大本の /dev/hdc などが一般ユーザーから読み書きできなければなりません。(CSS鍵を渡すために書き込み権限が必要)。
xine-0.9.xで再生できなかった
『ハリー・ポッター』は xine-1で再生できるようになりました。
しかし別のDVDでは冒頭のあたりで音声が途切れ、フリーズ。
$ rm -fR ~/.xine
で設定をクリアすると再生できたようですが、
正しい原因はよく分かりません。
フリーズするとXも一時機能が止まるので、あらかじめ起動しておいた仮想コンソールから
$ killall -KILL xine
とすることで強制終了します。
あるいは
Ctrl+Alt+F1 などでコンソールにログインし
同様コマンドでxineを強制終了し、 Ctrl+Alt+F7 あたりでもとのXに戻ることができます。
フリーズの原因は私の場合、オーディオドライバーとしてesdを使う場合のようです。
$ xine -A oss
で起動してossの使用を指定してやれば安定して動いています。
ビデオドライバーも適切でないとトラブルを起こします。
$ xine -V xv
などのように使用するビデオドライバーを指定できます。
有効なビデオドライバー、オーディオドライバーは
$ xine --help
で表示されます。
あるいはGUIの設定ツールでドライバーを変更することができます。 ただし、設定ウィンドウが出たら「gui」のタブで「設定レベル」とあるところを 「Bigginer」から「Advanced」に変更、「適用」を押してから、 「audio」、「video」それぞれのタブでそれぞれのドライバを設定してください。