本帖最后由 chenzhufly 于 2014-4-27 17:50 编辑
基于BBB的视频监控
作者:chenzhufly QQ:36886052 (转载请注明出处) 2014-4-27
硬件环境:Beaglebone black + AT070TN83(群创7寸屏)
软件环境:Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.12-beaglebone-2013.06.20.img.xz
相关链接:
6、《AM335X 触摸屏的硬件连接及Linux驱动》 http://www.deyisupport.com/question_answer/w/faq/469.am335x-linux.aspx
7、 关于BBB LCD CAPE的触摸屏驱动
参考《嵌入式系统软硬件协同设计实战指南---基于Xilinx Zynq》这本书的第13.9章嵌入式网络摄像头的移植与搭建和参考链接8。做了基于BBB的视频监控,与大家一同分享
主要用到以下几个工具软件:
编译libtool- root@beaglebone:~#wget http://mirrors.ustc.edu.cn/gnu/libtool/libtool-2.2.10.tar.gz
- root@beaglebone:~# tar -xvzf libtool-2.2.10.tar.gz
- root@beaglebone:~# cd libtool-2.2.10
- root@beaglebone:~/libtool-2.2.10#./configure
- root@beaglebone:~/libtool-2.2.10# make
- root@beaglebone:~/libtool-2.2.10# make install
复制代码
编译jpeg
root@beaglebone:~# wget http://www.ijg.org/files/ jpegsrc.v6b.tar.gz
root@beaglebone:~# tar -xvzf jpegsrc.v6b.tar.gz
root@beaglebone:~# cd jpeg-6b/
复制代码
需将libtool-2.2.10目录下的libltdl/config/config.sub和config.guess拷贝至此目录中。
root@beaglebone:~/jpeg-6b# cp ../libtool-2.2.10/libltdl/config/config.guess .
root@beaglebone:~/jpeg-6b# cp ../libtool-2.2.10/libltdl/config/config.sub .
复制代码
开始配置编译
- <blockquote>root@beaglebone:~/jpeg-6b#./configure –prefix=/home/root/jpeg-6b --enable-shared --enable-static
复制代码必须创建以上目录,要不然make install会有问题
- root@beaglebone:~/jpeg-6b#make install
复制代码
编译mjpg-streamer下载mjpg-streamer代码
root@beaglebone:~#svn co https://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer
-
root@beaglebone:~# cd mjpg-streamer/mjpg-streamer
复制代码
修改plugins/input_uvc目录下的Makefile文件
将CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC改为
-
CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/home/root/jpeg-6b/include
-
-
将$(CC)
- $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
改为
-
$(CC)
- $(CFLAGS) -ljpeg –L/home/root/jpeg-6b/lib
- -o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
复制代码
- root@beaglebone:~/mjpg-streamer/mjpg-streamer#make
复制代码
看看已经生成的文件,mjpg_streamer、input_uvc.so、output_http.so 是我们所需要的
- <blockquote>root@beaglebone:~/mjpg-streamer/mjpg-streamer# ls
复制代码
效果展示插上USB摄像头
执行以下命令
- root@beaglebone:~/mjpg-streamer/mjpg-streamer#./mjpg_streamer -i "./input_uvc.so " -o "./output_http.so -p 8080 -w ./www
复制代码 看到下面的结果,说明已经可以了
- <blockquote>o: www-folder-path...: ./www/
复制代码
打开浏览器输入:http://192.168.1.5:8080/,可以看到如下结果,背景是我的书架,呵呵
静态图像:
动态的视频流:
也可以通过VLC观看:
也可以从手机的浏览器中获取视频图像,这个不好截图了,呵呵