MJPG-STREAMER 移植+BUG

来源:互联网 发布:人工智能会议 编辑:程序博客网 时间:2024/05/16 06:40

Mjpg‐streamer是一个开源软件,用于从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器如Firefox,Cambozola,VLC播放器,Windows的移动设备或者其他拥有浏览器的移动设备;关于它的介绍网上有一大堆,读者可自行了解;网上关于它的移植也很多,下面给出移植的过程与在编译过程中出现的一些问题与解决方法。
在移植Mjpg-streamer之前必须移植好libjpeg;因为在mjpg-streamer源码包下的README文件中有下面一句话:
* the input plugin "input_uvc.so" depends on libjpeg, make sure it is installed.
下面开始移植的旅途
一、环境
主机环境:fedora 15
目标机:友善之臂公司的mini2440开发板
主机工具链:gcc-4.6.3
交叉工具链:arm-none-Linux-gnueabi-gcc-4.5.2(由于名字太长书写费时间,用一个软连接“arm-linux-gcc”指向它)
二、移植过程
第一步jpeg库的移植
1、从http://www.ijg.org/files/下载jpeg源码包;
2、解压,进入其目录,
      cd /home/wu/jpeg-6b
3、配置源码,(具体配置项可以运行命令./configure --help看看是什么意思,根据实际情况修改)

  ./configure CC=arm-linux-gcc --host=arm-unknown-linux --prefix=/home/wu/jpeg-6b/jpeg--enable-shared --enable-static
其中/home/wu/jpeg-6b/jpeg是编译后安装的目录,根据实际情况修改
4、编译:make
5、安装:make install
6、拷贝库文件到开发板文件系统
      将/home/wu/jpeg-6b/jpeg/lib/目录下全部文件拷贝到开发板文件系统/nfs/rootfs/usr/local/mjpg-streamer下(此目录为mjpg-streamer在开发板的安装目录,当然你也可以把它放在开发板的/lib/目录下)


第二步、移植mjpg-streamer
1、下载源码,在https://sourceforge.NET/projects/mjpg-streamer/下载的源码(mjpg-streamer-r63)有点老了,最新的版本使用以下命令下载,
svn cohttps://mjpg-streamer.svn.sourceforge.Net/svnroot/mjpg-streamermjpg-streamer
2、进入其目录
cd /home/wu/mjpg-streamer/mjpg-streamer/
3、修改源码
修改plugins/input_uvc/Makfile,
修改
CFLAGS = -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC

CFLAGS = -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC-I/home/wu/jpeg-6b/jpeg/include

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

$(CC) $(CFLAGS) -ljpeg -L/home/wu/jpeg-6b/jpeg/lib -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
注:/home/wu/jpeg-6b/jpeg就是上面移植jpeg库后安装的目录
4、编译:make CC=arm-linux-gcc
5、在开发板建立mjpg-streamer安装目录
mkdir /nfs/rootfs/usr/local/mjpg-streamer
cp *.so /nfs/rootfs/usr/local/mjpg-streamer
cp mjpg-stream /nfs/rootfs/usr/local/mjpg-streamer
将源码目录中的start.sh和目录www拷贝到/nfs/rootfs/mjpg-streamer目录下,然后就可以测试啦
6、测试:

修改start.sh文件,然后运行start.sh;在PC机打开一个网页,输入http://192.168.1.1:8080/?action=stream就可以看到图像。



BUG:


应该先:

export LD_LIBRARY_PATH=/mjpg-streamer

然后再运行:./mjpg-streamer



0 0
原创粉丝点击