最新消息:

摄像头(WebCam)在Linux中采用Spcaserv 架设网络视频监控服务器 (v0.1b)

Linux运维 大步 1139浏览 0评论

来源:http://www.linuxsir.org/main/node/221

作者:北南南北
来自:LinuxSir.Org
摘要:本文主要内容是在Linux中驱动摄像头(WebCam),用Spcaserv 服务器架设网络监控系统,客户端通过浏览器进行时时监控。

 

目录

1、网络监控服务器的说明;2、Linux 用摄像头(WebCam)做网络监视服务器所需条件和要达到的目的;2.1 所需要的软件环境和硬件设备;2.2 所要达到的目的;3、Linux 用摄像头(WebCam)的驱动方法; 4、在 Linux 中用 Spcaserv架设网络监控服务器;

4.1 下载软件 Spcaview;4.2 Spcaview 软件包的安装;4.3 Spcaserv 服务器的配置和运行;4.31 Spcaserv 服务器的运行;4.32 Spcaserv 运行示例;4.33 配置HTTPD服务器,以便客户端能在浏览器下查看;5、网络客户端监控工具介绍;

5.1 通过浏览器监控;5.11 安装JRE,以让浏览器支持JAVA程序;5.12 浏览器监控示例(跨平台);5.2 Linux 客户端通过Spcaview;

5.21 Spcaview 进行网络时时监控;5.22 通过Spcaview 进行数据流采集;6、其它网络监控服务器; 7、关于本文; 8、更新日志; 9、参考文档; 10、相关文档;


+++++++++++++++++++++++++++++++++++++++++++++
正文
+++++++++++++++++++++++++++++++++++++++++++++


1、网络监控服务器的说明;

如何用摄像头做一个时时监控的系统呢?也就是说有一台网络专用临控服务器,其它客户机通过网络影像监控软件或浏览器来进行时时监控摄像头所在位置, 所发生的一切。我没有弄过专业类的视频监控,也不知道他们用的是什么专业的设备,也不知道他们有什么功能。我所理解的网络监控服务器应用如下内容:


2、Linux 用摄像头(WebCam)做网络监视服务器所需条件和要达到的目的;

我们首先定义一下我们用摄像头(WebCam)来做网络时时临控系统所需的条件和要达到的目的;


2.1 所需要的软件环境和硬件设备;

首先:得有一个摄像头(WebCam),并且是 能被 Linux 所支持的摄像头,请参考: 《摄像头(WebCam)在Linux操作系统中的驱动方法 》

其次:软件环境,我们用 Spcaserv来架设;

第三:网络环境,我们得有一个网络环境,比如我来测试我所做的网络监视系统是否成功,至少在局域网内有两台机器吧,虽然一台也能做,但至于网络的其它计算机是否能看得到,如果机器太少,我们无从得知;


2.2 所要达到的目的;


3、Linux 用摄像头(WebCam)的驱动方法;

请参考: 《摄像头(WebCam)在Linux操作系统中的驱动方法 》


4、在 Linux 中用 Spcaserv架设网络监控服务器;


4.1 下载软件 Spcaview;

下载地址: http://mxhaard.free.fr/spca50x/Download> ,我下载的是目前这个版本: spcaview-20051212.tar.gz

spcaview-20051212.tar.gz软件包包含一组工具;

* Spcaview 工具是用来纪录数据流,也能用来播放数据;也能做为网络监视客户端用;
* Spcaserv 是流媒体服务器,我们就是用这个工具来做监控服务器;
* Spcacat 简单图片的抓取工具,不能用于网络监视客户端 ;


4.2 Spcaview 软件包的安装;

依赖关系;

此软件依赖 libsdl,要先安装它才行,下载地址:http://www.libsdl.org ,我下载的是:SDL-1.2.10.tar.gz

http://www.libsdl.org/download-1.2.php

[root@localhost ~]# tar zxvf SDL-1.2.10.tar.gz
[root@localhost ~]#  cd SDL-1.2.10
[root@localhost SDL-1.2.10]# ./configure ; make ;make install

安装SpcaView 软件包:

[root@localhost ~]# tar zxvf spcaview-20051212.tar.gz
[root@localhost ~]# cd spcaview-20051212
[root@localhost spcaview-20051212]# make ; make install

配置可执行程序的路径:

可执行的工具被安装到 /usr/local/bin目录中,所以我们还要配置一下用户的环境变量PATH 。配置命令执行路径,在当前用户家目录下的.bashrc文件中加入下面的一行;

export PATH=".:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin"

然后运行如下命令;

[root@localhost spcaview-20051212]# source .bashrc

关于路径的配置,请参考:
《Linux 命令及可执行程序路径的设置》《关于Linux 文件系统中路径的理解》


4.3 Spcaserv 服务器的配置和运行;


4.31 Spcaserv 服务器的运行;

Spcaserv 运行方法如下;

spcaserv [-h -d -g -f -s] [-w Port]

参数说明:


4.32 Spcaserv 运行示例;

我在 192.168.1.3 这台机器做为网络监控服务器,并且指定服务器运行在 8888端口上;并且客户端监视时所显示的画面是 320x240的分辨率;

[root@localhost spcaview-20051212]#  spcaserv -s 320x240 -w 192.168.1.3:8888&


4.33 配置HTTPD服务器,以便客户端能在浏览器下查看;

首先:安装和配置HTTPD服务器;

至于HTTPD服务器在Linux常用的就是Apache服务器,您可以通过您所用的发行版提供的软件包来安装,也可以自行编译安装,在 LinuxSir.Org 的网络讨论区的置顶帖子中有很多这样的帖子;安装好HTTPD服务器后,要把服务器启动起来。

在 Fedora 或Redhat 中,如果是用其所提供的 RPM包安装的,要用如下方法启动;

[root@localhost spcaview-20051212]# /etc/init.d/httpd start

其次:复制SpcaView 软件包解压目录下的 http-java-applet 目录到WEB服务器的家目录下;

比如Fedora的HTTPD服务器的默认家目录是 /var/www/html,我以我的机器来说明了,所以我要做如下的工作;

[root@localhost spcaview-20051212]# cp -R  http-java-applet /var/www/html/webcam/
[root@localhost spcaview-20051212]# chmod -R 755 /var/www/html/webcam

第三: 进入/var/www/html/webcam 目录制作视频首页;

[root@localhost spcaview-20051212]# cd /var/www/html/webcam
[root@localhost webcam]# cp index-sample.html  index.htm

您可以用查看index.htm文件内容,可以自己改一改,也就是把洋文改成中文;根据自己的情况自己看着办吧;


5、 网络客户端监控工具介绍;

对于客户端网络监控,能跨平台的客户端只有通过浏览器了,这是最方便的方法;另外在Linux中有 Spcaview工具可用;现一一介绍;


5.1 通过浏览器监控;


5.11 安装JRE,以让浏览器支持JAVA程序;

我们可以通过浏览器来监控,利用浏览器监控可以跨平台监视,这样无论Linux、Windows、还是MacOS,或者是BSD及其它UNIX系统,只要有图形界面的浏览器,在桌面环境下就可以对摄像头(WebCam) 所“控制”的范围进行监控。

由于服务器端的WEB页面包括JAVA控件,所以您得安装 JAVA环境。要让浏览器支持JAVA插件。

在 Linux 中,您可以参考:《JRE 安装和配置,以适合JAVA程序运行所具备的环境》

在Windows中,点鼠标就可以完成操作,不再介绍了;


5.12 浏览器监控示例(跨平台);

当您安装好JRE后,在浏览器的地址栏上输入Spcaserv监控服务器地址,看能不能显示出来?比如我的服务器地址是:

如图所示,我们可以看到在局域网的计算机都可以通过浏览器进行监视了;

摄像头(WebCam)在Linux中采用Spcaserv 架设网络视频监控服务器 (v0.1b) - ksharp_dabu - ksharp_dabu的博客 摄像头(WebCam)在Linux中采用Spcaserv 架设网络视频监控服务器 (v0.1b) - ksharp_dabu - ksharp_dabu的博客


5.2 Linux 客户端通过Spcaview;


5.21 Spcaview 进行网络时时监控;

Spcaview 是 Linux网络客户端监控工具,当然也能用于本地测试摄像头用,如果Spcaserv占用了摄像着,只能作为网络监控工具来用,通过-w参数来指定Spcaserv 服务器地址;

Spcaserv 时时监控很简单,您可以通过 spcaserv -h 来获得帮助;比如我们获取 Spcaserv服务器上的监视数据流。就可以用下面的办法;

[root@localhost ~]# spcaview -s 320x240  -w 192.168.1.3

当然您可以在服务器端运行上面的命令也可,如果在服务器端运行,得有桌面环境;


5.22 通过Spcaview 进行数据流采集;

对于数据流的采集,可以在服务器端,也可以在客户端。当然服务器端和客户端都得有桌面环境; Spcaview 工具是通过 -o 参数把数据流传到一个文件中。您也可以采用压缩数据流的办法,要用到-z参数;

[root@localhost ~]# spcaview -h  注:查看帮助;

关于通过Spcaview通过指定 Spcaserv服务器地址的办法来采集数据,我测试并成功,表现在不能写入到输出文件中,我先学习学习再说。如果您成功了,请在本文后面留言 ,谢谢。

SORRY 。。。


6、其它网络监控服务器;


7、关于本文;


8、更新日志;

2006.06.10 v0.1b 正文完成,进入修订阶段;


9、参考文档;

spcaview -h
spcaserv -h
Spcaview 软件包中的README;


10、相关文档;

 

可以用spcaview -s 320x240 -w 192.168.1.3看见图象了

可以用spcaview -s 320x240 -w 192.168.1.3看见图象了,但是想通过网页浏览时,在下载完java插件之后就是一片灰的背景,是什么原因呢?

  • 由 LinuxSir 在 2006/07/24 - 23:06 发表
  • 要发表评论,请先登录注册

实现了文章中所说的所有功能,多谢版主,

有问题请加我QQ:63219215 和嵌入式视频监控研究群:13449178
以后将出一篇在嵌入式上面的开发文章,请大家期待

  • 由 mini_ants 在 2006/08/01 - 10:46 发表
  • 要发表评论,请先登录注册

配置可执行程序的路径

我怎么在 root 目录下面找不到 .bashrc 文件啊

我是以root的身份进入系统的,那 当前用户家目录 就是root了??
这是怎么回事啊

  • 由 chenjx 在 2006/08/02 - 11:35 发表
  • 要发表评论,请先登录注册

Anonymous

Anonymous 老兄,你用的是什么版本的系统和内核啊,你libsdl用的是SDL-1.2.10.tar.gz?

  • 由 chenjx 在 2006/07/25 - 07:48 发表
  • 要发表评论,请先登录注册

sdl-1.2.9

sdl-1.2.9

  • 由 LinuxSir 在 2006/07/25 - 12:51 发表
  • 要发表评论,请先登录注册

能不能sdl-1.2.9

能不能sdl-1.2.9 发我一份啊 谢谢了
email:jiaxu_chen@163.com

  • 由 chenjx 在 2006/07/26 - 10:15 发表
  • 要发表评论,请先登录注册

执行出错!

我按你的方法,去http://www.libsdl.org/download-1.2.php
下载SDL-1.2.10.tar.gz,
现在是1.2.11版本了,解压后,执行./configure 出现如下警告:
make:warning:Clock skew detected.your build may be incomplete.
继续执行make,就出现如下错误了:make:***[build/SDL.lo] error 1
这是什么原因啊,楼主救人啊!

  • 由 chenjx 在 2006/07/21 - 15:40 发表
  • 要发表评论,请先登录注册

怎么没人愿意抽时间看看啊

我是在windows的vmware虚拟机上装的linux redhat9.0
内核为2.4.20-8,为什么运行会有上述错误,是内核需要要升级?
还是需要安装什么软件.高人,帮忙指点啊

  • 由 chenjx 在 2006/07/24 - 14:29 发表
  • 要发表评论,请先登录注册

浏览器里看不到

spacview可以看到摄像头的画面,但在浏览器里:JWebcamplayer:Connection Failed。是什么原因?

  • 由 LinuxSir 在 2006/06/27 - 12:54 发表
  • 要发表评论,请先登录注册

同意,请版主给点指导

提示java小程序启动失败,在本机使用spcaview可以看见摄像头里边的图象

  • 由 mini_ants 在 2006/07/26 - 22:05 发表
  • 要发表评论,请先登录注册

是啊,我也是这样的

我在windows下的IIS服务器试的时候好象java程序能够正常使用起来,初步怀疑是linux下httpd服务器配置有关系.望搞定的能给指导.QQ:3402704,也希望大家来交流

  • 由 zyylove 在 2006/07/27 - 18:02 发表
  • 要发表评论,请先登录注册

终于搞定了!

哎。搞了这么久,原来是文件的执行权限问题,把http-java-applet目录下的所有文件的执行权限改为可执行的,就一切OK了!

  • 由 zyylove 在 2006/07/31 - 14:03 发表
  • 要发表评论,请先登录注册

上面的命令有个错。我在SUSE9.3下试验成功

首先谢谢zyylove给的提示!
我发现将上面网页的chown -R 755 /var/www/html/webcam
换成chmod -R 755 /var/www/html/webcam即可解决 浏览器页面停止在“loading applet”无反映的问题。

在SUSE下 默认WEB目录为/srv/www/htdocs/
对应的命令为:chmod -R 755 /srv/www/htdocs/webcam
其他linux类似

目前在搞linux、uclinux下视频服务器,对这个感兴趣的可以与我交流QQ 20964541

  • 由 LinuxSir 在 2006/08/16 - 22:29 发表
  • 要发表评论,请先登录注册

谢谢。

是我写错了,谢谢 兄弟指正。
没想到给大家填了这么多的麻烦。由于一处出错~~~~~~~~~~~~
感谢中。。

北南 呈上

  • 由 北南南北 在 2006/08/16 - 23:16 发表
  • 要发表评论,请先登录注册

to Anonymous

to Anonymous :你的这个问题解决了吗?

  • 由 LinuxSir 在 2006/07/20 - 22:26 发表
  • 要发表评论,请先登录注册

浏览器里看不到

我也會發生同樣的問題 請問有先進可以幫忙一下嗎?
我下的指令如下:
spcaserv -s 320x240
index.htm裡的設定如下:


<param name="Server" value="127.0.0.1">
<param name="Port" value="7070">

連線至: http://ip/webcam/index.htm
console 不會有反應
若是連線到: http://ip:7070
console 會列出一些訊息 VIDIOCSPICT brightnes=..........

先謝謝囉!

Best Regards.

  • 由 Anonymous (未验证) 在 2006/07/19 - 11:49 发表
  • 要发表评论,请先登录注册

hehe,有人关注这个了!

我一年前做arm-linux嵌入式开发的时候就用过的东西。
spca5xxxx那时候还不是很好用,采集到的视频数据都是单张的图片数据,
spca的驱动把图片压缩成jpeg的编码方式,然后一张张传输,这种机制非常
不适合网络传输,偶当时用的mpeg4的编码器把它编码才可以传输的。
这种利用spcaserv直接采集和传输的,估计支持的并发用户数没有几个的。
不利于大规模实用,不过做作试验玩玩应该效果不错。

  • 由 LinuxSir 在 2006/06/19 - 22:26 发表
  • 要发表评论,请先登录注册

可以提供你的做法吗?谢谢!

可以提供你的做法吗?谢谢!

  • 由 LinuxSir 在 2006/07/03 - 16:02 发表
  • 要发表评论,请先登录注册

其实运行压缩采集的系统不一定需要桌面环境的

这样的系统是存在的,比如RealNetwork的producer是支持命令行运行采集的,该公司 的Server也提供直播监视(可以同时保存文件,而且可以按文件大小等自动的分文件以利于备份)。此外该公司有一个相同产品类型的开源项目DNA计划, 本文提到的一些功能可以在此基础上进行扩展活动,比如定时照相功能。
因为使用更专业的流媒体服务器,可能监控效果更好。

  • 由 LinuxSir 在 2006/06/14 - 18:20 发表
  • 要发表评论,请先登录注册

好文章!太有启发了,非常感谢!

好文章!太有启发了,非常感谢!

  • 由 Anonymous (未验证) 在 2006/06/12 - 10:30 发表
  • 要发表评论,请先登录注册

求助

太好了。我的ZC0301P摄像头用spcaview -d dev/video0 -s 320x240 能正常运行,但运行spcaserv 或在amsn中使用摄像头都会引起系统重起动,不知何故?请教高手帮忙。谢谢!

  • 由 LinuxSir 在 2006/06/22 - 20:12 发表
  • 要发表评论,请先登录注册

内核的原因

升级内核吧

  • 由 LinuxSir 在 2006/07/16 - 15:42 发表
  • 要发表评论,请先登录注册

我刚刚做的毕业设计就是嵌入式视频监控

晕啊,我刚刚做的毕业设计就是嵌入式视频监控,采用的就是与这个类似的框架。太巧了吧。

  • 由 Anonymous (未验证) 在 2006/06/13 - 23:05 发表
  • 要发表评论,请先登录注册

 

转载请注明:大步's Blog » 摄像头(WebCam)在Linux中采用Spcaserv 架设网络视频监控服务器 (v0.1b)

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
SiteMap