彻底玩转 S3C2440 Linux 摄像头(包括USB和COMS摄像头)
发布时间:2019-04-16 阅览次数:1741 次
彻底玩转 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
|
1.mjpg_streamer 简介
mjpg_streamer 是一个命令行的程序,从输入设备拷贝图像数据到输出设备,默认是支持单输入多输出的。它的输出就是一帧帧jpeg图片,它可以输出到不同的设备,可以用不同的程序通过网络查看它输出的内容(各种浏览器:搜狗,谷歌浏览器等,各种播放器Mplayer,QQ播放器,还有Windows Mobile的TCPMP-Player)。它可以作为一个网络摄像机的后台程序。程序结构非常清晰,程序采用插件的方式,动态加载不同的输入输出库文件,使得程序非常易于扩展。当然他的缺点就是传输的mjpeg图像,压缩不够,数据量比较大,使用MPEG4标准压缩传输可以达到更好的效果。
下载地址:http://mjpg-streamer.svn.sourceforge.net/viewvc/mjpg-streamer.tar.gz?view=tar
有个输出模块依赖SDL库,SDL库比较有意思,下一步重点学习。
SDL下载地址: http://www.libsdl.org/release/SDL-1.2.14.tar.gz
jpeg库下载地址:http://www.ijg.org/files/jpegsrc.v8b.tar.gz
以下的“/home/pk ”录我的用户目录请根据你的修改”
2.编译SDL,经典三部曲congfigure ;make ;make install
$ ./configure --prefix=/home/pk/sdl --host=arm-linux
--disable-esd
--disable-pulseaudio
--disable-diskaudio
--disable-dummyaudio
--disable-mintaudio
--disable-altivec
--disable-nas
--disable-nasm
--disable-video-nanox
--disable-video-x11
--disable-video-photon
--disable-video-cocoa
--disable-video-ps2gs
--disable-video-ps3
--disable-video-wscons
--disable-video-dummy
--disable-video-opengl
--disable-osmesa-shared
$ make
$ make install
编译jpegsrc.v8b.tar.gz
$ tar zxf jpegsrc.v8b.tar.gz
$ cd jpeg-8b/
$ ./configure --prefix=/home/pk/sdl --host=arm-linux
$ make
$ make install
3.编译mjpg_streamer
mjpg_streamer由于没有configure,需要手动修改一些文件
解压mjpg_streamer
$ tar jxf mjpg-streamer.tar.bz2
$ cd mjpg-streamer/mjpg-streamer/
#我们只需要mjpg-streamer目录下的内容 还有需要用到mjpeg-client目录下远程测试程序
修改mjpg-streamer目录下的所有的makefile文件,将
# set the compiler to use
CC = gcc
改为 CC =arm-linux-gcc。这个目录下包括子目录的makefile都要改
还需要修改mjpg-streamer/mjpg-streamer/plugins/output_viewer目录下的makefile加入SDL库的链接支持,修改如下
CFLAGS += -DUSE_SDL -I/usr/include/SDL 这一行改为 CFLAGS += -DUSE_SDL -I/home/pk/sdl/include/SDL -I/home/pk/sdl/include
#CFLAGS += -DDEBUG
LFLAGS += -L/home/pk/sdl/lib -ljpeg -lSDL
接着就可以编译了。
$ make
编译之后有一下文件是我们需要的
mjpg_streamer output_file.so output_http.so output_viewer.so input_uvc.so input_file.so
将mjpg_streamer放到你文件系统bin目录下
将output_file.so output_http.so output_viewer.so input_uvc.so input_file.so放到你/lib/modules/目录下
将/home/pk/sdl/lib 目录下的文件都拷贝到/lib目录下,解决找不到库的问题
就可以进行测试了