Chinaunix首页 | 论坛 | 博客
  • 博客访问: 411296
  • 博文数量: 101
  • 博客积分: 2324
  • 博客等级: 大尉
  • 技术积分: 887
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-19 19:28
文章分类

全部博文(101)

文章存档

2012年(3)

2011年(60)

2010年(38)

分类: 嵌入式

2011-11-23 20:41:18

mjpg-streamer_TX2440A.diff.tar.bz2 这个是修改后的补丁文件,获得mjpg-streamer源码

补丁文件

文件: mjpg-streamer_TX2440A.diff.tar.bz2
大小: 458KB
下载: 下载
 

 

> 编译、移植mjpg-streamer软件包

解压mjpg-streamer源码包,进入源码目录: 

源码目录下有三个文件夹:mjpeg-clientmjpg-streameruvc-streamer

编译mjpg-streamer

#cd mjpg-streamer

#make

生成的文件:input_testpicture.soinput_uvc.soinput_control.soinput_file.soinput_gspcav1.sooutput_autofocus.sooutput_file.sooutput_http.somjpg-streamer

编译可能出错,

错误:提示cannot find -ljpeg。解决:可执行# apt-get install glibc*

我们需要用到的只有input_uvc.sooutput_http.so这两个模块和可执行程序mjpg-streamer

input_uvc.sooutput_http.so这两个文件复制到根文件系统的/lib目录下,将mjpg_stream复制到根文件系统的/usr/sbin目录下。

 

>编译uvc-streamer:

#cd ..

#cd uvc-streamer

#make

把生成的可执行程序uvc_stream复制到根文件系统的/usr/sbin目录下

 

 

> 搭建视频服务器

1. 制作根文件系统 把jpegSDL库从交叉编译器的lib目录拷贝到根文件系统的/lib目录下

#cd root_2.6.31/lib

#cp -a  /usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/libjpeg*

/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/usr/lib/libSDL* ./

制作文件系统镜像,下载到开发板中:

#mkyaffs2image root_2.6.31 root_2.6.31.bin

#chmod 777 root_2.6.31.bin

使用ubootroot_2.6.31.bin下载到Nandflash的文件系统分区

 

2. 运行mjpg-streamer 在开发板的串口终端中输入命令:

#mjpg-streamer -i /lib/input_uvc.so-o /lib/ouptput_http.so -w 192.168.1.10:8080

-i表示输入模块,使用了input_uvc.so,摄像头输入

-o表示输入模块,使用了output_http.sohttp输出

-w后面接开发板的IP地址和服务器端口号:8080 客户端使用这个IP地址和端口号就能登录服务器

可以把这些命令写入一个文件中,比如:webcam_ip,把这个文件放到/usr/bin目录下,并加上可执行权限,以后就可以在终端中直接执行#webcam_ip,省去了输入繁琐的命令。

根文件系统补丁

 

文件: root_2.6.31_webcam_ip.diff.tar.bz2
大小: 1KB
下载: 下载

 

> 实现功能

说明:先用网线连接好开发板和计算机,确保网络是连接的,才能实现后面的功能;也可以将开发板接在局域网中,然后就可以使用局域网中的任意一台计算机来访问开发板,实现摄像头的共享。

1. 使用客户端软件

先在开发板上运行#webcam_ip

运行效果如下图:

winows下解压mjpg-streamer.tar.gz软件包

mjpg-streamer\mjpeg-client\bin\win32_upx目录下有一个viewer.exe的程序,双击运行它 输入开发板的IP地址:192.168.1.10,端口号:8080,然后点击Connect 这样就会在下面显示摄像头捕捉到的画面了。结束服务器程序,可以使用Crtl+C组合键终止程序

 

使用Web登录服务器,要先制作网页,把网页文件放在一个文件夹下,可以使用我们提供的制作好的网页文件(webcam文件夹),将它放到文件系统的某个目录下,比如:/var目录。

 

在开发板的串口终端中输入命令:

#mjpg-streamer -i /lib/input_uvc.so -o /lib/ouptput_http.so -w /var/webcam-w

后面要指定网页文件存放的位置 也可以把这个命令写入一个文件,如:webcam_web

 

使用web访问先在开发板上运行#webcam_web

打开IE浏览器,在地址栏输入,这样就可以访问我们制作好的网页了。

如果需要观看视频流,需要使用FireFox(火狐)浏览器。 在普通的IE浏览器上也可以使用JAVA来观看视频流,但需要在windows下安装JREJAVA运行环境)才能观看视频流。点击JAVA视频,就可以观看视频了。

阅读(3355) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~