From owner-freebsd-multimedia@FreeBSD.ORG Thu Jul 10 12:13:29 2003 Return-Path: Delivered-To: freebsd-multimedia@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8317D37B401; Thu, 10 Jul 2003 12:13:29 -0700 (PDT) Received: from mail.cyberonic.com (mail.cyberonic.com [4.17.179.4]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8844443F93; Thu, 10 Jul 2003 12:13:28 -0700 (PDT) (envelope-from jmg@hydrogen.funkthat.com) Received: from hydrogen.funkthat.com (node-40244c0a.sfo.onnet.us.uu.net [64.36.76.10]) by mail.cyberonic.com (8.12.8/8.12.5) with ESMTP id h6AJdFIv030656; Thu, 10 Jul 2003 15:39:15 -0400 Received: (from jmg@localhost) by hydrogen.funkthat.com (8.12.9/8.11.6) id h6AJDTmH035220; Thu, 10 Jul 2003 12:13:29 -0700 (PDT) (envelope-from jmg) Date: Thu, 10 Jul 2003 12:13:29 -0700 From: John-Mark Gurney To: Sean_Welch@alum.wofford.org Message-ID: <20030710191329.GB44762@funkthat.com> Mail-Followup-To: Sean_Welch@alum.wofford.org, freebsd-current@freebsd.org, multimedia@freebsd.org References: <7192223.1057850975979.JavaMail.nobody@kermit.psp.pas.earthlink.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7192223.1057850975979.JavaMail.nobody@kermit.psp.pas.earthlink.net> User-Agent: Mutt/1.4.1i X-Operating-System: FreeBSD 4.2-RELEASE i386 X-PGP-Fingerprint: B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ X-Resume: http://resnet.uoregon.edu/~gurney_j/resume.html cc: freebsd-current@freebsd.org cc: multimedia@freebsd.org Subject: Re: BSD video capture emulation question X-BeenThere: freebsd-multimedia@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: John-Mark Gurney List-Id: Multimedia discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Jul 2003 19:13:29 -0000 Sean Welch wrote this message on Thu, Jul 10, 2003 at 08:29 -0500: > Linux accomplishes this with the video4linux API and > thus has access to a wide range of usb webcams for use > with programs like gnomemeeting. FreeBSD has no such > API though it does have programs like cqcam, camserv, > and bktr2jpeg (not in ports)... for obsolete cameras. > It seems Linux achieves its success with devices > represented as a generic video device handled directly > by the kernel. The programs I mentioned above are > userland programs (of course) and so don't (apparently) > have the same utility. Yes, video capture in FreeBSD is sorely lacking. I recently did a Zoran driver and found that the bktr interface is horrid. > Asking around it seems that porting the video4linux > API would be tedious and exceedingly painful (my > paraphrasing). It also has the possible disadvantage > of being GPL'd -- personally I think BSD (Free, Net, > and Open) would benefit more from a BSD licensed > solution. It seems writing a video4bsd API from > scratch that is compatible with video4linux would also > be rather daunting. Not only that, but the v4l interface isn't that great. It also doesn't mesh with FreeBSD's newbus frame work. > It occurred to me however that there does exist one > kernel video device -- the bktr device family. It is (originally meteor) > well established and works well (that is what I read, > at any rate). In addition, the firewire video capture > program is not GPL'd (to the best of my knowledge) and > seems a good candidate. My impression is that capture > from firewire is a bit more straight-forward than > capture from usb. Apple is now stirring up the > industry with iSight and I expect it will increase the > availability of firewire webcams at lower prices. > > So, would it be possible to emulate a bktr device > front end for a firewire cam (of some sort) in the > same manner as is currently done with atapicam for > scsi emulation on top of atapi? This may be possible. It shouldn't be too hard to write a bunch of shims to convert it. I would rather see work be done on creating a better interface. Also, just doing a kernel interface like v4l is not good for future. I would like to see a combination of kernel and userland library. That way for usb web cams, we can keep the driver in userland w/o expecting the user to load a kernel module. > FreeBSD keeps up so well in all the other categories > relevant to a desktop media system that it would be > really nice to have it also encompass this ability. > Not to mention it would allow me to video conference > with the rest of my family located 1100 miles away > without resorting to another operating system. > > I'm not competent enough to attempt this myself (yet!) > but I'm more than willing to help as much as I can > with coding and testing (assuming this proposition is > even feasible). I'm definately interested in this too. Also, a better list for this would be -multimedia. I have cc'd the list. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."