このライブラリを試すことになったのは,前はUSB赤外線カメラを使って試験をしていたのですが,画角が広すぎるということで,もっと狭いカメラを購入したのがきっかけ.
購入したのはこれ.
ところが,Processingの標準ライブラリが使用するWinVDIGが,このカメラの信号を認識しない.MSN メッセンジャーのチャット用としてはカメラが認識・正しく映しだされているので
カメラ自体には不具合はなさそう.
さらに,外部ライブラリの一つであるJMyronを使用しても,壊れたテレビのように砂嵐になっているだけ.せっかくカメラを購入したのに,Processingで使えないじゃん!というのが背景です.
色々ある外部ライブラリで,目をつけた一つはGSVideoライブラリ.
以下のサイトを参考にインストール・動作確認まですすめました.
"Processing video on Linux - trial and error"
http://techno-st.net/2009/11/05/processing-video-on-linux-1.html
最終的には,gstreamer のインストールから,ライブラリのセット,サンプルコードの実行まで行いましたが色々つまづいたのでそのメモ.
■Gstreamer のインストール
Gstreamerについては,Windows向けバイナリは一部の有志によって作られていました.
--------------------------------------
コンパイル済みのバイナリパッケージは本家から提供されているほか、GStreamer OABuildのビルド結果として提供されているものも有る。
http://www.gstreamer-winbuild.ylatuya.es/
Gstreamer winbuilds
http://sourceforge.net/project/showfiles.php?group_id=225389&package_id=272648
--------------------------------------
以下のサイトにgstreamerについてのコマンドも合わせて幾つか書いてあり,正しくインストールされているか確認できる.
http://wiki.osdev.info/?GStreamer%2Frecipe
自分は以下のサイトに倣ってgsteramer のインストールを行いました.
http://www.sjkingston.com/blog/gstreamer-on-windows
GStreamer core をインストールするときにGTKをインストールするかどうか聞かれるけど
Noを選択しろと書かれています.
私はしてないような...
インストール後に
% gst-launch-0.10 audiotestsrc ! autoaudiosink
とすると,libping13.dllやlibgstpng.dllがないよと言われるのでそれをネットで探していれてあげる.ちなみに,上記コマンドは,プーという音がパソコンから流れます.音声テストというイメージで良いかと.
上記サイトにある手順で進めていきます.
で,gstreamer のインストール,動作確認後,Processingにライブラリを入れてサンプルコードを書いてみたけど,gstreamer-0.10がみつからないとかいうエラー.
環境変数のPATHを疑ったけどよくわからん!
環境変数PATHの情報を眺めてたら,ムダなPATHを設定してしまったようなのでそれを削除.
(ただし,これでうまくいったかは分かりません.)
その後,PCを再起動したら,別のエラーになる.dshowsrc がないとか,ksvideosrc がないとか.
で,ググルと,これはgstreamer 関係でWindows向け専用モジュールらしい.でも,ネットにはこれ単体ではない.
そんなこんなしているうちに,GSVideoの開発版を使おうとしていたのですが,動作確認できている別のファイルを見つけたのでそれをダウンロード.
ここ↓から,GSVideo-0.9-windows.zip をダウンロードして解凍します.
http://sourceforge.jp/projects/sfnet_gsvideo/releases/
GSVideoのライブラリフォルダの下のlibraryフォルダ以下に,"gstreamer"というフォルダがあるのを発見,
さらにその下にwinというフォルダがあり,多くのdll がありました.
このdll を眺めると,dshowsrcwrapper, ksvideosrc っぽい名前のついたdllがあったのでこれを使えばうまく動くのではと考える.
ダメもとで,
C:\Program Files\Common Files\GStreamer\0.10\lib\gstreamer-0.10
以下のバックアップをとって,さっきのDLL群を全部このフォルダ以下にコピーしたら
動くようになりました!!!
おおおおお,よかった.かなりの時間を費やしましたが…
このライブラリで動作確認できたことで,今後作るビデオ処理プログラムはWindows以外のOSでも動かすことができるのでその点では安心かも.
これから,このライブラリをつかって,カメラの画像のリアルタイム編集に入ります..