移动植mjpg-streamer:
分析过mjpg-streamer 的代码的人一定会发现,mjpg-streamer 是会依赖于 libjpeg !因此我们需要先移动
植物 libjpeg 。
(1) 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/fs_mini_mdev_new/lib/ -d // 将编译出来的结果
// 拷贝到文件系统中
(2) 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
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
cp -rf mjpeg/ /work/nfs_root/first_fs // 将编译出的结果拷贝到根文件系统中
测试(都在开发板上运行):
1). 接上UVC 摄像头到开发板;
2). 查看设备节点
# ls /dev/vid*
便可以看到我们摄像头对应的设备节点 video#
* mjpg_streamer 默认打开设备节点/dev/video0
如果节点不一样则时,则在运行mjpg_streamer使用-d /dev/video2"
3). 运行mjpg_streamer
# 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"
# ./mjpg_streamer -i "input_uvc.so -d /dev/video2" -o "output_http.so"
阅读(1101) | 评论(0) | 转发(0) |