Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25311
  • 博文数量: 9
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 41
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-18 21:59
文章分类
文章存档

2016年(3)

2015年(1)

2014年(5)

我的朋友

分类: LINUX

2014-09-20 20:11:04

移动植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"



阅读(1087) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~