nmtysh.log

Tech系のネタや日々の独り言などを書いています。

Video for Linux

Ubuntu 10.10 でWebカメラの映像を取得するプログラムを書いたのですが、 ioctl(VIDIOCGMBUF) に失敗してしまいます。 Debian(Etch) だと動いたんですがね~ VIDIOCGMBUF 辺りをキーワードに検索したのですが、なかなか見つからず、やっとこさ見つかったので、メモ。

$ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so ./a.out
と実行すると無事カメラから映像(画像)を取得することが出来ました。


取得出来たんですが、タイムラグがかなりあります。
プログラムに改良の余地がありますな。

参考:
Chapter 6. Libv4l Userspace Library
Bug #331014 in linux (Ubuntu): “uvc video driver lacks VIDIOCGMBUF ioctl”
環境変数 LD_PRELOAD - 技術メモ帳
ウノウラボ by Zynga Japan: LD_PRELOADを使って任意の関数呼び出しにフックしてみる