OMS How-To http://www.linuxvideo.org/ 12/18 翻訳:中谷千絵 (jeanne@mbox.kyoto-inet.or.jp) 日本語訳:2001/01/18 最新版: Linux で DVD 映像を再生する方法について(できれば)簡単に説明を 行います。 ______________________________________________________________________ 目次 1. はじめに 1.1 目的 1.2 謝辞 2. 必要な環境 3. インストール 3.1 カーネル 3.2 OMS とその他のライブラリを入手する 4. oms をコンパイルする準備 5. ライブラリをコンパイルする 6. oms をコンパイルする 7. インストールを確認する 8. はじめて起動する 9. 一般的な問題 9.1 音がでない 9.2 Segmentation faults 9.3 DVDDB errors 9.4 同期についての問題 10. よくある質問集(FAQ) 10.1 Xv extension が使われているかどうかはどうしたらわかりますか。 10.2 ''xdpyinfo'' というコマンドは、Xvideo extension を使っているのを示しますが、 出力が遅く、 oms の出力で Xvideo を使っていないように見えます。これはな ぜでしょうか。 10.3 ATI カードを使っていますが、Xvideo サポートを得るにはどうしたらよいですか? 10.4 play(再生)ボタンを押すと oms がクラッシュするのはなぜですか。 10.5 OMS のコンパイルはうまくいきましたが、起動させると次ようなエラーが 発生します。 10.6 oms をコンパイルするときに、''unresolved symbol''というエラーが発生しますが、 なぜですか。 10.7 私はたいしたプログラマではありませんが、その安定性とネットワークのために、 *nix (訳注:UNIX 系 )を使っています。OMS のバイナリディストリビューションに はどんなものがありますか。 10.8 OMS をコンパイルすると、''Warnings being treated as errors''( )という行が 表示され、それが数行続き、その後コンパイルが停止してしまいます。どうすれ ばうまくいきますか。 ______________________________________________________________________ 1. はじめに 1.1. 目的 この文書の目的は Linux で DVD 映像を再生する方法について順を追って説明 することです。できる限り簡潔にしようと思いますが、わかりにくかったり間 違いがあれば、お知らせ頂ければ修正します。何か質問があれば、livid- user-subscribe@linuxvideo.org livid-dev-subscribe@linuxvideo.org 宛に、本文 なしの email を送れば、livid-dev メーリングリストに登録できます。 訳注:この文書は LiViD Projects が公開している OMS-HOWTO の日本語版で す。 OMS (Open Media System)は、日々開発されており、文書も日々更新され ています。したがってこの文書の内容は実情にあわない部分もあると思います が、 Linux で DVD を使うためのとても有益な情報が含まれています。この文 書を参考にされる場合は、あわせて次のところにある最新情報も必ず確認して ください。 Oms How To 著作権と商標 このマニュアルは、使用料はいりませんが、次のような制限項目で、全部、あ るいは一部を複製してもかまいません。 o 上述の著作権に関する注意とこの許諾についての注意は、全文、あるいは 部分的な複製物にそのまま添付しなければいけません。 o どのような翻訳や派生した仕事も、配布する前に書面で著者に許可を得な ければいけません。 o この文書の一部を配布するなら、この文書の完全版を入手できる指示が書 かれていなければいければいけません。さらに、完全版を入手する方法が 書かれていなければいけません。 o 適切な引用であるなら、ここに示した許諾なしに他の仕事で一部分の紹介 あるいは引用として複写されるのはかまいません。 教育目的で使用されるなら、このような規則についての例外を認めます。著者 に連絡して尋ねてください。このような制限事項は、学生や教育者を制限する ものではなく、著者を保護するためのものです。この文書にあるどのような ソースコード(この文書が SGML で書かれているのは別として)も、GNU 一般公 共使用許諾契約書もとにあります。GNU 一般公共使用許諾契約書は、次のとこ ろからアノニマス FTP で入手できます。 the GNU archive 1.2. 謝辞 最初にこの文書を書き、維持していた Nathan Rowlan nkr@helo.org に感謝。現在、維持管理はLiViD サポートチームに引 き継がれています。 OMS の著者とその他の LiViD の開発者に感謝します。彼らは自分たちの多く の時間と働きをプロジェクトに捧げました。さらに、この HOWTO をよりよい ものにするために協力を頂いた人たちに感謝します。 訳注:OMS は Open Media System の略です。 この HOWTO の構成のほとんどは、Mark F. Komarinski によって書かれた HOWTO-HOWTO を参考にしました。HOWTO-HOWTO は次のところから入手できま す。 http://www.linuxdoc.org/ 2. 必要な環境 この HOWTO は次のような環境を想定しています。 o dvd を読み出すのに十分速いコンピュータと (または)サポートされた dvd カードが必要です。現在次のカードがサポートされています。 o Matrox g400/g200 サポートされつつあるカードは次のものです: o drr2/dxr3 cards o 3dfx cards o Linux のカーネル v2.2.x またはそれ以上。 DVD ioctls を組み込んだ カーネル。 o XFree86 3.3.X または、 4.x o Linux でサポートされている A DVD-ROM/RAM/RW ドライブ (ほとんどのも のはサポートされています)、または .vob をサポートしているもの。 o cvs client: http://www.cyclic.com/ o bash と英語について相応の知識があること。 o 次に示すライブラリーがインストールされていること。 (一般的なディス トリビューションパッケージを使う人たちにとっては .nr ll -1 o GNU Libc 2.1 か、それ以上のもの。 (OMS をコンパイルするために必 要で、その他の inttypes.h を必要とするものもあります。) o GLIB >= 1.2.5 o GTK >= 1.2.5 o GDK PIXBUF >= 0.8.0 o libxml 1.0 (libxml2 ではありません) o zlib o XFree の開発用ライブラリ 3. インストール 3.1. カーネル カーネルは少なくとも 2.2.16 同等の最新のものであること、または、2.4 系 ではすでに DVD ioctl support をサポートしていますから、カーネルのコン フィグレーションで、 MTRR support をチェックしているかどうかを確認し、 通常の方法でコンパイルし、インストールすればよいです。 現在使っているカーネルにパッチをあてたいなら、次のところで、 http://www.kernel.dk/ お使いのカーネルに対する 正しいパッチを入手しましょう。 カーネルのインストールの方法やパッチをあてる方法がわからないなら、 Kernel HOWTO を読んでください。 http://howto.tucows.com/LDP/HOWTO/Kernel-HOWTO.html 3.2. OMS とその他のライブラリを入手する # export CVSROOT=:pserver:anonymous@cvs.linuxvideo.org:/cvs/livid # cvs login (パスワードを入力するプロンプトが出たらリターンキーを押します) # cvs -z3 co -P libvo # cvs -z3 co -P libcss # cvs -z3 co -P oms 次のところから日々リリースされる tar ボールを入手することもできます。 http://www.linuxvideo.org/devel/dl.html さらに、libvo で動くようにパッチされた Yoannの mpeg2dec ディストリ ビューションが必要です。次のところから入手できます。 http://www.mandrakesoft.com/~yoann/projects/dl/ これを書いている時点 では、ダウンロードしなくてはいけないファイルは、 mpeg2dec-patched-for- new-libvo.1.tar.gz という名前になっています。 注意:現在のところ、通常の MPEG2DEC ディストリビューションは使えませ ん。共有ライブラリを構築しないので、LIBVO を動かすことができません。 4. oms をコンパイルする準備 X4.0.1 をお使いなら、OMS をコンパイルする前に、root 権限で次の作業を行 いましょう。これは、X4.0.1 をお使いなら、ほとんどの人にとってとても重 要な作業です。ほとんどのディストリビューションでは共有する形で次に示す ライブラリを持っていません。 # cd /usr/X11R6/lib/ # ld --whole-archive -shared -o libXv.so libXv.a # ld --whole-archive -shared -o libXxf86dga.so libXxf86dga.a # ldconfig 5. ライブラリをコンパイルする libvo(ビデオ出力ライブラリ) をビルドし、インストールします # cd libvo # ./bootstrap # ./configure --disable-sdl # make install # ldconfig このとき、標準の X11/DGA ビデオのような、性能は出ないので、 SDLでコン パイルすることは、お奨めしません。しかし、X11/DGA に問題があるな ら、SDL を使うように試してください。 Yoann の mpeg2dec を解凍し、ビルドし、インストールします。 # tar xzvf mpeg2dec-patched-for-new-libvo.1.tar.gz # cd mpeg2dec.patched.ok # ./bootstrap # ./configure # make install # ldconfig libcss をビルドし、インストールします(ほとんどの場合そうなっています が、符号化した DVD を見たいなら必要です)。 # cd libcss # ./bootstrap # ./configure # make install # ldconfig 6. oms をコンパイルする # cd oms # ./boostrap # ./configure --help --help を使ってオプションを読んでください。そして、ハードウェアに特化 する任意のオプションを使います。 # ./configure --disable-sdl これが見つからないとか、 上述した必要なライブラリを問い合わせることが できないというような何かエラーを表示するなら、ないものはすべてインス トールします。これはとても重要です。 # make # make install-strip # mkdir ~/.oms/ # cp doc/config.sample ~/.oms/config お使いのシステムにあわせて /.oms/config を編集します(デバイスの設定を 確認)。また、output_audio_plugin を ''=sys''に変更します。 7. インストールを確認する # cd /usr/local/lib/libvo # ls display*so display_null.so* display_sdl.so* display_x11.so* # cd /usr/local/lib/oms/plugins/ # ls audio*so audio_esd.so* audio_null.so* audio_sys.so* audio_wav.so* もっとも重要な2つのものは、x11 と sys で、これが望みのものです。 8. はじめて起動する # oms o playlist ボタンをクリックします。 o scan dvd をクリックします。 o cross fingers(幸運を祈りましょう) o これらのうちのひとつをダブルクリックします。 訳注: scan dvd でリストされたファイル名をダブルクリックするより、 skin の play ボタンを選択するほうがよいです。 9. 一般的な問題 9.1. 音がでない oms の音を出すことができない、あるいは音が変則的に変わるなら、esd が動 いていないかもしれません。 # killall esd または、 # esdctl off その他音に関する既知の問題があります。これを修正するには、次のようにし てください。 o 設定ボタンをクリックする(デフォルトのスキンでは一番左のボタンで す)。 o オーディオ出力つまみを選択する。 o 一度無効をクリックする(選択しているように見えないかもしれませ ん)。 o .nr bi 1 一度 sys をクリックする(選択しているように見えないかもしれませ ん)。 o .nr ll -1 これで DVD の再生で音声を出力できるはずです。 9.2. Segmentation faults 現在の段階では、多くのことが segmentation faults の原因になっていま す。 o x11 出力のプラグインに切替えたとき。 o インストール段階で、ld を実行していない。 9.3. DVDDB errors dvddb.c:_dvddbOpen#297 cannot open DVDDB cache file (DVDDB キャッシュファイルを開けません) (/home/user/.oms/dvddb/247C68D6) 開くことができないというエラーを出すファイルをいじる、あるいは、oms を 修正する(nav_dvd.c)ことでこれを回避できます。 9.4. 同期についての問題 同期についてのコードはまだ完成していませんので、オーディオとビデオで、 同じ速度で再生できないということについてはコメントができません。どうぞ 我慢してくださいね。 10. よくある質問集(FAQ) 10.1. Xv extension が使われているかどうかはどうしたらわかりますか。 2つのテスト方法があります。 o ldd /usr/local/lib/oms/plugins/display_x11.so と入力すると、 libXv.so に関して次のような何か表示があるはずです。 libXv.so => /usr/X11/lib//libXv.so (0x40035000) (訳注: ldd はライブラリの依存関係を調べます。man ldd で確認して ください。) o oms を起動させたときに、画面には次のような表示が出ます。 $ oms Opened audio device "/dev/dsp" Using MMX for IDCT transform Using MMX for motion compensation LOG_ERROR video_out_x11.c:_x11_setup#289 Xvideo image format: 0x32595559 (YUY2) packed LOG_ERROR video_out_x11.c:_x11_setup#289 Xvideo image format: 0x32315659 (YV12) planar LOG_INFO video_out_x11.c:_x11_setup#301 using Xvideo port 38 for hw scaling o oms を再生中、真っ黒な画像(映画)の場合、ブルーバックになりま す。 10.2. Xvideo extension をロードすると思われるいくつかのビデオカードがありま すが、まだサポートされていません。oms の出力で何も示されないな ら、Xvideo が本当にロードされているかどうかを見るために次のようにして みてください。 grep Xvideo /var/log/XFree86.0.log これで、 Xvideo につ いて何もないなら、お使いのカードのチップセットは、まだサポートされてい ないのでしょう。しかし、ATI のチップセットは、公式にはサポートされてい ませんが、パッチがあり、ネット上で援助が得られるでしょう。 訳注:原文では、Xvideo extension と書かれていますが、 XVideo でも試し てみてください。訳者のログでは次のような行が見つかります。 grep XVideo XFree86.0.log で、次のような行が見つかります。 (II) Loading extension XVideo また、 XFree86 X Video Extension (Xv) についての詳細は次のところを見て ください(XFree86[tm] 4.0.2 の文書です)。 The XFree86 X Video Extension 10.3. ATI カードを使っていますが、Xvideo サポートを得るにはどうしたら よいですか? http://linuxvideo.org の gatos セクションから利用できる ati_xv という 名前のドライバがあります。ati_xv は少なくともXFree86 (4.0.1)の ati_drv.o ドライバを置き換えます。 XFree86 4.0.1 のソースが必要になり ますが、入手してインストールする価値はあるでしょう。 10.4. play(再生)ボタンを押すと oms がクラッシュするのはなぜですか。 oms の画面を開き、config ファイルを検討してください。まずビデオ出力部 分を見てください。現在のところ、OMS は利用できるドライバをディスプレイ で使います。お使いのドライバが無効になっていると、(少なくとも)x11 ドラ イバを組み込めません。null が表示された出力ドライバだけになっているな ら、 /.oms/config で output_video_plugin を見てください。リストにない ものが plugin に設定されていると、output video plugin がインストールさ れないので、oms はクラッシュします(segfault)。x11 に設定されていてもク ラッシュするなら、この HowTo にある ''OMS をコンパイルするために準備す ること''の項目を見てください。 10.5. OMS のコンパイルはうまくいきましたが、起動させると次ようなエ ラーが 発生します。 Gdk-CRITICAL **: file gdkwindow.c: line 1390 (gdk_window_get_size): assertion `window != NULL' failed. Gdk-CRITICAL **: file gdkpixmap.c: line 63 (gdk_pixmap_new): assertion `(width != 0) && (height != 0)' failed. Gdk-CRITICAL **: file gdkdraw.c: line 379 (gdk_draw_pixmap): assertion `drawable != NULL' failed. Gdk-CRITICAL **: file gdkwindow.c: line 1390 (gdk_window_get_size): assertion `window != NULL' failed. Gdk-CRITICAL **: file gdkdraw.c: line 379 (gdk_draw_pixmap): assertion `drawable != NULL' failed. Gdk-CRITICAL **: file gdkwindow.c: line 1390 (gdk_window_get_size): assertion `window != NULL' failed. Gdk-CRITICAL **: file gdkdraw.c: line 379 (gdk_draw_pixmap): assertion `drawable != NULL' failed. これらは oms config(通常は、 $HOME/.oms/config におきます)ファイルが ちゃんと設定されていないのが原因です。skin がうまくいっていません。初 回は config.sample をconfig という名前で、 $HOME/.oms/config に置く か、それを自分で編集して使うことができます。このようなエラーは skin を 選択していないのが原因です。config file に skin=some 、あるい は、skin=deepspace を宣言する行を書かなければいけません。これを修正す れば、oms は動くはずです。 10.6. oms をコンパイルするときに、''unresolved symbol''というエラーが 発生しますが、 なぜですか。 これらのエラーは通常 oms 内での不完全な依存関係に原因がある、あるい は、古いコンパイラーを使うと起こります。エラーが __*sdl* のようなもの なら、 oms が選択的に望むものよりも古いバージョンの場合に起こります。 10.7. 私はたいしたプログラマではありませんが、その安定性とネットワー クのために、 *nix (訳注:UNIX 系 )を使っています。OMS のバイナリディス トリビューションに はどんなものがありますか。 現在のところ、OMS はまだ初期の開発段階にあります。日々、コードが変わり ます。OMS の仕様の変更の速さや互換性のため、RPM や .DEB 類や、どんなバ イナリパッケージもまだありません。 訳注:開発版のバイナリーパッケージはすでに存在しますので、最新情報を確 認してください。 Oms How To 10.8. OMS をコンパイルすると、''Warnings being treated as errors''( ) という行が 表示され、それが数行続き、その後コンパイルが停止してしまい ます。どうすれ ばうまくいきますか。 お好みのテキストエディタ(たとえば、pico、 vi、 joe、 Code Commander な ど) で、oms のディレクトリにある設定ファイルを開きます(configure とい う名前のファイル)。サーチオプションを使って、-Werror を探します。行(た ぶん1箇所あるはずです)から -Werror を削除し、通常の ./configure --prefix=/usr のように、 再度 configure を行います。この作業で、すべて の makefile から全部の -Werror を取り除き、warning が出ても OMS をコン パイルできるようにします。Warning の類は何も害はありませんが、開発者は チェックできるので Warning の類が出るのを歓迎しています。 日本語訳の文書作成にあたり、校正をして頂いた方々のリストです。ありがと うございました。 o Tsutomu Kawashima o Kazuyuki Okamoto