彻底玩转 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 |
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目录下,解决找不到库的问题
就可以进行测试了
相关文章推荐
- 编译篇 彻底玩转 S3C2440 Linux 摄像头 (包括USB和COMS摄像头)
- 测试篇 彻底玩转 S3C2440 Linux 摄像头 (包括USB和COMS摄像头)
- 在linux下玩转usb摄像头
- 基于S3C2440的Linux-3.6.6移植——基于UVC的USB摄像头移植及视频显示
- 基于S3C2440的Linux-3.6.6移植——基于UVC的USB摄像头移植及视频显示
- 在Linux(ubuntu10.10)系统中使用摄像头之USB摄像头
- -06-OpenCV通过USB摄像头采集图像【Xilinx-Petalinux学习】
- linux_ok6410配置usb摄像头ZC3XX并在网页使用流媒体显示
- linux 下USB 摄像头的使用说明
- ubuntu-Linux系统读取USB摄像头数据(uvc)
- 飞淩6410+linux2.6.28+USB摄像头 半成品案例(中)
- Linux-视频监控系统(10)-对USB摄像头的YUV图片压缩成视频
- linux usb摄像头UVC usb3300 stm32F4
- 【原创】IP摄像头技术纵览(一)---linux 内核编译,USB摄像头设备识别
- Arm-linux下USB摄像头的视频…
- linux下的V4L2提取USB摄像头图像(一)
- Linux环境下使用V4L2+opencv以MJPEG格式读取USB摄像头并实时显示
- android/linux usb 摄像头获取一张图像
- 【Xilinx-Petalinux学习】-06-OpenCV通过USB摄像头采集图像。
- 讯为iTOP4412开发板ARM-linux 使用OPENCV调用USB摄像头