您的位置:首页 > 运维架构 > Linux

彻底玩转 S3C2440 Linux 摄像头(包括USB和COMS摄像头)

2018-01-08 15:06 711 查看
 

编译系统

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目录下,解决找不到库的问题
就可以进行测试了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息