Chinaunix首页 | 论坛 | 博客
  • 博客访问: 265420
  • 博文数量: 49
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 540
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-08 10:33
文章分类

全部博文(49)

文章存档

2010年(2)

2009年(30)

2008年(17)

我的朋友

分类: LINUX

2009-04-06 16:22:46

使用servfox spcaview架设嵌入式Linux视频服务器。

 

网上有很多这样的文章,我写这篇文章,主要是记录我学习的点点滴滴,作为以后进一步学习好参考之用,也分享给广大同行朋友们。

源码下载:上网站中,有相关的源码。本移植过程中需要包含的源码包:

   Servfox 

 

文件: servfox.rar
大小: 17KB
下载: 下载

 

     SDL-1.2.13 

     

文件: SDL-1.2.13.rar
大小: 3777KB
下载: 下载

  spcaview

文件: spcaview-20061208.rar
大小: 130KB
下载: 下载

1.       移植摄像头驱动,在我的另外一篇文章《USB摄像头(基于中星微zc301)驱动程序的移植》的文章里详细的介绍了移植方法。这里不再赘述。

2.       移植servfox。其实spcaview也可以,即可以做采集端,也可以做接收端。但是移植起来没有servfox简单,所以采集数据端选用servfox。修改Makefile文件为,

CC=arm-linux-gcc

SERVFLAGS= -O2 -DLINUX $(WARNINGS) –I/home/yuaf/linux-2.6.15/include

然后make一下,在当前文件夹下就可以看到生成的可执行文件 servfox,把此可执行文件拷贝到网络文件系统下 /home/yuaf/root_nfs/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已成功运行起来了。

3.       Linux上编译spcaview.由于此软件包依赖与libsdl,所以在安装spcaview之前,必须要

SDL-1.2.13.

解压源码包:  tar zxvf SDL-1.2.13.tar.gz

安装源码包:  cd SDL-1.2.13; 运行 ./configure 文件,编译文件 make ,安装文件 make install。在安装的过程中,注意安装的路径,可以通过查看配置文件获得安装路径或者修改路径。

安装spcaview软件:

tar zxvf spcaview-20061208;cd spcaview-20061208;make

ok啦,在源文件目录上,可以看到三个可执行文件,spcacat spcaserv spcaview

spcacat 简单图片的抓取工具,不能用于网络监视客户端。

Spcaserv shi 流媒体服务器,

Spcaview 工具是用来纪录数据流,也能用来播放数据,也能作为网络监视客户端用。

我们可以在Linux上运行: ./spcaview –g –s 320x240 –w 192.168.0.100:7070

其中192.168.0.100是服务器的IP地址,这样我们就可以在PC机上看见USB摄像头采集进来的数据了。

4.  移植Web服务器,我们选用的是boa服务器,在我的另外一遍文章中有介绍《boa在嵌入式Linux上的移植》有详细的介绍,这里不再叙述。

5. 接着就是通过web浏览器浏览摄像头采集进来的数据了。在上面的spcaview目录中,有一个目录 http-java-applet。把此目录放到web服务器的Documentroot目录下,注意要设置此文件的权限。

6.安装JRE,以让浏览器支持JAVA程序。若在Linux下可以参照:

   ,对此有比较详细的介绍。若在ubuntu下,比较省事的做法是:sudo apt-get install sun-java6-jdk. Sudo apt-get install sun-java6-jre

   若在windows下,可以在网上下载支持windowsjreexe文件。

7.        安装完之后,呵呵,就可以在windows的浏览器下输入:

激动人心的时刻到来了。就可以看到摄像头采集进来的数据了。

总结:在整个移植的过程中也不是一帆风顺的。在最开始移植serforx的时候,运行serforx,出现  invalid …..什么玩意的。这种情况是没有找到相应的库文件。还有就是在添加了相应的库文件之后,之后出现

ervfox: /lib/libpthread.so.0: version `GLIBC_2.1' not found (required by servfox)

servfox: /lib/libpthread.so.0: version `GLIBC_2.0' not found (required by servfox)

servfox: /lib/libc.so.6: version `GLIBC_PRIVATE' not found (required by /lib/libpthread.so.0)

servfox: /lib/libc.so.6: version `GLIBC_2.4' not found (required by /lib/libpthread.so.0)

查看lib目录下,发现有相关的文件啊,这说明是编译器的版本不一致导致的。我就是换一个低一点的版本编译就不会出现这样的问题了。在windows下输入服务器网址,看摄像头采集进来的图像,最开始始终没有,第一天捣鼓了一阵,就没整了,比较郁闷。今天我在sun java 控制台乱整了一下,输入网址,意想不到的事发生了。浏览器可以看见图像了。而且延时时间还比较小。在整个过程中收获还是蛮大的。

阅读(11268) | 评论(11) | 转发(4) |
给主人留下些什么吧!~~

chinaunix网友2009-04-30 16:27:29

谢谢了哈!

chinaunix网友2009-04-23 11:27:45

这个也是我一个多月前做的,现在忙着给朋友开发软件,也没有具体深入的研究。不过若采集图片的话,在客户端运行spcaview,里面有很多参数,你可以用 --help参数查看一下,也可以在google搜一下,具体的参数解释,我想肯定有的,只是参数设置的问题,参数设置好了,应该就能在客户端采集到图片了。用spcaview作为采集端,你可以尝试一下,主要是交叉编译的问题,我移植的时候,好像没有移植成功,交叉编译有很多错误。所以就没有整了,不过你可以试一下

chinaunix网友2009-04-23 11:11:39

你好,我想请问下,按照楼主的步骤 我已成功获取到视频,但不知怎么去采集图片,还有就是楼主提到用spcaivew作采集端 移植比较麻烦,楼主尝试过了了没?能提示下吗?我想y移植spcaview!

chinaunix网友2009-04-20 12:51:13

图像的压缩我想应该在servfox里吧,你可以去看看源代码,我本打算要看的,最近在忙帮一个私人公司开发软件的事,也就耽搁了。boa是嵌入式Web服务器,客户端通过浏览器浏览服务器下的网页,而采集的数据则通过http-java-applet进行传输,http-java-applet设计到java applet的编程,这我也不懂。不过这些多在百度上和google上搜搜有很多的。我给你邮箱发了一些我做这个时候用的相关文件,看能不能对你有用。

chinaunix网友2009-04-20 09:15:14

谢谢你咯,我还纳闷的是,一般的远程监控系统都包括图象信号的视频图象采集算法的实现,图象数据的压缩算法的实现,网络通信程序的实现以及嵌入式Web 的构建等等,采集我知道是在servfox实现,那图像的压缩是在哪一块实现的,网络通信和web构建则是通过boa和http-java-applet的吗??