Thanks for the help. I'll open two Sequence Grabbers.
Should I write my component as a vdig? SoftVDigX seems to work with
iChat (although not smoothly), os I guess writing a vdig is a good idea.
I've got two iSight cameras attached to an external Firewire hub. I
can get 30fps from each of them simultaneously this way. There's
time left for some reasonably heavy, real-time image processing, too.
Dave
On Mar 20, 2007, at 7:04 PM, Brad Ford wrote:
On Mar 20, 2007, at 3:21 PM, David Sweet wrote:
I am trying to achieve the following: Read video in from two
external iSight cameras, perform some manipulation of the images,
and output the result (in real time) in such a way that an
application (eg., iChat) can read in the video as it would from a
camera. Specifically, I'd like to have this code's output appear
to OS X applications as a camera. Low latency and high (up to
30fps) frame rate are important.
I'm new to Mac programming, but I've been able to hack some things
together here and there.
I'd be very thankful for any comments on my game plan, which is to
either (i) modify SoftVDigXKEXT to open two vdigs, one for each of
the iSight cameras, combine the images into one, and make that one
available as the SoftVDigXKEXT output, or (ii) write a
SequenceGrabber component that opens a SequenceGrabber for each
camera and then combines the two images.
Would writing this as a vdig offer significantly higher
performance? Would writing a SequenceGrabber be significantly
easier? Is there an obviously easier way?
I don't think this is going to work unless you have a pci card with
a separate firewire bus on it. Apple ships machines with
(sometimes) more than one physical firewire connection, but the bus
bandwidth is shared amongst all firewire devices. iSight cameras
deliver uncompressed yuv data over the firewire bus. I think two
cameras simultaneously capturing on the same bus are going to drop
a lot of frames.
Of the two mechanisms you're considering, the easier one would be
to open two SeqGrab components, and a VideoMediaType channel for
each, and use the SGDataProc on each one to grab a frame as it
becomes available.
-Brad Ford
QuickTime Engineering
Thank you very much for any advice.
Dave
_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/quicktime-api/bford%
40apple.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quicktime-api/email@hidden