您的位置 首页 制造

Arm-linux下USB摄像头的视频服务器的完成

我使用的是webcom001的摄像头,它的控制芯片是zc301,以这款芯片做的摄像头在市场上占有率很高,大概有70%左右。开发板的内核是Linux2….

我运用的是webcom 001 的摄像头,它的操控芯片是zc301,以这款芯片做的摄像头在市场上占有率

很高,大概有70%左右。开发板的内核是Linux2.6.18,穿插编译器是arm-linux-gcc 3.4.1。
装备一下内核,在内核目录下make menuconfig,在Device driver->Multimedia devices->Video4Linux,将它编译进内核,使体系供给V4L。然后便是USB摄像头的驱动,虽然其内核中就集成了对0V511、zc301等系列摄像头的支撑,开源驱动spca5xx/gspca也供给了对大部分干流摄像头的支撑,但仍是无法包括一切品牌的各种类型的摄像头,尤其是关于国内的中低端用户,很难找到直接可用的Linux下的驱动。所以我在网上下载了gspca驱动(http://mxhaard.free.fr/spca50x/Download/gspcav1-20070508.tar.gz,假如无法链接
的话,能够到csdn上下载,我现已上传了,免资源分),穿插编译make,其间Makefile参阅的是

VERSION = 01.00.18

DEFINES =

###
# The following flags enable experimental features.
# By default, these are enabled for development versions of the driver, and
# disabled for release versions.

# Optional: Enable driver debugging
DEFINES += -DGSPCA_ENABLE_DEBUG

# Optional: Enable direct register read/write for PAC207 development
#DEFINES += -DGSPCA_ENABLE_REGISTERPLAY

###
# The following flags enable features that arent yet implemented, and
# therefore are disabled by default.

# Optional: Enable compression
DEFINES += -DGSPCA_ENABLE_COMPRESSION

###
# Rest of Makefile follows here. You probably wont need to touch this.

# Setup defines
DEFINES += -DCONFIG_USB_GSPCA_MODULE=1 -DMODULE -D__KERNEL__
DEFINES += -DVID_HARDWARE_GSPCA=0xFF -DGSPCA_VERSION=”$(VERSION)”

ifneq ($(KERNELRELEASE),) # We were called by kbuild
CFLAGS += $(DEFINES)
obj-m += gspca.o
gspca-objs := gspca_core.o decoder/gspcadecoder.o

else # We were called from command line

KERNEL_VERSION = `uname -r`
KERNELDIR := /usr/src/linux-2.6.20.3
PWD := $(shell pwd)
MODULE_INSTALLDIR = /lib/modules/$(KERNEL_VERSION)/kernel/drivers/usb/media/
MODULE_INSTALLDIR2 = /lib/modules/$(KERNEL_VERSION)/kernel/drivers/media/video/
CC=/usr/local/arm/3.4.1/bin/arm-linux-gcc
CROSS_COMPILE=/usr/local/arm/3.4.1/bin/arm-linux-
ARCH=arm

default:
$(MAKE) -C $(KERNELDIR) SUBDIRS=$(PWD) CC=$(CC) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) modules

install:
mkdir -p $(MODULE_INSTALLDIR)
rm -f $(MODULE_INSTALLDIR)spca5xx.ko
rm -f $(MODULE_INSTALLDIR2)gspca.ko
install -c -m 0644 gspca.ko $(MODULE_INSTALLDIR)
/sbin/depmod -ae

uninstall:
rm -f $(MODULE_INSTALLDIR)gspca.ko
/sbin/depmod -aq

endif

##############################################################################
# OTHER TARGETS
##############################################################################
clean:
rm -r -f *.o decoder/.gspcadecoder.o.cmd decoder/*.o
.gspca.o.cmd *.o *.ko *.mod.* .[a-z]* core *.i
*.symvers *.err

##############################################################################

就会在解压目录下生成gspca.ko,然后cp gspca.ko /home/NFS,在开发板上insmod gspca.ko。
这时ls /dev就会看到一些设备文件vedio0 usbdev1.2_ep82 usbdev1.2_ep81。将USB摄像头刺进开发板的USB接口。这时USB摄像头的驱动现已搞定了。下面再移植servfox做服务器,用spacview播映即可。留意,
spacview需求SDL库的支撑,假如没有的话会犯错。还有便是运转穿插编译的servfox要带参数的,如

./servfox -d /dev/video0 -s 640×480 -w 192.168.1.75:7070,当然运转客户端播映程序也要带参数的,

如在局域网内另一台PC上运转./spcaview -d /dev/video0 -s 640×480 -w 192.168.1.75:7070。csdn上编译好的servfox和spcaview下载。当然也能够下载到源码自己编译。

运转后的效果图如下:

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/262562.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部