分类: 嵌入式
2011-11-23 20:41:18
mjpg-streamer_TX2440A.diff.tar.bz2 这个是修改后的补丁文件,获得mjpg-streamer源码
补丁文件
|
> 编译、移植mjpg-streamer软件包
解压mjpg-streamer源码包,进入源码目录:
源码目录下有三个文件夹:mjpeg-client、mjpg-streamer、uvc-streamer
编译mjpg-streamer:
#cd mjpg-streamer
#make
生成的文件:input_testpicture.so、input_uvc.so、input_control.so、input_file.so、input_gspcav1.so、output_autofocus.so、output_file.so、output_http.so、mjpg-streamer
编译可能出错,
错误:提示”cannot find -ljpeg”。解决:可执行# apt-get install glibc*
我们需要用到的只有input_uvc.so和output_http.so这两个模块和可执行程序mjpg-streamer
将input_uvc.so、output_http.so这两个文件复制到根文件系统的/lib目录下,将mjpg_stream复制到根文件系统的/usr/sbin目录下。
>编译uvc-streamer:
#cd ..
#cd uvc-streamer
#make
把生成的可执行程序uvc_stream复制到根文件系统的/usr/sbin目录下
> 搭建视频服务器
1. 制作根文件系统 把jpeg、SDL库从交叉编译器的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
使用uboot将root_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.so,http输出
-w后面接开发板的IP地址和服务器端口号:8080 客户端使用这个IP地址和端口号就能登录服务器
可以把这些命令写入一个文件中,比如:webcam_ip,把这个文件放到/usr/bin目录下,并加上可执行权限,以后就可以在终端中直接执行#webcam_ip,省去了输入繁琐的命令。
根文件系统补丁
|
> 实现功能
说明:先用网线连接好开发板和计算机,确保网络是连接的,才能实现后面的功能;也可以将开发板接在局域网中,然后就可以使用局域网中的任意一台计算机来访问开发板,实现摄像头的共享。
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下安装JRE(JAVA运行环境)才能观看视频流。点击“JAVA视频”,就可以观看视频了。