天嵌 ARM开发社区

 找回密码
 注册
查看: 22343|回复: 114

网络摄像头可以显示了

  [复制链接]
460769013 发表于 2012-11-13 22:02:37 | 显示全部楼层 |阅读模式
本帖最后由 TQ-lkp 于 2012-11-14 14:27 编辑

唉。。。。。之前在论坛上看了好多关于这个问题,都没有找到答案(要么问题回答一半没下文,要么就是“啊,已解决。”然后不把方法贴出来,在此鄙视那些人!!!!!!!!!!!!!!)。

言归正传:下面是我做的过程,本人语文不好,看不懂的可以回帖问我。一定尽力解决!!!

先把《《基于天嵌科技的SKY2440/TQ2440的 Linux系统移植手册》》的  附录2Web服务器的移植 按手册一步步做好
(这时候你会发现,LED灯可以控制但是,视频就是打开不了!!!!!!这是因为我们文件系统中的web文件中servfox(在webcam.cgi里面)根本没有启动。)
于是我就是想自己手动启动:在串口终端输入
[root@EmbedSky ]# servfox -g -d /dev/video0 -s 320x240 -w 7070
回车后出现   -/bin/sh: servfox: not found
这说明本身自带的servfox可执行文件不能用,于是有了以下步骤
【移植servfox】
从 下面附件下载servfox-R1_1_3.tar.gz源码包,解压到linux下(一般放在/opt/EmbedSky/目录下)

步骤一:修改Makefile(原为Makefile.arm,把.arm去掉就行)文件为。
   CC=arm-linux-gcc
(SERVFLAGS= -O2 -DLINUX $(WARNINGS) –I/home/yuaf/linux-2.6.15/include这步可不要

步骤二:make,在当前文件夹下就可以看到生成的可执行文件servfox,把此可执行文件拷贝到文件系统/usr/bin

步骤三:在开发板中运行  servfox –d /dev/video0 –s 320x240 –w 7070 就可以看到如下的提示信息:

servfox version: 1.1.2 date: 07:10:2005 (C) mxhaard@magic.fr
Waiting .... for connection. CTrl_c to stop !!!!
说明servfox已成功运行起来了。
然后在网中打开摄像头就可以了
其实
在步骤三中会出现问题二看不到上面的现象,而是出现下面现象
[root@EmbedSky]# /usr/bin/servfox -g -d /dev/video0 -s 320x240 -w 7070
servfox version: 1.1.3 date: 11:12:2005 (C) mxhaard@magic.fr
wrong spca5xx device
Not a JPEG webcam sorry Abort !
看到看到红色的那行,我那个蛋都碎了。
还好有人蛋碎过也碰到这问题,解决办法如下:

再修改spcav4l.c,将蓝色字部分都注释掉,否则移植到板上会出现"Not a JPEG webcam sorry Abort "或者“could't set video palette Abort"的 错误


/* Only jpeg webcam allowed */
/*if(vd->cameratype != JPEG) {
exit_fatal ("Not a JPEG webcam sorry Abort !");
}*/

   if(debug) printf ("StreamId: %d Camera/n", vd->cameratype);
/* probe all available palette and size Not need on the FOX always jpeg
   if (probePalette(vd ) < 0) {
   exit_fatal ("could't probe video palette Abort !");
   }
   if (probeSize(vd ) < 0) {
   exit_fatal ("could't probe video size Abort !");
   }

err = check_palettesize(vd);
if(debug) printf (" Format asked %d check %d/n",vd->formatIn, err);
*/

vd->videopict.palette = vd->formatIn;
vd->videopict.depth = GetDepth (vd->formatIn);
vd->bppIn = GetDepth (vd->formatIn);

   //vd->framesizeIn = (vd->hdrwidth * vd->hdrheight * vd->bppIn) >> 3; // here alloc the output ringbuffer
   vd->framesizeIn = (vd->hdrwidth * vd->hdrheight >> 2 ); // here alloc the output ringbuffer jpeg only
erreur = SetVideoPict (vd);
erreur = GetVideoPict (vd);
/* if (vd->formatIn != vd->videopict.palette ||
      vd->bppIn != vd->videopict.depth)
    exit_fatal ("could't set video palette Abort !");
if (erreur < 0)
    exit_fatal ("could't set video palette Abort !");*/

之后make一下,会生成servfox文件,将它放到TQ2400上,输入命令./servfox -g -d /dev/video0  -s 320x240 -w 7070 ,打印出:
servfox version: 1.1.2 date: 07:10:2005 (C) mxhaard@magic.fr
Waiting .... for connection. CTrl_c to stop !!!!
zc3xx: probe 2wr ov vga 0x0000

当看到上面段打印的信息,顿时内牛满面啊啊啊!!赶紧的打开网页点击摄像头,画面出来了,那个激动啊!!!
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 2 +4 收起 理由
万里 + 2 赞一个!
freewing + 2

查看全部评分

embedsky_lhh 发表于 2012-11-14 09:01:05 | 显示全部楼层
呵呵顶一下,感谢分享,向楼主学习:)
ARMlearn 发表于 2012-11-14 09:16:43 | 显示全部楼层
恩 学习了
wuweidong 发表于 2012-11-14 10:36:56 | 显示全部楼层
test:):):)
我心永恒00 发表于 2012-11-14 10:54:07 | 显示全部楼层
来学些摄像头的操作!
TQ-lkp 发表于 2012-11-14 14:27:45 | 显示全部楼层
:'(:'(楼主好人啊
yubing1989 发表于 2012-11-14 19:04:49 | 显示全部楼层
楼主,你的摄像头是多少万象素输出的啊
 楼主| 460769013 发表于 2012-11-14 20:00:04 | 显示全部楼层
yubing1989 发表于 2012-11-14 19:04
楼主,你的摄像头是多少万象素输出的啊

中星的USB摄像头,像素很低吧
apple3 发表于 2012-11-15 09:07:37 | 显示全部楼层
顶一个,楼主好棒
ww110052181 发表于 2012-11-15 13:18:48 | 显示全部楼层
这个。。。。。。没什么技术含量
lantian5435 发表于 2012-11-15 13:44:09 | 显示全部楼层
good,thanks
三木生 发表于 2012-11-15 16:20:59 | 显示全部楼层
不知道我这个摄像头能不能用
zhongfushun 发表于 2012-11-15 21:09:22 | 显示全部楼层
向楼主学习
496812749 发表于 2012-11-16 10:03:57 | 显示全部楼层
支持楼主共享的精神
PhilipMAX 发表于 2012-11-16 10:05:06 | 显示全部楼层
向楼主学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-29 16:55 , Processed in 1.062493 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表