2011年06月27日

Processingで動画ライブラリを試す

先日から,ビデオ関係の外部ライブラリを色々試しています.


このライブラリを試すことになったのは,前は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でも動かすことができるのでその点では安心かも.


これから,このライブラリをつかって,カメラの画像のリアルタイム編集に入ります..
posted by maplewine at 20:55| Comment(0) | TrackBack(0) | Computer | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック