嵌入式Linux mjpg-streamer教程
因导师项目需要,花了两天时间配置了一下在嵌入式Linux上运行mjpg-streamer相关组件, 最后可在同一局域网下通过浏览器访问嵌入式Linux上摄像头的数据
嵌入式开发板 :OMAPL138(该平台的坑数不胜数啊~)
摄像头:威鑫视界(640*480),具体参数不记得了
摄像头参数要确定好是否支持YUV格式,我这里有很多摄像头,有些摄像头用同样的方法最后报了很多错误,可能需要根据参数具体配置,研究的不是很深。
废话不多说,直接开始步骤:
1.下载jpeg源码压缩包 jpegsrc.v8b.tar.gz 复制到 ubuntu 的任意目录下。网络下载
2.解压
tar -xzvf jpegsrc.v8b.tar.gz
解压后产生 jpeg-8b 文件。
3.配置源码包
mkdir jpeg
cd /home/tl/mjpg-streamer/jpeg-8b/
./configure --prefix=/home/tl/jpeg/ --host=arm-none-linux-gnueabi
参数说明:
- ./configure:配置源代码树
- –prefix=XX:指定安装目录,比如这里是/home/tl/jpeg
- –host:指定编译器,不同平台使用不一样的交叉编译器,如这
里用到 arm-none-linux-gnueabi
4.编译
make
5.安装
make install
在/home/tl/jpeg路径下会产生bin、include、lib、share等目录,一会能用到这些文件。
6.获取mjpg-streamer源码包
mjpg-streamer
7.解压
tar vxf mjpg-streamer.tar.gz
解压后产生mjpg-streamer文件
8.指定交叉编译工具
修改顶层 Makefile 以及 plugins 目录下各级 Makefile,将 CC=gcc
修改为:
CC = arm-none-linux-gnueabi-gcc
总共有十二处需要修改
9.指定上一章中移植的图形库路径
修改 plugins/input_uvc/目录下的 Makefile,即指定第二章中移植
好的 mjpg 图形库路径:
#vi plugins/input_uvc/Makefile
在
CFLAGS += -O1 -DLINUX -D_GNU_SOURCE -Wall -shared –fPIC
这句话中加入
-I/home/tl/jpeg/include
修改
$(CC) $(CFLAGS) $(LFLAGS) -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
在-o前面加入
-L /home/hadoo/jpeg/lib
9.编译
make
10.安装到开发板
最后把 mjpg-streamer 整个文件夹拷贝到开发板。
11.在开发板上执行start.sh
在开发板上执行:
cd mjpg-streamer
进入mjpg-streamer目录
需要修改端口,默认端口好像是8080,我修改为2001
执行
./start.sh
打印出来一堆error,哈哈,不过不妨碍摄像头采集。
12.网页查看
浏览器输入开发板网址和刚才修改的端口号
比如我的是192.168.1.8:2001
最后的结果如图所示。