编译之前先要安装几个依赖包:
安装依赖
sudo apt-get install debhelper
sudo apt-get install libsdl1.2-dev
sudo apt-get install libv4l-dev
sudo apt-get install pkg-config
把在网上下载的源码 luvcview_0.2.6.orig.tar.gz 到ubuntu与windows共享的文件夹中,解压缩:
tar vxf luvcview_0.2.6.orig.tar.gz
生产源码文件夹 luvcview-0.2.6,进入、清除一下:
cd luvcview-0.2.6
make clean
然后编译:
make
出错,错误比较多,有一个错误是
uvcvideo.h:5:10: fatal error: linux/videodev.h: No such file or directory
#include <linux/videodev.h>
查找资料可以通过ln -s (为某一个文件或目录在另外一个位置建立一个同步的链接,类似Windows下的超级链接)解决:
sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
make,还是出错,错误比较多:
通过查找资料发现这些预定义和变量类型定义在头文件#include <linux/videodev2.h>中,但luvcview.c和v4l2uvc.h只定义了#include <linux/videodev.h>,于是先给它们分别补上#include <linux/videodev2.h>,再次make,没有报错,查看文件夹已经生产了可执行文件luvcview,来试一下运行如何:
直接输luvcview提示没有安装,应该是luvcview可执行文件没有放在系统默认的路径下造成的。在前面加./试试:
可以看到luvcview的版本号和其他一些信息,应该是编译成功的。
下面插入UVC的摄像头,它自动挂载在/dev/video0下面,如果摄像头被windows先一步识别了,可以在右下角灰色的照相机那边点击连接:
弹出点OK。
上一条命令再次输入,可以查看到摄像头的参数:
不同视频输出格式下,摄像头支持的不同像素尺寸和帧率,比如YUYV格式下,640*480像素支持帧率30fps。高清摄像头支持的像素尺寸和帧率多一点,最好显示摄像头支持的像素和帧率,下面捕捉画面:
-f yuv是摄像头输出格式,-s 640x480为输出像素尺寸,-i 30是输出帧率,就得到视频画面:
控制台打印出摄像头输出参数:
至此luvcview编译结束