レンタルサーバ + Webシステム開発 = E-business

■レンタルサーバご利用参考資料
サーバご利用の参考にJF Project によるJF (Japanese FAQ)を掲載しています。

Linux JF(Japanese FAQ)Project.
JF は, Linux に関する解説文書・FAQ などを作成・収集・配布するプロジェクトです.

グリーンネット・トップページへ戻る


一覧に戻る
  The BTTV Mini-HOWTO
  By Eric Sandeen, eric_sandeen@bigfoot.com
  v0.3, February 2000
  早川 仁, cz8cb01@linux.or.jp
  v0.3j, Apr 10, 2000

  このドキュメントでは bt8x8 チップセットベースのフレーム取り込みカード
  や TV チューナーカードを Linux から使用するために必要なハードウェア、
  ソフトウェア、使用方法について説明しています。
  ______________________________________________________________________

  目次

  1. イントロダクション
     1.1 ドキュメントの著作権
     1.2 最新版のドキュメントの入手先
     1.3 謝辞
     1.4 Disclaimer

  2. 必要なハードウェア
  3. 必要なソフトウェア
  4. システムの設定
     4.1 ハードウェアの準備
     4.2 カーネルの設定
     4.3 新しい 0.6.x パッケージを使用する
     4.4 /dev のスペシャルファイル
     4.5 モジュールのロード
     4.6 処理の自動化

  5. アプリケーション
  6. Appendix - 全モジュールの引数

  ______________________________________________________________________

  1.  イントロダクション

  ビデオ映像のキャプチャーや表示は、Linux におけるマルチメディア機能の中
  でも興味深い物の一つです。 video4linux API (
  ) を利用すれば、色々
  なビデオデバイスを使うことができます。例えば Conexant 社 (
  ) の bt848 および bt878 チップセットを使用し
  た TV チューナーカードなどが使えます。このドキュメントでは Linux でそ
  れらのカードをどのようにして利用するかについて説明しています。

  1.1.  ドキュメントの著作権

  (訳注:ライセンス関係については原文をそのまま示します)

  This HOWTO is copyrighted 1999 Eric Sandeen.

  Unless otherwise stated, Linux HOWTO documents are copyrighted by
  their respective authors. Linux HOWTO documents may be reproduced and
  distributed in whole or in part, in any medium physical or electronic,
  as long as this copyright notice is retained on all copies. Commercial
  redistribution is allowed and encouraged; however, the author would
  like to be notified of any such distributions.

  All translations, derivative works, or aggregate works incorporating
  any Linux HOWTO documents must be covered under this copyright notice.
  That is, you may not produce a derivative work from a HOWTO and impose
  additional restrictions on its distribution. Exceptions to these rules
  may be granted under certain conditions; please contact the Linux
  HOWTO co-ordinator at the address given below.
  In short, we wish to promote dissemination of this information through
  as many channels as possible. However, we do wish to retain copyright
  on the HOWTO documents, and would like to be notified of any plans to
  redistribute the HOWTOs.

  If you have questions, please contact Tim Bynum, the Linux HOWTO co-
  ordinator, at linux-howto@metalab.unc.edu via email.

  1.2.  最新版のドキュメントの入手先

  ドキュメントの公式な最新版は Linux Documentation Project
   より入手できます。

  1.3.  謝辞

  最初の bttv ドライバを書いた Ralph Metzler と Marcus Metzler、
  Video4Linux API を作成した Alan Cox、ラジオカード・bttv の後継・xawtv
  に関する作業を行った Gerd Knorr に感謝します。またこれらのカードを
  Linux でサポートするために貢献された、その他全ての方に感謝します。同じ
  く BTTV Howto を書いた William Burrow にも感謝します(このドキュメント
  を書き終った後に知りました) 。彼のドキュメントのおかげで、このドキュメ
  ントをより良いものにできました。この HOWTO を書くにあたっては、bttv や
  xawtv のドキュメントが非常に参考になりました。

  1.4.  Disclaimer

  このドキュメントに書かれている情報の利用はご自分の責任の下で(at your
  own risk) 行なってください。ドキュメントの内容に従うことによるどのよう
  な責任や負担も拒否します。ドキュメントに登場する概念や例、その他の内容
  はご自分のリスクで利用してください。

  全ての著作権は特に記述していない限り、それぞれの著者が保持しています。
  ドキュメント内に記載されているトレードマークや商標などは各社の商標また
  は商標登録です。プロダクトやブランド名の記述は、必ずしもそれぞれを推奨
  しているものではありません。

  インストールの前や定期的に、システムのバックアップを取ることを強くお勧
  めしておきます。

  2.  必要なハードウェア

  bttv README によると:

  bttv はフレーム取り込みを行うカードのデバイスドライバです。対象とする
  カードは Conexant 社( )の Bt848 シリーズのビ
  デオデコーダーチップセットを利用しているものです。このシリーズのチップ
  セットには Bt848, Bt848A, Bt849, Bt878, Bt879 があります。異なったメー
  カーによる、カード間の唯一の違いは、チューナーのタイプとボード上の拡張
  機能です。例えば Hauppauge 社のカードには字幕やサウンドのデコーダー
  チップが追加されています。bttv でのこういった追加機能のサポートは一部
  に限られています。またタイプ(合成や S-Video)や入力数も異なっています。

  次のカードは動作するはずです:

  o  AverMedia TV98

     o  

  o  AVerMedia TV-Phone

     o  

  o  Diamond DTV2000

     o  

  o  Hauppauge Win/TV pci (and other Hauppauge cards)

     o  

  o  IDS Imaging FALCON

     o  

  o  Lifeview Flyvideo II

     o  

  o  Matrix Vision MV-Delta

     o  

  o  miroVIDEO PCTV

     o  

  o  Osprey-100

     o  

  o  STB TV PCI

     o  

  o  Terratec TERRA TV+

     o  

  o  Videologic Captivator PCI

     o  

  ドキュメントの次のバージョンに追加しますので、動作する他のカードをご存
  じの方は、著者まで E-mail してください。

  3.  必要なソフトウェア

  TV チューナーカードを Linux で使用するには、対応するカーネルドライバが
  必要となります。 bttv ドライバは 2.2.0 以降のカーネルに同梱されていま
  す。

  あるいは、最新版のドライバパッケージを入手して 2.0.35 以降のカーネルで
  使用することもできます。ですが 2.0.x シリーズのカーネルで動作するとは
  限りません。アップデートされた bttv パッケージは
  から、さらに新しい
  ものは Gerd Knorr の  
  から入手できます。これらのパッケージには TEA6300, TDA8425, DPL3518 と
  いったオーディオチップのサポートが追加されています。

  bttv ドライバを使ったことがなければ、最新のカーネルに同梱されているバ
  ージョンを使用することをお勧めしておきます。何か問題があった場合や、ご
  使用のカードに対応していない時にはアップデートされた 0.6 シリーズのド
  ライバを上記の場所から入手してみましょう。危険を恐れないのであれ
  ば、2.4 カーネルに同梱される予定の Gerd Knorr の 0.7 シリーズのドライ
  バを試すこともできます。0.7 シリーズのドライバは   からも入手できます。

  このドキュメントは基本的には、カーネル 2.2.14 のドライバをもとに書かれ
  ていますが、0.6 シリーズのドライバパッケージで利用できる機能について
  も、いくつか触れています。現在絶賛開発中のため、今の所 0.7 シリーズに
  関しては述べていません。

  4.  システムの設定

  4.1.  ハードウェアの準備

  (この章の記述に際しては William Burrow に感謝します)

  コンピュータのケースを開けるのが恐ければ、この HOWTO 文書全体を始めに
  一度良く読み、チューナーのタイプ、回路番号、クリスタルの周波数などのカ
  ードに関する仕様を知ってください。そしてカードを代わりにセットしてくれ
  る人を探しましょう。

  そうでない人は、ケースを開けてカードを空いているスロットに挿しましょ
  う。マザーボードの仕様によっては(マザーボードのマニュアルを参照してく
  ださい)、カードを挿すスロットを PCI バス転送や PCI バスマスタリングを
  サポートしているものにする必要があります。またオーバレイモードを使う時
  にもこの点に気をつけましょう。

  ビデオキャプチャーカードとサウンドカードとを接続するには二つの方法があ
  ります。一つ目は内部的に接続する方法です。CD-ROM のオーディオケーブル
  をビデオカードの音声入力に接続し、ビデオカードの音声出力をサウンドカー
  ドの CD-ROM か、チューナーのオーディオ入力に接続します。もう一つは、ビ
  デオカードの外部 1/8'' オーディオジャックをオーディオカードの 1/8'' ラ
  インオーディオ入力ジャックへ接続する方法です。またオーディオカードを
  持ってない時や、サウンド入力を経由したくない時には、アンプ付きのスピー
  カーをキャプチャーカードのオーディオ出力に接続することもできます(最近
  の bt878 カードにはサウンドコネクタがないものもあります。ディジタルオ
  ーディオデータを PCI バス経由で送るからです。執筆時点では現在この機能
  はサポートされていません)。

  カードが動作しているかどうかを確認する時にはビデオデータを使うのが手軽
  で便利です多くのカードではビデオ入力、S-Video、チューナー付きなら RF
  入力の合成ができます。各入力にはそれぞれ別のコネクタがあります。

  4.2.  カーネルの設定

  カードをサポートするためには、カーネルを正しく設定する必要があります。
  多くの新しい Linux ディストリビューションでは既に必要となるモジュール
  が含まれていますから、/lib/modules/2.x.x/misc 以下に videodev.o,
  bttv.o, tuner.o があれば準備は終わりです。

  見つからない時には次のようにして、カーネルを再コンパイルする必要がある
  でしょう。

  CONFIG_VIDEO_DEV

  および

  CONFIG_VIDEO_BT848

  を有効にします。カーネルに組込むのではなく、モジュールにした方がよいで
  しょう。カーネルの再コンパイルに関する詳細は Linux Kernel HOWTO (
  ) を参照してくださ
  い。

  (訳注:JF のページ( )に日本語版もあります)

  4.3.  新しい 0.6.x パッケージを使用する

  新しい 0.6.x パッケージを使いたい場合、始めにアーカイブを上で記載した
  サイトから入手する必要があります。そして

  tar -xvzf bttv-0.6.x.tar.gz

  を実行して展開し、作成されたディレクトリへ移動します。su で root にな
  り、

  make

  を実行してドライバを作成しましょう( INSTALL に書かれている makefile の
  編集については無視してしまって構いません。必要な情報はモジュールをイン
  ストールする時にパラメータとして渡しますから)。そして、

  make install

  してインストールしましょう。最後に

  /sbin/depmod -a

  を行なうとモジュールの依存情報をアップデートできます。

  (訳注:訳者の個人的な趣味では主にセキュリティ上の観点(というかおまじな
  いと言うか)から、make install の直前までは一般ユーザーで作業し、そうし
  なければならないぎりぎりまで root にならないようにしています)

  4.4.  /dev  のスペシャルファイル

  次にキャラクタ型のスペシャルファイル(デバイスファイル)を /dev ディレク
  トリに作成する必要があります。ls /dev/video*; ls /dev/radio* を実行し
  て既にファイルがあるかどうかを確認してください。なければ作成しましょ
  う。

  これらのデバイスファイルではメジャー番号はすべて 81 で、マイナー番号は
  デバイス(ビデオ、ラジオなど)に依存しています。プログラミングの視点での
  詳細に関しては Video4Linux API (
  ) を参照してくだ
  さい。

  (訳注:オライリー・ジャパンから出版されている「Linux デバイスドライ
  バ」 (ISBN:4-900900-73-7)も参考になります)

  MAKEDEV スクリプトが bttv ドライバパッケージの driver ディレクトリにあ
  ります。これは四つのビデオデバイスファイルを作成してくれます。ビデオ
  キャプチャーカードを一つしか持っていない時などに、自分自身でファイルを
  作成することも簡単です。root になって次のように実行します。

  mknod /dev/video0 c 81 0

  chmod 666 /dev/video0

  ln -s /dev/video0 /dev/video

  mknod /dev/radio0 c 81 64

  chmod 666 /dev/radio0

  ln -s /dev/radio0 /dev/radio

  字幕や VBI デバイスを必要とするアプリケーション(今のところはごくわずか
  ですが)がある時には次のようにして作成します。

  mknod /dev/vtx0 c 81 192

  chmod 666 /dev/vtx0

  ln -s /dev/vtx0 /dev/vtx

  mknod /dev/vbi0 c 81 224

  chmod 666 /dev/vbi0

  ln -s /dev/vbi0 /dev/vbi

  4.5.  モジュールのロード

  bttv ドライバにはドキュメントの ``appendix'' で説明しているように、多
  くのモジュールおよび多くのオプションがあります。これにより、全ての機能
  が使用できるまで手動で色々と試行錯誤できます。マシンが壊れるようなこと
  はめったにありませんが、実行する前に

  sync; sleep 1; sync

  を行なってディスクのバッファをフラッシュしておきましょう。そして root
  になって insmod コマンドでモジュールのロードを行ないます。始めの二つは
  通常はオプションが必要ないため、簡単です。

  insmod videodev

  insmod i2c

  これで bttv モジュールをロードする準備ができました。

  modprobe bttv

  デフォルトでは bttv モジュールはカードのタイプを自動認識しようとしま
  す。認識の確認は /var/log/messages を参照してください。正常に自動認識
  しなかった時には card=n オプションを上述のコマンドの後ろに追加して、カ
  ードタイプを強制的に指定することができます。 n は以下のリストより選択
  します(タイプ 0 から 19 はカーネルによりサポートされているドライバ
  で、bttv-0.6.4h はタイプ 20 から 27 をサポートします)。カードに FM
  チューナー機能がある時には radio=1 オプションを追加することもできま
  す。

  ______________________________________________________________________
  card=n      card type
          0:  Auto-Detect
          1:  Miro
          2:  Hauppauge (old bt848 boards)
          3:  STB
          4:  Intel
          5:  Diamond
          6:  AVerMedia
          7:  MATRIX Vision MV-Delta
          8:  FlyVideo
          9:  TurboTV
          10: Hauppauge (new bt878 boards)
          11: MIRO PCTV pro
          12: Terratec/Vobis TV-Boostar
          13: Newer Hauppauge WinCam (bt878)
          14: MAXI TV Video PCI2
          15: Terratec TerraTV+
          16: Aimslab VHX
          17: PXC200
          18: AVermedia98
          19: FlyVideo98 (newer FlyVideo cards)
          20: Zoltrix TV-Max
          21: iProTV
          22: ADS Technologies Channel Surfer TV
          23: Pixelview PlayTV (bt878)
          24: Leadtek WinView 601
          25: AVEC Intercapture
          26: LifeView FlyKit w/o Tuner
          27: Intel Create and Share PCI
  ______________________________________________________________________

  次に、以下のようにしてチューナーモジュールをロードします。

  modprobe tuner type=n

  ケースを開けてどのチューナーを使用しているかを調べる必要があるかもしれ
  ません。チューナーを自動認識するカードもありますが(Miro や
  Hauppauge)、手動で指定する必要があるかもしれません。チューナーにはブラ
  ンド名が書かれているはずですし、ボード上のクリスタル(小さなアルミの
  チップです)を見ることによりチューナーが NTSC か PAL かがわかりま
  す。PAL の時にはクリスタルには 28.xxxMHz(xxx は三桁の数字)と書かれてい
  ます。NTSC なら 35.xxxMHz です。チューナーをセットしたら、n を以下のリ
  ストから選んでください(タイプ 8 と 9 は bttv-0.6.4h にしかありませ
  ん)。

  ______________________________________________________________________
  type=n      type of the tuner chip. n as follows:
          0: Temic PAL tuner
          1: Philips PAL_I tuner
          2: Philips NTSC tuner
          3: Philips SECAM tuner
          4: no tuner
          5: Philips PAL tuner
          6: Temic NTSC tuner
          7: Temic PAL tuner
          8: Alps TSBH1 NTSC tuner
          9: Alps TSBE1 PAL tuner
  ______________________________________________________________________

  最後に、必要なサウンド関係のモジュールをロードします。持っているカード
  の種類を調べるためにカードを良く調べる必要があるかもしれませ
  ん。TEA6300, TDA8425, TDA9855, DPL3518 チップ用のドライバは 0.6.4h シ
  リーズのドライバにしか無いことに注意してください。現在のカーネ
  ル(2.2.14)のドライバにはありません。

  modproge foobar

  foobar は msp3400, tea3600, tda8425, tda9855, dpl3518 のどれかです。オ
  プションの詳細は ``appendix'' を参照してください。

  好きな video4linux プログラムを実行し、動作するかを見ます。チャネルを
  変えられない時は、正しいモジュールをロードしたかを確認してください。サ
  ウンドが聞こえない時は、サウンド関係のモジュールと、音声をサウンドカー
  ド経由で出力している場合には音声がミュートされていないかを確認してくだ
  さい。

  4.6.  処理の自動化

  必要なモジュールとオプションがわかれば、それを /etc/conf.modules に記
  述することにより処理を自動化することができます。これにより、アプリケー
  ションをする時に必要なドライバが自動的にロードされるようになります。筆
  者は次のようにしています。

  (訳注:/etc/conf.modules ではなく、/etc/modules.conf になっているディ
  ストリビューション(Caldera Open Linux や TurboLinux 6.0
  server/workstation など)もあります。本来正しいのは /etc/modules.conf
  の方です。最新の modutils パッケージ (insmod などが含まれているパッケ
  ージ)では、conf.modules を使用するようになっていると警告表示を行なうよ
  うになりました)

  ______________________________________________________________________
  # TV
  alias   char-major-81   bttv
  pre-install bttv    modprobe -k tuner; modprobe -k msp3400
  options bttv        radio=1 card=3
  options tuner       type=2
  ______________________________________________________________________

  これを変更して、ご使用のカード用に適切なモジュールとオプションを指定し
  ましょう。(モジュールの依存情報を更新するために /sbin/depmod -a も実行
  する必要があるでしょう)

  (訳注:Redhat 系のディストリビューションでは、システム起動時に実行され
  る /etc/rc.d/rc.sysinit で depmod -a を実行するようになっています)

  5.  アプリケーション

  カーネルやデバイスの設定、モジュールのロードが終わりましたが、実際にイ
  メージを見たりキャプチャーするにはアプリケーションが必要になります。た
  くさんのアプリケーションが利用できます。

  o  bttvgrab - ビデオでの記録に適した高品質のキャプチャーができます。
     

  o  Gnome-o-Vision - GNOME デスクトップ環境でのビューワ (現在開発中
     で、GNOME CVS 中にあります)
     

  o  kwintv - KDE 環境の、Qt ベースの TV ビューワ
     

  o  wmtune - bttv ベースの TV/radio カード用のラジオチューナーアプレッ
     トの Window Maker 用です。
     

  o  wmtv - WindowMaker の TV ドック用アプリケーション
     

  o  XawTV - TV アプリケーションといくつかのユーティリティ
     

  o  XtTV - Linux および X 用のシンプルな TV/Video プログラム
     

  FlyVideo98 リモコン用のドライバもあります。
  

  ドキュメントを良く読み、使用しようとするアプリケーションについてあらか
  じめ調べましょう。多くのアプリケーションでは、動作前に設定ファイルを編
  集する必要があります。多くの種類のカードがありますから、ドキュメントを
  良く読んでください。アプリケーションのデフォルトの設定だとご使用のカー
  ドでは動作しないかもしれませんから。

  6.  Appendix - 全モジュールの引数

  "*" で始まる行は 0.6.4h シリーズドライバのみです。

  ______________________________________________________________________

  videodev.o
      video4linux の基本的なモジュールです。全てのビデオドライバ(例えば
      bttv など)はこのモジュールに登録されています。

  i2c.o
      i2c の基本モジュールです。i2c bus のほとんどの動作はこのモジュールが
      行ないます。他の全モジュール(videodev.o は除きます)はこのモジュール
      を利用します。

      insmod の引数:
          scan=1      バスをスキャンして i2c デバイスを探します
          verbose=0   メッセージを表示しません
          i2c_debug=1 はデバッグ用です。全ての(ソフトウェアの) i2c バスの
          トラフィックを syslog に記録します。

  bttv.o
      bt848(キャプチャーを行うチップ) ドライバ

      insmod の引数:
          remap=adr       bt848 のメモリを adr を 20bit
                          左シフトしたアドレスにリマップします。

          vidmem=base     20 bit 右シフトしたアドレスが(グラフィックカードの)
                          フレームバッファのアドレスになります。

          triton1=0/1     Triton1 との互換性のためにあります。
                          Triton1 は自動認識されますが、
                          他のチップセットの時にも役立つかもしれません。

          pll=0/1/2   PLL の設定
                  0: PLL を使いません
                  1: 28 MHz のクリスタルがインストールされている時
                  2: 35 MHz のクリスタルがインストールされている時

          radio=0/1   カードがラジオをサポートする時は 1

          card=n      カードのタイプ
                  0:  自動認識
                  1:  Miro
                  2:  Hauppauge (旧型の bt848 ボード)
                  3:  STB
                  4:  Intel
                  5:  Diamond
                  6:  AVerMedia
                  7:  MATRIX Vision MV-Delta
                  8:  FlyVideo
                  9:  TurboTV
                  10: Hauppauge (新型の bt878 ボード)
                  11: MIRO PCTV pro
                  12: Terratec/Vobis TV-Boostar
                  13: Newer Hauppauge WinCam (bt878)
                  14: MAXI TV Video PCI2
                  15: Terratec TerraTV+
                  16: Aimslab VHX
                  17: PXC200
                  18: AVermedia98
                  19: FlyVideo98 (新しい FlyVideo カード)
                  *20: Zoltrix TV-Max
                  *21: iProTV
                  *22: ADS Technologies Channel Surfer TV
                  *23: Pixelview PlayTV (bt878)
                  *24: Leadtek WinView 601
                  *25: AVEC Intercapture
                  *26: LifeView FlyKit w/o Tuner
                  *27: Intel Create and Share PCI

      リマップ、カード、ラジオ、PLL の設定は最高四つまでの引数を
      コンマで分割して指定できます(マルチファンクションカードの場合)。
      CARD と PLL の値は Makefile に記載されている値がデフォルトになります。

  msp3400.o
      msp34xx サウンドプロセスチップ用のドライバです。
      ステレオのカードを持っている時は insmod する必要があるでしょう。

      insmod の引数:
          debug=1/2   syslog へデバッグ情報を出力
                  2 はより詳細な内容です。

  *tea6300.o
      tea6300 fader チップ用のドライバです。ステレオのカードを持っていて
      msp3400.o が動作しない時にはこのドライバを試してみてください。
      このチップは多くの STB TV/FM カードに載っています(GATEWAY2000
      の OEM の物がオークションサイトなどで大量に出まわっています)

      insmod の引数:
          debug=1     syslog へデバッグ情報を出力

  *tda8425.o
      tda8425 fader チップ用のドライバです。以前は bttv.c に含まれていました。
      ですからサウンドが以前は使えたのに、今は使えなくなった時には
      このモジュールをロードしてみてください。

      insmod の引数:
          debug=1     syslog へデバッグ情報を出力

  *tda9855.o
      The driver for the tda9855 stereo decoder / audio processor chip.
      tda9855 ステレオデコーダー/オーディオプロセッサチップ用のドライバです。

      insmod の引数:
          debug=1     syslog へデバッグ情報を出力

  *dpl3518.o
      dpl3518a ドルビー Pro Logic プロセッサ用のドライバです。

      insmod の引数:
          debug=1     syslog へデバッグ情報を出力

  tuner.o
      チューナードライバです。カメラや外部チューナー以外の機能を使う時には
      必要となります。

      insmod の引数:
          debug=1     syslog へデバッグ情報を出力
          type=n      チューナーチップのタイプです。n には以下を指定します:
                  0: Temic PAL チューナー
                  1: Philips PAL_I チューナー
                  2: Philips NTSC チューナー
                  3: Philips SECAM チューナー
                  4: チューナーは存在しない
                  5: Philips PAL チューナー
                  6: Temic NTSC チューナー
                  7: Temic PAL チューナー
                  *8: Alps TSBH1 NTSC チューナー
                  *9: Alps TSBE1 PAL チューナー

  i2c_chardev.o
      provides a character device for i2c bus access.  Works for 2.1.x
      only, not compiled by default.

      i2c バスへアクセスするためのキャラクタ型デバイスを提供します。
      2.1.x カーネルでしか動作しませんし、デフォルトではコンパイルされません。
  ______________________________________________________________________

一覧に戻る
グリーンネット・トップページへ戻る

http://www.green.ne.jp/