先去菜市场里找一个叫USB Webcam的软件安Hero上。

然后到这http://www.placaware.com/?page_id=116找一个AndroidUsbCamera安在PC上。其实是托管在github上的,直接到这http://github.com/marcogulino/AndroidUsbCamera也行。

照着README.txt做就行,很详细。

不过make可能过不了,我实验的时候有2个错误:

  1. qtInterfaces/socketinterface.h头文件路径<qt4/QtNetwork/QAbstractSocket>不对,可能不同的distro不一样。Arch的话加个软链接

    ln -s /usr/include /usr/include/qt4
    

    就解决了。

  2. framesconverter.cpp用到了livavutil的common.h文件static inline av_const int32_t av_clipl_int32_c(int64_t a)出现UINT64_C未定义错误。在上面加个patch就好(从/usr/include/stdint.h搞来):

    // patch from /usr/include/stdint.h
    # if __WORDSIZE == 64
    #  define UINT64_C(c)	c ## UL
    # else
    #  define UINT64_C(c)	c ## ULL
    # endif
    

编译出之后照着做就可以运行了。这时候你的机器上应该就可以识别出Hero为摄像头了。

但是Flash还是不认得。这个请参见强帖:

http://swifthumors.blogspot.com/2008/03/linux-flash-webcam-headache.html

里面说得很清楚。把flashcam装上modprobe一下就可以用了。