我正在尝试在 Ubuntu 16.04 中安装 PS3 摄像头驱动程序,但是使用本教程,执行该命令后make
,出现以下错误:
Making all in cpi
make[2]: Entering directory '/home/mona/unicap-0.9.5/cpi'
Making all in v4l
make[3]: Entering directory '/home/mona/unicap-0.9.5/cpi/v4l'
/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT queue.lo -MD -MP -MF .deps/queue.Tpo -c -o queue.lo queue.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT queue.lo -MD -MP -MF .deps/queue.Tpo -c queue.c -fPIC -DPIC -o .libs/queue.o
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT queue.lo -MD -MP -MF .deps/queue.Tpo -c queue.c -o queue.o >/dev/null 2>&1
mv -f .deps/queue.Tpo .deps/queue.Plo
/bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT v4l.lo -MD -MP -MF .deps/v4l.Tpo -c -o v4l.lo v4l.c
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -I../include -I../../include -g -O2 -MT v4l.lo -MD -MP -MF .deps/v4l.Tpo -c v4l.c -fPIC -DPIC -o .libs/v4l.o
v4l.c:52:28: fatal error: linux/videodev.h: No such file or directory
compilation terminated.
Makefile:387: recipe for target 'v4l.lo' failed
make[3]: *** [v4l.lo] Error 1
make[3]: Leaving directory '/home/mona/unicap-0.9.5/cpi/v4l'
Makefile:315: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/mona/unicap-0.9.5/cpi'
Makefile:414: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/mona/unicap-0.9.5'
Makefile:344: recipe for target 'all' failed
make: *** [all] Error 2
当前路径是:
$ pwd
/home/mona/unicap-0.9.5
我应该如何修复这个问题或者安装 PS3 摄像头的驱动程序?
答案1
介绍
请注意视频捕获设备的统一接口在 Ubuntu 中打包为libunicap2-dev
包裹。
但看起来您正在修补 2008 年的 0.9.5 版本。
1. 编译
因此您应该从启用源代码包软件与更新(或software-properties-gtk
命令)
并使用以下方式安装所有构建依赖项
sudo apt-get build-dep libunicap2-dev
如果你需要 X11 支持 (GTK-widget),请安装 Xv 库
sudo apt-get install libxv-dev
然后按照指南进行操作:
cd ~/Downloads
wget http://unicap-imaging.org/downloads/unicap-0.9.5.tar.gz
tar -xf unicap-0.9.5.tar.gz
cd unicap-0.9.5
wget http://kaswy.free.fr/sites/default/files/download/ps3eye/unicap/unicap-gspca.patch
patch -p0 < unicap-gspca.patch cpi/v4l2cpi/v4l2.c
./configure
1.1 修补当前 Ubuntu 版本
正如您所知,自博客文章发布以来,一些包含路径已发生更改(2010 年早晚)。所以我们需要修补它们:
cpi/v4l/v4l.c
cat << EOF > xenial-v4l-p1.patch
--- ~/Downloads/unicap-0.9.5/cpi/v4l/v4l.c
+++ ~/Downloads/unicap-0.9.12/cpi/v4l/v4l.c
@@ -49,7 +49,7 @@
#endif
#include <debug.h>
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
#include <linux/videodev2.h> // for v4l2 checks
#include "v4l.h"
EOF
patch -p0 < xenial-v4l-p1.patch cpi/v4l/v4l.c
cpi/v4l2cpi/uvcvideo.h
cat << EOF > xenial-v4l-p2.patch
--- ~/Downloads/unicap-0.9.5/cpi/v4l2cpi/uvcvideo.h
+++ ~/Downloads/unicap-0.9.12/cpi/v4l2cpi/uvcvideo.h
@@ -2,7 +2,7 @@
#define _USB_VIDEO_H_
#include <linux/kernel.h>
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
#include "uvc_compat.h"
EOF
patch -p0 < xenial-v4l-p2.patch cpi/v4l2cpi/uvcvideo.h
然后制作并安装:
make
sudo make install
2. 测试
例子似乎位于例子,我们可以用以下方法编译它们:
sudo apt-get install libsdl-dev libjpeg-turbo8-dev
cd examples
make
一个有趣的是 GTK 应用程序示例/unicapgtk/smallapp
env LD_LIBRARY_PATH=/usr/local/lib/ unicapgtk/smallapp/smallapp
您也可以尝试获取有关相机的信息
env LD_LIBRARY_PATH=/usr/local/lib/ c/device_info/device_info
要观看视频,您可能需要安装优视,但我不知道该怎么做。