Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vdig passthrough



Brad,

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

This email sent to email@hidden
References: 
 >vdig passthrough (From: David Sweet <email@hidden>)
 >Re: vdig passthrough (From: Brad Ford <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.