Chinaunix首页 | 论坛 | 博客
  • 博客访问: 398602
  • 博文数量: 59
  • 博客积分: 5195
  • 博客等级: 大校
  • 技术积分: 645
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-01 14:38
文章分类

全部博文(59)

文章存档

2017年(1)

2011年(10)

2010年(1)

2009年(9)

2008年(1)

2007年(35)

2006年(2)

我的朋友

分类: LINUX

2007-04-10 18:01:05

首先到处下载的需的驱动,内核版本是2.6.11以上的用gspca,2.6.11以下的用spca5xx(这也不是绝对的,因为我曾在2.6.17下也驱动成功过)。
一、驱动安装
1、编译内核
<M> Video For Linux
    V4l USB devices --->
     USB ZC0301[P] Image Processor and Control Chip support (此处因人而异)
这两个选项必须是用M,不能用*
摄像头属于视频类设备,遵循的标准为Video for Linux (V4L)标准。这个标准定义了一套API接口,内核、驱动、应用程序都以这个接口为标准进行交流。目前的V4L涵盖了音视频捕捉及处理等内容,也包括USB摄像头。在内核中加上这个选项之后,在/dev下才会创建一个video0的字符设备文件。
2、安装驱动
1>gentoo
emerge -av gspcac1
2>debian
apt-get insall gspca-modules-2.6.18-4-686 (2.6.18-4-686和内核版本号相对应)
3、查看摄像头型号
运行命令:lsusb
我的是:
Bus 002 Device 003: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 WebCam
注意:
如果是自己编译的内核,需要注意一点:
gspca依赖于usbcore,而usbcore依赖于ehci_hcd、ohci_hcd,所以在内核中应该把以下几处选成:
Support for Host-side USB
   EHCI HCD (USB 2.0) support
   OHCI HCD support
然后在
lib/modules/`uname -r`/modules.dep输入:
/lib/modules/`uname -r`/kernel/drivers/usb/media/gspca.ko: /lib/modules/`uname -r`/kernel/drivers/usb/core/usbcore.ko /lib/modules/`uname -r`/kernel/drivers/media/video/videodev.ko /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2-common.ko /lib/modules/`uname -r`
/kernel/drivers/media/video/v4l1-compat.ko
这样在插入摄像头之后这些模块就会自动加载

linux上的视频聊天工具有aMsn、Ekiga(gnomemeeting)等,有兴趣可到网上找安装和使用方法

二、安装摄像头应用程序
linux上摄像头应用程序有spcaview、spcagui等,此处只介绍spcaview的安装方法。
SpcaView 软件包,包括一组工具:
spcaview工具是用来纪录数据流,也能用来播放数据
spcaserv 是流媒体服务器
spcacat 简单图片的抓取工具
1、下载
spcaview的下载地址是:/spca50x/Download
spcaview依赖于libsdl(用到其中的sdl-config命令),下载地址是:
2、安装
1)
cd SDL-*
./configure ; make ;make install
2)
cd spcaview-*
make ; make install
3、使用spcaview工具
1)抓图
spcaview -d /dev/video0 -f jpg -s 320x240
2)抓到数据流
spcaview -f yuv -o ***.avi

如果想知道spcaview更多的用法,请参看SpcaTools Howto:/sview.html

三、架设网络视频监控服务器
1、通过C/S架构实现
1)运行服务端(spcaserv)
spcaserv -s 分辨率 -w IP地址:端口,如spcaserv -s 320x240 -w 192.168.0.172:7070
2)运行客户端监控数据流(spcaview)
spcaview -s 分辨率 -w IP地址:端口,如spcaview -s 320x240 -w 192.168.0.172:7070
2、通过B/S架构实现
1)配置apache
把apache的家目录设为/var/www/html/webcam
cp -rfv spcaview-*/http-java-applet/* /var/www/html/webcam
chmod 777 /var/www/html/webcam/ -R
cp index-sample.html index.htm (index-sample.html是视频首页)
2)安装java插件
我们可以通过浏览器来监控,利用浏览器监控可以跨平台监视,这样无论Linux、Windows、还是MacOS,或者是BSD及其它UNIX系统,只要有图形界面的浏览器,在桌面环境下就可以对摄像头所“控制”的范围进行监控。由于服务器端的Web页面包括java控件,所以得安装java环境。
我用的是firefox浏览器,给它做个链接就行了:
ln -s /opt/jdk1.5.0_03/jre/plugin/i386/ns7/libjavaplugin_oji.so /opt/firefox/plugins/
也可以在当前用户根目录下建立链接:
mkdir ~/.mozilla/firefox/plugins
cp libjavaplugin_oji.so ~/mozilla/firefox/plugins
(此处不能用ns7-gcc29里面的插件,否则firefox会报错并退出)
3)运行服务端(spcaserv)
spcaserv -s 分辨率 -w IP地址:端口,如spcaserv -s 320x240 -w 192.168.0.172:7070
4)使用Web监控数据流
在firefox地址栏中输入:localhost或本机的IP即可

四、FAQ
Spcaview version: 1.1.6 date: 28:08:2006 (C) mxhaard@magic.fr
Initializing SDL.
Could not initialize SDL: No available video device.
如果遇到以上错误请重新编译内核,把framebuffer选上。因为SDl实现视频的方法是:直接写入线性的图像帧缓冲(framebuffer),所以要用SDl必须要让内核支持framebuffer。
阅读(3653) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~