uvccaptureをソースからコンパイル・・・と思ったのですが・・・

がんばってパラメータを調整したuvccaptureですが、部屋の明るさが変わると絵がボロボロになってしまいます(考えてみれば当たり前ですが)。そこで、その対策としてソースに手を入れて、自動調整するようにしてみよう、と一瞬思ったのですが、その前にRaspbianにapt-getで入ったuvccaptureバージョンを調べてみると、0.4で2006年のものみたいです。一方で最新版は0.5にパッチが入って0.5-2ということみたいです。

ということで、ソースからコンパイルしてみます。

早速、ソースとパッチを取ってきて、展開します。

pi@raspberrypi ~/temp $ wget http://ftp.de.debian.org/debian/pool/main/u/uvccapture/uvccapture_0.5.orig.tar.gz
--2012-10-06 03:19:58--  http://ftp.de.debian.org/debian/pool/main/u/uvccapture/uvccapture_0.5.orig.tar.gz
ftp.de.debian.org (ftp.de.debian.org) をDNSに問いあわせています... 141.76.2.4
ftp.de.debian.org (ftp.de.debian.org)|141.76.2.4|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 17807 (17K) [application/x-gzip]
`uvccapture_0.5.orig.tar.gz' に保存中

100%[================================================================================>] 17,807      20.3K/s 時間 0.9s    

2012-10-06 03:20:00 (20.3 KB/s) - `uvccapture_0.5.orig.tar.gz' へ保存完了 [17807/17807]

pi@raspberrypi ~/temp $ wget http://ftp.de.debian.org/debian/pool/main/u/uvccapture/uvccapture_0.5-2.debian.tar.gz
--2012-10-06 03:20:10--  http://ftp.de.debian.org/debian/pool/main/u/uvccapture/uvccapture_0.5-2.debian.tar.gz
ftp.de.debian.org (ftp.de.debian.org) をDNSに問いあわせています... 141.76.2.4
ftp.de.debian.org (ftp.de.debian.org)|141.76.2.4|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 3734 (3.6K) [application/x-gzip]
`uvccapture_0.5-2.debian.tar.gz' に保存中

100%[================================================================================>] 3,734       --.-K/s 時間 0s      

2012-10-06 03:20:10 (26.8 MB/s) - `uvccapture_0.5-2.debian.tar.gz' へ保存完了 [3734/3734]

pi@raspberrypi ~/temp $ ls
ethlink  ethlink.c  snap.jpg  uvccapture_0.5-2.debian.tar.gz  uvccapture_0.5.orig.tar.gz
pi@raspberrypi ~/temp $ tar xvfz uvccapture_0.5.orig.tar.gz 
uvccapture-0.5/
uvccapture-0.5/Makefile
uvccapture-0.5/uvccapture.c.orig
uvccapture-0.5/v4l2uvc.c
uvccapture-0.5/v4l2uvc.h
uvccapture-0.5/ChangeLog
uvccapture-0.5/README
uvccapture-0.5/uvccapture.c
uvccapture-0.5/TODO
uvccapture-0.5/COPYING
pi@raspberrypi ~/temp $ tar xvfz uvccapture_0.5-2.debian.tar.gz 
debian/
debian/compat
debian/uvccapture.1
debian/docs
debian/watch
debian/copyright
debian/control
debian/changelog
debian/rules
debian/patches/
debian/patches/fix_videodev_include_FTBFS.patch
debian/patches/series
debian/source/
debian/source/format
debian/dirs
pi@raspberrypi ~/temp $

で、ファイルをみてみると、パッチの方はCソースでインクルードするヘッダファイルを videodev.h から videodev2.h に変更するだけでしたので、手で修正しました。

次に、Makefileを見てみると、

CC=gcc
CPP=g++
APP_BINARY=uvccapture
VERSION = 0.4
PREFIX=/usr/local/bin

WARNINGS = -Wall

CFLAGS = -std=gnu99 -O2 -DLINUX -DVERSION=\"$(VERSION)\" $(WARNINGS)
CPPFLAGS = $(CFLAGS)

OBJECTS= uvccapture.o v4l2uvc.o

all:    uvccapture

clean:
	@echo "Cleaning up directory."
	rm -f *.a *.o $(APP_BINARY) core *~ log errlog

install:
	install $(APP_BINARY) $(PREFIX)

# Applications:
uvccapture: $(OBJECTS)
	$(CC)   $(OBJECTS) $(XPM_LIB) $(MATH_LIB) -ljpeg -o $(APP_BINARY)

・・・バージョン0.4って書いてあります。パッケージは0.5_2でもプログラムで表示されるのは0.4ってことみたいです・・・。コンパイルする意味がなくなりました・・・。

それに、PC側でCheeseを使うとちゃんと動くカメラもある(今回のはやはり色がおかしい)ので、手を入れるべきはuvccaptureではなくどうやらLinuxのUVCドライバのような気がします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)