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

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

转载时请注明出处和作者联系方式
文章出处:http://www.lt-net.cn
作者联系方式:刘敏  <qtgirl666@gmail.com>

编译系统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目录下,解决找不到库的问题
就可以进行测试了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值