From owner-freebsd-multimedia@FreeBSD.ORG Mon Jan 11 21:42:42 2010 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C80A01065670; Mon, 11 Jan 2010 21:42:42 +0000 (UTC) (envelope-from vova@parallels.com) Received: from relay.sw.ru (mailhub.sw.ru [195.214.232.25]) by mx1.freebsd.org (Postfix) with ESMTP id 38C688FC1D; Mon, 11 Jan 2010 21:42:41 +0000 (UTC) Received: from vbook.fbsd.ru ([77.232.23.6]) (authenticated bits=0) by relay.sw.ru (8.13.4/8.13.4) with ESMTP id o0BLArHx012820 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 12 Jan 2010 00:10:54 +0300 (MSK) Received: from vova by vbook.fbsd.ru with local (Exim 4.71 (FreeBSD)) (envelope-from ) id 1NURXI-0001JN-I5; Tue, 12 Jan 2010 00:10:52 +0300 From: Vladimir Grebenschikov To: Hans Petter Selasky In-Reply-To: <201001101437.37269.hselasky@c2i.net> References: <201001101437.37269.hselasky@c2i.net> Content-Type: text/plain; charset="KOI8-R" Content-Transfer-Encoding: quoted-printable Date: Tue, 12 Jan 2010 00:10:52 +0300 Message-ID: <1263244252.3558.29.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.28.2 FreeBSD GNOME Team Port Sender: Vladimir Grebenschikov Cc: freebsd-multimedia@freebsd.org, freebsd-current@freebsd.org, freebsd-usb@freebsd.org Subject: Re: [FreeBSD 8/9] USB webcamd and video4bsd: Call for testing X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: vova@fbsd.ru List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Jan 2010 21:42:43 -0000 Hi=20 Thanks you for efforts! I've tested it with=20 ugen4.2: at usbus4, cfg=3D0 md=3DHOST spd=3DH= IGH (480Mbps) pwr=3DON on 9-CURRENT pwcview works fine: $ ./pwcview/pwcview Webcam set to: 320x240 (sif) at 5 fps skype detects video device, but shows only black window instead of picture. build webcamd.c with debug shows: $ ./webcamd Probing for 0.0.0 KrefGet: 0x483e2304 =3D 1 KrefGet: 0x483e2304 =3D 2 KrefGet: 0x483e2554 =3D 1 KrefGet: 0x483e2610 =3D 1 Added device 0x48318b04 KrefGet: 0x48318b08 =3D 1 Received command 1 0x00000000 KrefGet: 0x48318b08 =3D 2 Status =3D 0 Received command 5 0x40047601 Status =3D -22 Received command 5 0x403c7601 Status =3D 0 Received command 5 0x400e7606 Status =3D 0 Received command 5 0x800e7607 Status =3D -22 Received command 5 0x800e7607 Status =3D 0 Received command 5 0x40207609 Status =3D 0 Received command 5 0x8020760a Status =3D 0 ... and then in loop: Status =3D -22 Received command 3 0x00025800 Status =3D -22 Received command 3 0x00025800 Status =3D -22 Received command 3 0x00025800 Status =3D -22 Received command 3 0x00025800 Status =3D -22 Received command 3 0x00025800 ... Side question, is it possible to use audio microphone of USB camera ? -----Original Message----- From: Hans Petter Selasky To: freebsd-multimedia@freebsd.org, freebsd-current@freebsd.org, freebsd-usb@freebsd.org Subject: [FreeBSD 8/9] USB webcamd and video4bsd: Call for testing Date: Sun, 10 Jan 2010 14:37:37 +0100 Hi, During the last couple of days I've spent some time to finish my webcam=20 daemon. My webcam daemon is basically an application which consists of=20 userspace Video4Linux USB webcam drivers and some uLinux glue code which li= nks=20 with libc, pthreads and libusb. The webcamd talks to /dev/video_daemonX whi= ch=20 is provided by the video4bsd kernel module. There is full support for=20 mmap/read/write/open/close. poll is not supported. Basic operation and idea: /dev/video_daemonX is the interface for the webcamd. /dev/videoX is the=20 interface for the V4L application. The video4bsd transports all data betwee= n=20 these two devices. In the case the V4L application is using mmap, no data i= s=20 copied due to shared kernel memory buffer! Licensing issues: Effectivly the webcamd userland program becomes GPL'ed due to the V4L USB=20 drivers which are GPL licensed. Some files inside the webcamd remains BSD=20 licensed which allows for building similar BSD licensed daemons. The rest of the code is BSD licensed. Source code: 1) FreeBSD 8-stable 2) Apply the patch below and re-install libusb in /usr/src/lib/libusb: http://p4web.freebsd.org/chv.cgi?CH=3D172876 http://perforce.freebsd.org/chv.cgi?CH=3D172876 3) Compile ulinux (webcamd + libv4l + pwcview) and video4bsd (must be check= ed=20 out in the same folder due to dependencies) svn --username anonsvn --password anonsvn \ checkout svn://svn.turbocat.net/i4b/trunk/usbcam/video4bsd make all install kldload video4bsd svn --username anonsvn --password anonsvn \ checkout svn://svn.turbocat.net/i4b/trunk/usbcam/ulinux make fetch make patch make all make install # this will attach to the first detected webcam: ./webcamd # this will try to attach to the given USB unit, interface and V4B unit. ./webcamd -d ugen4.1 -i 0 -v 0 # this will display webcam contents from /dev/video0 by default. ./pwcview/pwcview Feedback and bug reports are welcome. Yes, I am working on getting this into ports! Known issues: 1) If you detach the USB webcam you need to manually restart the webcamd. --HPS Support: I will be available at #bsdusb on efnet during the day. _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" --=20 Vladimir B. Grebenschikov vova@fbsd.ru