1.配置内核支持usb驱动、uvc驱动
2.移植libjpeg
tar xzvf libjpeg-turbo-1.2.1.tar.gz
cd libjpeg-turbo-1.2.1
mkdir tmp(安装目录)
./configure --prefix=/work/cross_mjpeg/libjpeg-turbo-1.2.1/tmp/ --host=arm-linux
make
make install
cp libjpeg-turbo-1.2.1/tmp/lib/*so* /work/nfs_root/fs3.4.2/lib/ -d
复制到跟文件系统的lib/下
3.移植mjpg-streamer
tar xvf mjpg-streamer-r63.tar.gz cd
mjpg-streamer-r63
修改所有的 Makefile
--(1) 将 CC=gcc 修改为 CC=arm-linux-gcc
--(2) 修改 plugins/input_uvc/Makfile,指定libjpeg库的位置
a.将CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
改为
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I /work/cross_mjpeg
/libjpeg-turbo-1.2.1/tmp/include
注意:-I /work/cross_mjpeg/libjpeg-turbo-1.2.1/tmp/include // 是编译 libjpeg 生成的文件
b.将 input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
$(CC) $(CFLAGS) -ljpeg -o
$@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
改为
input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
$(CC) $(CFLAGS) -ljpeg -L
/work/cross_mjpeg/libjpeg-turbo-1.2.1/tmp/lib -o
$@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
make
mkdir mjpeg
cp mjpg_streamer mjpeg
cp *.so mjpeg//拷贝mjpg_streamer所需的库
cp -rf mjpeg/ /work/nfs_root/fs3.4.2 // 将整个mjpeg目录拷贝到根文件系统中
测试
插入usb摄像头,查看设备节点
cd mjpeg/
./mjpg_streamer -i “./input_uvc.so -y” -o “./output_http.so -w ./www”
./mjpg_streamer -i “./input_uvc.so” -o “./output_http.so -w ./www”
支持mjpeg压缩的摄像头不需要加-y
电脑或手机接上 wifi 信号或者通过网线连接,然后在火狐浏览器或者 google 浏览器上输入如下
URL: http://192.168.1.11:8080/?action=stream
IP 地址是开发板的 IP