移植mjpg-streamer

Mjpg‐streamer是一个开源软件,用于从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器如Firefox,Cambozola,VLC播放器,Windows的移动设备或者其他拥有浏览器的移动设备

移植Mjpg-streamer需要libjpeg库,因此要先移植libjpeg

1.移植jpeg

a. 从http:下载jpeg源码包;

b. 解压,进入其目录

tar zxvf jpegsrc.v9a.tar.gz 
cd  /work/embedded/video/jpeg-9a

c. 配置源码,(具体配置项可以运行命令./configure –help看看是什么意思,根据实际情况修改)

#./configure CC=arm-linux-gcc --host=arm-unknown-linux --prefix=/work/embedded/video/jpeg --enable-shared --enable-static

其中/work/embedded/video/jpeg是编译后安装的目录,根据实际情况修改

d. 编译:

#make

e. 安装:

#make install

f. 拷贝库文件到开发板文件系统

将/work/embedded/video/jpeg-9a/jpeg
目录下全部文件拷贝到开发板文件系统/work/embedded/rootfs/usr/local/mjpg-streamer下(此目录为mjpg-streamer在开发板的安装目录,当然你也可以把它放在开发板的/lib/目录下)

cp lib/* /work/embedded/rootfs/lib/

2. 移植mjpg-streamer

a. 下载源码,在https://sourceforge.net/projects/mjpg-streamer/下载的源码

#tar zxvf mjpg-streamer-r63.tar.gz

b. 修改plugins/input_uvc/Makfile

CFLAGS = -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

为(即添加头文件-I)

CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/work/embedded/v    ideo/jpeg-9a/jpeg/include

修改

$(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

为(即添加库文件-L)

$(CC) $(CFLAGS) -ljpeg -L/work/embedded/video/jpeg-9a/jpeg/lib  -o $@     input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo

c. 编译

#make CC=arm-linux-gcc

d. 建立mjpg-streamer安装目录

mkdir /work/embedded/rootfs/usr/local/mjpg-streamer
cp *.so /work/embedded/rootfs/usr/local/mjpg-streamer
cp mjpg-stream /work/embedded/rootfs/usr/local/mjpg-streamer

将源码目录中的start.sh到/work/embedded/rootfs/mjpg-streamer目录下,www目录下的所有文件拷贝到/work/embedded/rootfs/www下,然后就可以测试啦

e. 在开发板中运行./start.sh

修改start.sh脚本文件

./mjpg_streamer -o "output_http.so -w ./www"

具体的修改方法可以根据start.sh文件中的注释或查看mjpg-streamer的帮助

./mjpg_streamer --help

参考文章:

http://www.linuxidc.com/Linux/2012-02/54797p4.htm
http://blog.chinaunix.net/uid-27070031-id-3458957.html

你可能感兴趣的:(嵌入式)