LinuxでWebカメラを楽しむ5つの方法

 Linuxで扱えるWebカメラをセットアップした。Kopeteを使ってみたし、MSNとYahoo!で画像も送信してみた。ほかに何ができるか知りたい……。では、こんな楽しみ方はどうだろう。

自分を録画

 Webカメラでのビデオ撮影には、 mencoder を使うのが一番簡単だ。mencoderはVideo4Linuxドライバを使い、Webカメラから入力を受け入れて、非圧縮のAVIファイルに保存する。たとえば、解像度が320×240ピクセルのAVIファイルを作成するには、次のコマンドラインを使う。

mencoder tv:// -tv driver=v4l:width=320:height=240:device=/dev/video0 -nosound -ovc lavc -o wcrecording.avi

 /dev/video0は、使用しているUSB Webカメラのデバイスノードで置き換える。筆者のWebカメラは安物でマイクがないので、-nosoundオプションでオーディオをスキップしている。

 GUIでの録画を望む人は、 Video4Linux Grab を試してみるとよい。これはV4Lを用いて、Webカメラの入力をDivXファイルとXviDファイルにリアルタイムでエンコードする。ほかのビデオ/オーディオコーデックがあれば、そちらを選択して、GUIでアスペクト比を指定してもよい。

ビデオストリームの作成

 Apache Webサーバをインストールしているマシンでは、Webカメラでビデオストリームを作成し、Webページに表示できる。 webcam-server を使うのが最も簡単だろう。Ubuntuでは、「sudo apt-get install webcam-server」でインストールできる。これをバイナリ名(webcam-server)で起動し、ブラウザでhttp://localhost:8888を開いて設定を行う。

 webcam-serverにはストリームの表示モードを変更するオプションがあって、訪問者に多少の追加情報を提供できる。たとえば、「webcam-server -c "%d/%m/%Y %H:%M:%S - serving %%v viewers at %%f FPS"」とすれば、日付、フレームレート、視聴者の人数を表示できる。webcam-serverがリスンするポートは、デフォルトでは8888だが、都合が悪ければ-pオプションで別のポートを指定し、そちらでリスンさせることもできる。ほかにできることとしては、表示画像のフリップ、ガンマレベルの調整、画像キャプチャサイズの設定、キャプションテキストの前景色と背景色の指定などがある。

自宅の監視

 古いLinuxマシンと安物のWebカメラを組み合わせるだけで、驚くほど簡単に強力なビデオ監視システムが作れる。この目的に使えるオープンソースツールとしては、 ZoneMinder が――やや複雑ながら――最高だ。これをセットアップしておけば、それをWebインタフェースとして家の隅から隅までをリアルタイムで監視できる。また、どこかで何かが動いたとき、すかさずそれを録画するようにも設定できる。何台でも好きなだけのWebカメラを接続できるから、位置や目的に合わせてそれぞれに名前をつけておけば、ZoneMinderのWebインタフェースを通じてそれぞれに機能を割り当てられる。選択できる機能には、監視、動作検出、録画の3つがある。たとえば、視野の枠内にホットスポットを設けておき、何かがそこに入り込んだ瞬間、当該Webカメラを作動させて録画する、などのことができる。

 ZoneMinderはJPEGフォーマットで録画し、FFMpegかmpeg_encodeで画像ファイルをマージして、1つのビデオファイルに作り上げる。得られたMPEGファイルは、自分宛にメールしてもよいし、FTPでどこかにアップロードしてもよい。

 このアプリケーションには無数のオプションがあって、サーバをどのようにでも設定できる。帯域幅の使用制限、JPEG品質、複数のカメラ表示モードなど、できないことはほとんどないと言ってよい。複数のカメラを使って四六時中録画するとなると、それなりに高性能のハードウェアと強力なCPUが必要となるが、ZoneMinderは商業ベースの製品にも十分太刀打ちできるオープンソースソフトウェアである。

アスキーアートによるビデオストリーミング

  HasciiCam を普通のWebカメラと併用すると、カメラ入力をさまざまな方法でテキストストリームとして出力できる。たとえば、Webページを毎秒1回ずつ再ロードするようセットアップしておくと、そこで消費される帯域幅は実際の画像より小さくてすむ。もちろん、出力の解像度は決して高いとは言えないが、見ているとなかなか面白い。HasciiCamでは、フレームの1つ1つをテキストファイルに出力して、ASCIIアートを作成できる。

人体のモーフィング

 Webカメラを使って単純に楽しみたいなら、 Cheese がいい。これはGNOME用に書かれたモーフィングアプリケーションで、静止画と動画のどちらでもモーフィングできる。フリッピング、サチュレーション、超人ハルクへの変身、歪曲による怖い顔作りなどをやって、その結果をファイルに出力できる。さほど多種多様な効果が用意されているわけではないが、それでも面白ビデオ作りのおもちゃとしては十分楽しめる。

Razvan T. Colojaは、Linux/ITライター。印刷物やオンラインマガジンに寄稿してきた記事は150編を超える。ルーマニア語雑誌の編集者であり、ルーマニアのLinux/OSSポータル兼コミュニティであるwww.mylro.orgでも、管理者・編集者の1人としてその維持に努める。

Linux.com 原文