【Linux】UVC対å¿ã«ã¡ã©ãCentOSã§èªèããã
åç»ã®ã¹ããªã¼ãã³ã°ã©ã¤ãé ä¿¡ã®èª¿æ»ã§ffmpegã¨ffserverã§ã©ã¤ãé ä¿¡ããã¨ãã®ã¡ã¢。
ã¾ãã¯USBã«ã¡ã©ãCentOSã«èªèãããã¨ãããã。UVC(USB Video Device Class)対å¿ã«ã¡ã©ãªãå ±éã®ãã©ã¤ããã¤ã³ã¹ãã¼ã«ãããã¨ã§å¯¾å¿å¯è½。
Linux kernelã®ãã¼ã¸ã§ã³ã2.6.26以ä¸ãªãUVCãã©ã¤ããæ¨æºã§ã¤ãã¦ããã®ã§å¥éã¤ã³ã¹ãã¼ã«ã¯å¿ è¦ãªãããã。æè¿ã®Ubuntuã ã£ããã«ã¼ãã«ã®ãã¼ã¸ã§ã³ãæ°ããã®ã§æ¨æºã§ã¤ãã¦ãã。
ãã£ã¦ã¿ãã®ã¯CentOS5.2ã§kernel 2.6.18-92.1.22.el5。64bit OS。
ã¡ãªã¿ã«ã«ã¼ãã«ã®ãã¼ã¸ã§ã³ã確ãããã®ã¯
# uname –a
UVCãã©ã¤ãã«ã¤ãã¦ã¯ã¾ããã(è±èª)ãåç §。ãµãã¼ããã¦ããããã¤ã¹ã®ä¸è¦§ãããã®ã§èªåã®Webã«ã¡ã©ã対å¿ãã¦ããã確èª。
ããã®ä¸ã®æ¹ã«ãªã³ã¯ããããã©、ãã©ã¤ãã¯ããã®ãã¼ã¸ãããã¦ã³ãã¼ã。ãã¼ã¸ã®ä¸ã«ããgzã®ãªã³ã¯ããè½ã¨ã。
ãµã¼ãã«é ç½®ãã¦è§£å+ã¤ã³ã¹ãã¼ã«
# tar xzvf uvcvideo-14d5abfc0d7e.tar.gz
# cd uvcvideo-14d5abfc0d7e
# make
# make install
ã³ã³ãã¤ã«ã«å¿ è¦ãªgccã¨ãkernel-develã¯å ã«ã¤ã³ã¹ãã¼ã«ãå¿ è¦
ããã§ãã°ãã¡ã¤ã«ãç£è¦ããªããUSBãæ¿ãã¦ã¿ã
# tail -f /var/log/messages
æ¿ããç¬éã«æ¬¡ã®ã¡ãã»ã¼ã¸ã表示ãããã°OK。
kernel: usb 1-1: configuration #1 chosen from 1 choice
kernel: Linux video capture interface: v2.00
kernel: uvcvideo: Found UVC 1.00 device <unnamed> (046d:0992)
kernel: input: UVC Camera (046d:0992) as /class/input/input3
kernel: usbcore: registered new driver uvcvideo
kernel: USB Video Class driver (v0.1.0)
ã¡ããã¨/dev/video0ãã§ãã¦ãã。
å¥ã®ç°å¢(CentOS 5.2 i686)ã§ã³ã³ãã¤ã«ããã¨ãã¯ä¸ã®ã¨ã©ã¼ã§ã³ã³ãã¤ã«ã§ããªãã£ã。
File not found: /lib/modules/2.6.18-128.1.10.el5/build/.config at ./scripts/make_kconfig.pl line 32, <IN> line 4.
make[1]: *** `config-compat.h' ã«å¿ è¦ãªã¿ã¼ã²ãã `.myconfig' ã make ããã«ã¼ã«ãããã¾ãã. ä¸æ¢.
kernel-develãã¤ã³ã¹ãã¼ã«ãã¦ãªãã ããã¨æãå¥éã¤ã³ã¹ãã¼ã«ãã¦ãç´ããªã。
ã©ãããkernel-develãåç §ãããã¿ãããªã®ã§ã·ã³ããªãã¯ãªã³ã¯ãæåã§ä½æ。
# mv /lib/modules/2.6.18-128.1.10.el5/build /lib/modules/2.6.18-128.1.10.el5/build.bak
# ln -s /usr/src/kernels/2.6.18-128.1.16.el5-686/ /lib/modules/2.6.18-128.1.10.el5/build
ããã§makeã¨make installãéã£ã。
å®ã¯64bitã®CentOSãVMware Server 2.0ãã¤ã³ã¹ãã¼ã«ããã¦ãã¦、ã²ã¹ãã®CentOSã«ffmpegãã¤ã³ã¹ãã¼ã«ãã¦ããã®ã§、ï¼ã¤ãã©ã¤ããã¤ã³ã¹ãã¼ã«ããå¿ è¦ããã£ãã®ã§ã。
ã²ã¹ããã·ã³ã«USBãèªèãããããã«ã¯「USB Controller」ã追å ãã¦、ä¸ã«åºã¦ããUSBãã¼ã¯ããé¸æãã¦æå¹ã«ãã。
ããã§ç¡äº、ãã¹ãã«æ¥ç¶ãããUSBã«ã¡ã©ãã²ã¹ãã§èªèãããã¨ãã§ãã。