分类: 嵌入式
2011-04-26 11:38:45
彻底玩转 S3C2440 Linux
摄像头(包括USB和COMS摄像头)
转载时请注明出处和作者联系方式
文章出处:
作者联系方式:刘敏 <>
编译系统
Ubuntu10.04
交叉编译器
arm-linux-gcc 4.3.3
硬件设备
LT2440开发板 USB或者CMOS摄像头
测试软件
mjpg_streamer
依赖库
SDL-1.2.14 jpegsrc.v8b.tar.gz
上次我们编译好了mjpg_streamer,今天我来一一测试他的个个功能模块,默认的编译是不支持CMOS摄像头的,所以在下一篇再介绍CMOS摄像头的支持。mjpg_streamer是通过命令行来加载输入输出模块的
下面是mjpg_stream
的help 帮助你了解命令行格式
[root@LuTong /]#mjpg_streamer --help
-----------------------------------------------------------------------
Usage: mjpg_streamer
-i | --input "[parameters]"
-o | --output "[parameters]"
[-h | --help ]........: display this help
[-v | --version ].....: display version information
[-b | --background]...: fork to the background, daemon mode
-----------------------------------------------------------------------
Example #1:
To open an UVC webcam "/dev/video1" and stream it via HTTP:
mjpg_streamer -i "input_uvc.so -d /dev/video1" -o "output_http.so"
-----------------------------------------------------------------------
Example #2:
To open an UVC webcam and stream via HTTP port 8090:
mjpg_streamer -i "input_uvc.so" -o "output_http.so -p 8090"
-----------------------------------------------------------------------
Example #3:
To get help for a certain input plugin:
mjpg_streamer -i "input_uvc.so --help"
-----------------------------------------------------------------------
In case the modules (=plugins) can not be found:
* Set the default search path for the modules with:
export LD_LIBRARY_PATH=/path/to/plugins,
* or put the plugins into the "/lib/" or "/usr/lib" folder,
* or instead of just providing the plugin file name, use a complete
path and filename:
mjpg_streamer -i "/path/to/modules/input_uvc.so"
-----------------------------------------------------------------------
[root@LuTong /]#
三个大的选项
“ -i , -o ,-b ”
-i:
是输入选项,它后面的参数需要双引号括起来
-o:是输出选项,它后面的参数需要双引号括起来
-b:
后台运行
下面是一个命令的例子
mjpg_streamer -i "/lib/modules/input_uvc.so -y" -o
"/lib/modules/output_http.so -w 192.168.1.66:8080"
-b
-y表示使用程序的jepg压缩,有些摄像头支持输出mjpeg数据,可以不加这个参数,但是大部分摄像头都是输出原始raw数据的
-w表示数据输出绑定到这个网址的这个端口,就是开发板的网址
测试一
输入设备USB摄像头,输出到http
插上USB摄像头到开发板USB
HOST接口,接好网线,启动开发板。
在超级终端输入:
mjpg_streamer -i "/lib/modules/input_uvc.so
-y" -o "/lib/modules/output_http.so -w
192.168.1.66:8080"
在主机端打开viewer.exe
这个文件在mjpg-streamer\mjpeg-client\bin\win32_upx\
目录下
注意网址要填写成开发板的IP地址,端口号也要填对。
点击connet后
测试二
输入设备USB摄像头,输出到LT2440开发板4.3寸TFT屏
插上USB摄像头到开发板USB
HOST接口,启动开发板。
在超级终端输入:
mjpg_streamer -i "/lib/modules/input_uvc.so -y -r
320x240" -o "/lib/modules/output_viewer.so "
在屏幕上可以看到,摄像头拍到的图像
测试三
输入设备USB摄像头,输出jpeg文件到LT2440文件系统/tmp
目录,我使用的是网络文件系统,可以在主机端看到图片
插上USB摄像头到开发板USB
HOST接口,启动开发板。
在超级终端输入:
mjpg_streamer -i "/lib/modules/input_uvc.so -y -r
320x240" -o "/lib/modules/output_file.so
"
可以在主机端网络文件系统的tmp目录下看到输出的如下文件,程序运行后会一直抓拍