mini-HOWTO Logitech QuickCam color and Linux Gero Wedemann March 10, 2000 JF Project March 10, 2000 Linux マシンを設定して Logitech QuickCam を使う方法 1. はじめに この文書は、Linux マシン上で古い QuickCam color と color II を使う方法 を説明するものです。それよりさらに古い QuickCam b&w に関する情報も含ま れています。ただ、Logitech 社の新型 QuickCam (VC, Quickclip, Home, Pro 等) については扱っておらず、これらの新型機種が Linux でサポートされる こともおそらくないでしょう。したがって、もしデジタルカメラを買うな ら、Logitech カメラは買わないようにしましょう。Video4Linux でサポート されている TV カードに接続できる安価な他のビデオカメラを買うべきです。 それ以外の選択肢としては、Creative の Videoblaster があります (ドライ バは、ここやここにあります)。AGFA や Kodak 等のデジタルカメラも gPhoto でサポートされています。 この文書の情報は、あくまでもプログラムとカメラに関する私の個人的経験を 反映したものです。問題の解決方法が見つかった場合 (つまり、読者のシステ ム上では上手く動いた場合) は、是非著者 gero@wedemann-brothers.de まで ご報告ください。英語にはあまり自信がないので、私の英語がおかしいときは その旨訂正個所をお教えください。 2. ハードウェアとソフトウェアの設定 きちんとケーブルを差す以外に、実行すべき大切なことがふたつあります。パ ラレルポートを正しく設定することと、X サーバの色深度を設定することで す。 QuickCam の性能を最大限に引き出すには、パラレルポートを EPP か双方向 モードに設定する必要があります。これによりデータ転送量、すなわち単位時 間あたりの画像数 (フレームレート) を 3 倍に増やすことができます。新し いコンピュータだと、これは BIOS の設定で出来るのですが、古いマシンでは ジャンパの変更が必要な場合があります。どうしても設定できない場合、ドラ イバの選択肢が少しばかり狭くなりますが、それでもきちんと動作はします ( 若干遅くなるだけです)。コンピュータによっては、双方向モードで問題が生 じるものがあるので、ドライバが動かないときは強制的に少し遅い非双方向 モードにしてみてください。 Patrick の cqcam では、-u オプションです。 X を使うすべてのプログラムが、あらゆる色深度で動くわけではありません。 通常は、16 bpp (6 万色) もあれば問題のない高画質が得られます。色深度 は、/etc/XF86Config ファイルの Screen セクションにある DefaultColorDepth オプションを変えれば変更可能ですし、-bpp 16 オプショ ンを付けて X を起動することでも変更できます。後者は、大部分のディスト リビューションでは startx -- -bpp 16 とするか xinit -- -bpp 16 とする だけです。システムによっては、ホームディレクトリの .xserverrc ファイル を変更する必要があるかもしれません。 xdm や kdm を使っているなら、その 設定ファイルをご覧ください。 3. 画像の取り込み 画像の取り込みができる最も完成度の高いドライバは、 Patrick Reynolds の cqcam です。コンパイルも実行も問題ないはずです。このプログラムは、 X Window で表示可能な ppm もしくは jpeg 形式の画像を作成します。それ以外 のフォーマットが必要な場合は、例えば xv や netpbm、あるいは (ImageMagic の一部である) convert を使って変換できます。画像の取り込み については、以上です。以下は、特に問題が生じたり、特殊なことをしたい人 のためだけのものです。 cqcam 以外のドライバを使うときは、root での実行が必要です。suid root でインストールするのが実用的です。つまり、だれもがそのプログラムを root 権限で実行できるということです。これをするには、root で以下のコマ ンドを実行してください。 chown root filename chmod u+s filename filename の部分には、実行ファイルのファイル名を入れます。とはいえ、 suid root は、セキュリティが問題にならない環境であるか、この操作の意味 を分かった上でやるかする場合でない限り、使わないでください。suid の使 い方については、Usenet 上に流れた techniques という文書があります。ど うしても root 以外のユーザが QuickCam プログラムを使う必要がある場合 は、特定のグループの実行権限を制限する方法もあります。 また、Linux カーネルの Video4Linux セクションには、非常にバグの多いモ ジュールがあります。これを使う利点があるとは私には思えません。マシンが かなり遅くなってしまいますし、モジュールを使う QuickCam アプリケーショ ンよりも、モジュールを使わない優れたアプリケーションが既にあるからで す。それでもどうにかこれを使いたいという人のために、いくつかヒントを紹 介します。まずに、このモジュールはカメラを認識しません。対処方法として は、ソースを調べて qc_detect() をいじることで、この関数が success を返 すようにします。そして、/etc/conf.modules に alias char-major-81 c- qcam という一行を追加します。その上で、 Gqcam を試すことで、マシンの処 理の遅さを楽しんでください。 上記とは別のアプローチとして、SANE を使うという手があります。GIMP のプ ラグイン経由で qcam を使うことができるかもしれません。 gPhoto も QuickCam をサポートしています。とはいえ、私は cqcam で完全に満足してい るので、このふたつのドライバは試していません。 4. 動画の取り込み まず何よりも、カメラ自体が非常に低速です。加えて、画像圧縮がなされれば 高速化できるのですが、これをサポートするフリーソフトウェアはありませ ん。従って現時点では、動画に関してこのカメラではあまりに遅すぎます。 なんとかして動画を取り込みたいという場合は、まず X 上で静止画の取り込 みができるようにした上で、xvidcap を使えば動画の取り込みができるように なります。 5. ビデオ会議 最初に、mbone か CU-seeme のどちらのアプローチを取るか決める必要があり ます。簡単に言うと、CU-seeme のほうがシンプルであり、mbone のほうがパ ワフルです。 mbone の最新バージョンは、London の UCL Networked Multimedia Research Group のソフトウェアアーカイブにあります。音声用には rat を、電子掲示 板 (whiteboard) 用に wb を、セッションマネージャ用に sdr を使います。 ビデオ関することなら、UCL グループが修正を加えた vic が最適です。vic 系だと X Window のスクリーン上で画像の取り込みができます。Video4Linux では、QuickCam は動きません。 カーネルは必ずマルチキャストサポートを有効にしてコンパイルし、システム 上かローカルネット上で mrouted を動かすようにしてください。詳しくは、 Linux Multicast FAQ をご覧ください。イーサネットカードの中には、新しい カーネルドライバを使わないといけないものがあります。 最新の vic でスクリーン上での取り込みが上手くいかない場合 (以前は vic のそうした症状を回避する方法が開発されていたのですが、現在は動作させる のが困難になっています)、Toivo Pedaste の予めコンパイルされたバイナリ vic を試してください。これは SUID root でインストールする必要がありま す。libtcl7.6.so.1 (libtcl7.6.so とそのシンボリックリンク) および libtk.4.2.so.1 がシステム上にないときは、それらもインストールする必要 があります。 tcl/tk パッケージ全部をインストールする必要はありません。 予めコンパイルされたバージョンを取ってきて (Archie で tcl7.6 と tk4.2 を探してください)、このふたつのライブラリを (例えば、 /usr/local/lib などに) 解凍・インストールして ldconfig を実行すればそれで充分です。こ れ以外にも、nv を使うという手もあります。 QuickCam にパッチとして当て る方法が tutorial guide に記載されています。私もためしてみましたが、 qcam-0.9pre6 という最近の変更のために、このパッチは上手く当たりません でした。ただ、ソースを見ながら手で修正すれば、問題はなくなるかもしれま せん。 nv を上手く動かしている人がいたら、是非ご連絡ください。 mbone は難しくて使う気がしないという場合は、 CU-seeme を試してくださ い。 Linux で利用する場合は、Q-SeeMe を使います。ライブラリが新しいか どうか確認してください。古いと coredump してしまいます。 6. Web カメラ 最も簡単な方法は、ちょっとしたデーモン形式のプログラムを書いて、定期的 に cqcam 等のプログラムで取り込んだ画像をファイルに保存するようにする ことです。そうすれば、そのファイルを HTML ページに組み込むことができま す。 以下にその簡単なスクリプトの例を示します。 #!/bin/bash while (echo "") do cqcam -32- -s 1 -j > thisPicture.jpg sleep 60 done このスクリプトは、一般ユーザ権限で nohup オプションを付けて実行するこ とができます。 動画をウェブページ上で表示したい場合、最も簡単な方法は cqcam を使うこ とです。パッケージ付属の doc/README.webcam ファイルを読めば、全て説明 されています。また、ドイツの Ulm 大学の very fast package というのもあ ります。彼らの model railroad というページを見れば、何が出来るかがわか ります。 7. その他の質問 o 延長ケーブル:これは、自分で作る必要があります。以下は、AC アダプタ の出力ピンとその電圧です (Patrick Reynolds からの引用)。これは無保証なので、ご自分の リスクでお使いください。 電圧 5V で電流は 300mA までです。オス型キーボードコネクタが 必要で、カメラ付属の (small-to-big の) キーボードアダプタは 非常に便利です。電源用端子を適当なピンにハンダ付けするだけ です。 オス型コネクタのピン配列は以下のようになっています。 KEY 5 6 3 4 1 2 3 が GND で、4 が +5V です。 だいたい 8 メートル (25 フィート)まで延長可能です。Howie Oakes によると 50 フィート (16 メートル) でも問 題なかったそうです。そして彼は外部の電源を使ったそうです。 o 複数のカメラを動かすことは可能ですか? 可能です。異なるポートでそれ ぞれのカメラ用のドライバを動かすだけです。 o 画質が全然ダメで、画像が不鮮明です。この現象が起こる原因はいろいろ あります。よくある問題は、システムに負荷がかかりすぎているかプロ セッサが遅すぎるために、CCD が充分な速度で読み出されないからです。 それ以外のよくある問題としては、qcam がオーバーヒートしている場合が あります。 o QuickCam は屋内カメラです。屋外で使いたいときは、フィルタを使用する 必要があります。フィルタ無しではよい画像を得られません。 o 本書でカバーしきれない多くの質問が quickcam-drivers mailing list に 掲載されています。メーリングリストの アーカイブもあります。プログラ ムの作者に質問したりメーリングリストにポストする前に、これらを チェックしてください。 大事なことがもうひとつあります。次ような状況を想像してください。 qcam のサードパーティの開発者用メーリングリストに参加していてその購読を止め ようと思った際、購読を中止したいと書いたメールを何度も送って、購読者か ら「やり方が違う」と指摘され続けるような人がいます。メーリングリストに 参加する場合、最初にどうやって登録したのか、登録を取りやめるにはどうす ればいいのかをきちんと覚えておくべきです。これは、利用者自身の問題であ り、フリーソフトウェア開発者の問題ではありません (じゃあ、ヒントを言い ます。本文に "unsubscribe" と書いたメールを quickcam-drivers- request@crynwr.com 宛に送ればいいのです)。 まあ、そんな感じです。 8. リンク集 Russ Nelson の Third Party Drivers Homepage から数多くの情報源を辿るこ とができます。ソフトウェアの寸評を集めたページが Patrick の QuickCam Third-Party Drivers Homepage にあります。 B&W と color cam 用のフリー ドライバやプログラムもそこから探すことができます。 9. 謝辞 執筆の手助けをし、数多くの訂正や提案を送ってくれた Hanno Muller に感謝 します。訂正や提案をしてくれた Patrick Reynolds と、私のくだらない質問 に答えてくれたメーリングリストの仲間、そしてスペリングと文法チェックを してくれた Martin Schulze と Roland Bockhorst に感謝します。 Gero Wedemann, Heidelberg, Germany. Last modified: Fri Sep 28 22:49:53 JST 2001 この文書は GNU public license のもとに頒布されています。保証は一切あり ません。著者は余暇を使ってこの文書を作成しました。著者は Connectix や Logitech とは全く関係を持っていません。 Linux に関するもっと詳しい情報は、The Linux Documentation Project Homepage をご覧ください。 この文書は、 にあります。 9.1. 日本語訳について 日本語訳に関するお問い合わせは、 までお願いします。 翻訳:永田靖人 (1998/01/20) 更新:千旦裕司 (2001/10/06)