Kinect を Flash から使う。


2010112201-Kinectas3

ええまあいちおう流れにのって Kinect 買ってみたですね。んでまあ Flash 屋なので Flash でも使いたいわけですけれども、今がんがん開発されてる libfreenect は Webcam ドライバとして使えるわけではないので、Flash から使うためにはいつものようにサーバーアプリを経由して使うってことになるんだろうねーっと思ってたら、つい最近 libfreenect に as3-server なるサンプルがコミットされましたよっていうわけでコンパイルしようとしたら割と大変だったので、やり方書いときますね。

追記 (11/24) : リポジトリの構成がごっそり変わった & openkinect の wikiに新しいやつのコンパイルの仕方書いてあったわ。ので下のはもうイラネ。っていうか昨日の Kinect ハック会で @kjumr が作ってたヤツのほうがよさげである。


$ git clone https://github.com/OpenKinect/libfreenect.git
$ curl -o libusb.tar.gz "http://git.libusb.org/?p=libusb.git;a=snapshot;h=7da756e09fd97efad2b35b5cee0e2b2550aac2cb;sf=tgz;js=1"
$ tar zxvf libusb.tar.gz
$ cd libusb-7da756e/
$ patch -p1 < ../libfreenect/platform/osx/libusb-osx-kinect.diff
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
$ cd ../libfreenect/c/
$ mkdir build
$ cd build
$ cmake -D USB_INCLUDE_DIR=/usr/local/include/libusb-1.0 -D USB_LIBRARY=/usr/local/lib/libusb-1.0.0.dylib ..
$ make
$ examples/as3-server

as3-server コンパイル時に libjpeg らしきものが無いっていわれるのだけど使ってないっぽいので libfreenect/c/examples/CMakeLists.txt の 25行目の JPEG ってのを消すとエラーなくなる。

んで、まあ、動かしてみたわけですけど、予想通りソケット経由ではデータ転送が遅すぎて 2 fps ぐらいしか出ない。リアルタイムに遊ぶ系はちょっと辛い。(自分の MBP で動かしたらわりとスムーズだった。15 fps ぐらいは出てる。)Webcam として使えるようになれば Flash なりのおもしろさが出てくると思うんだけどなー。