| Comments: |
![[User Picture]](http://l-userpic.livejournal.com/73180911/236883) | From: netik Sun, 4-Feb-2007 4:09 AM (UTC)
| (Link)
|
If you're giving up on this, can you bring the camera to DNA tonight so I can attempt to make it go? I probably have more time to sit at work and work on this during the day.
Seems to me that if you are faced with a problem which is nearly intractable it might be helpful to change the assumptions. That being said, what is your real ultimate goal with this... to have a photobooth or to have an OS X based photobooth?
And yes, I am assuming that you'll call me an ass for asking that question.
so what's the real ultimate goal with this, to suggest something he might listen to, or to be called an ass?
To suggest something he might listen to obviously.
jesus christ do you newbs do shit like this as some sort of nerd based treasure hunt? GOT BANNED FROM JWZ'S JOURNAL FOR BEING NONHELPFUL WHEN SPECIFICALLY ASKED TO BE HELPFUL: CHECK
i assume this is some sort of aspie attention seeking behavior. plz have it corrected so we dont need to listen to jamie complain about it.
seems to me that if you are faced with a problem which is nearly intractable it might be helpful to change the assumptions.
![[User Picture]](http://l-userpic.livejournal.com/73180911/236883) | From: netik Sun, 4-Feb-2007 11:19 AM (UTC)
| (Link)
|
Um err. um.
shut the fuck up unless you have a solution to our problems, ummm, k, thanks.
Hi. Don't make assumptions. I've known Jamie for around 13 years now. As for 'attention seeking behavior' its not an issue in this case because none of my ego or personal self worth is wrapped up in Jamie taking notice of me.
Now, I know Jamie is kind of smart so I didn't feel I had to lay it out for him in super simple obvious terms. However, I'll take a moment to clarify things. Jamie has a problem trying to get this photobooth thing developed. He seems to be having a bit of problem in part, because of the undocumented and seemingly arcane methods available (or not available as the case may be) under OS X. However, working under OS X is, to be honest, an arbitrary boundary on the problem. He, from what I remember him saying, wants to do this under OS X because that is his preference - not because of any hard technical requirement. Now, we know this *can* be done as evidenced by 'Photoboof' which is what he's basing this project on. However, Photoboof is a windows application. Which is why I asked which is more important to him, having a photobooth or having a photobooth under OS X?
Do you understand why I asked the question now?
![[User Picture]](http://l-userpic.livejournal.com/5887295/515656) | From: jwz Sun, 4-Feb-2007 8:21 PM (UTC)
| (Link)
|
I chose OSX because I believed (and still do) that it would be easier than Linux. If someone showed me working code on Linux, I'd consider using that instead (and be sad about it, and surprised).
It's possible that this would be easier on Windows, but like I always say when this comes up, "sewer rat may taste like pumpkin pie, but I'll never know." I have standards, and they trump my desire for, among other things, a photobooth.
Well, I'd think most anything on linux would be mostly doable under OS X. I understand the issue about windows - really I do. I guess what I'm really wondering is if OS X isn't working are there other solutions that would be less resource intensive than the current plan of action. A return to basic assumptions regarding the boundaries of the problem really.
Anyway, you already tried gphoto but you couldn't get it functioning properly under OS X. Why not try just using a linux box and see how it works. The version at gphoto.org even claims to support movie capture.
Also, I'd give it a try under linux myself but I don't actually own a digital camera and the only linux boxes I deal with I keep far far away from me. Personally, I don't like linux much - but they have the best network stack out there right now so I'm kind of stuck using it.
ps. Sewer rat tastes more like squirrel than anything else. Stringier though.
Can't provide any sample code, though, sorry. I used Canon Capture from http://capture.sourceforge.net/ and took over 60,000 pictures on a road trip across the US using a PowerShot A80. The camera may have insisted on having a CF card (can't remember) in it, but no files were ever written to it -- all transferred over USB. It was also able to change things like ISO, color saturation, and so on; nifty. If you want to test the waters first, send me a message with what you need it to do and I can do some quick tests.
![[User Picture]](http://l-userpic.livejournal.com/71550492/2291789) | From: cacepi Sun, 4-Feb-2007 7:29 AM (UTC)
This Guy Might Help | (Link)
|
Find me someone to talk to who understands and has used ImageCapture.framework in some nontrivial way.
I did a quick search through the Apple mailing lists and came up someone who might be able to help: Manchuen Dino Tang (tang@mac.com). From the looks of it he's an Apple employee working with image capture and USB.
ptb->dataSize = 1024;
pb.message.dataSize = 1024;
are those right?
They’re commented out, so that shouldn’t matter. See the #if 1 further up.
hurmph I guess my eye doctor is right about needing reading glasses. :(
![[User Picture]](http://l-userpic.livejournal.com/60044304/494422) | From: sc00ter Sun, 4-Feb-2007 1:05 PM (UTC)
You've probably found these, but | (Link)
|
![[User Picture]](http://l-userpic.livejournal.com/5887295/515656) | From: jwz Sun, 4-Feb-2007 8:25 PM (UTC)
Re: You've probably found these, but | (Link)
|
I'm not talking about webcams. I already have code that does that. They all suck in low light. I'm talking about a digital still camera, with a flash. And that "mac-cam" thing lists "Canyon" cameras, not "Canon". I don't think Canon makes a webcam.
From: jhitesma Sun, 4-Feb-2007 6:54 PM (UTC)
Does it have to be a software problem? | (Link)
|
I've been watching these photobooth discussions for awhile and finally had to create an account so I could reply since something that seems painfully obvious to me has repeatedly been passed over.
Is this really a software issue?
I'm not familiar with the Cannon Powershot, but I can see that it has an A/V port and suspect it probably works similar to the A/V port on the various Nikon coolpixes I have laying around. If it does then this could be a dirt simple solution.
If the Powershot doesn't work like this then I appologize for wasting your time with the idea (and I completely understand not wanting to by more hardware but a used Coolpix is pretty cheap).
The way the Coolpix A/V works is you plug in a simple phono->RCA cable and the screen is then sent out as NTSC instead of displaying on the back of the camera. Instant live video. No software no muss no fuss. You can still use the USB connection for triggering shots and downloading them.
Either run the A/V to a cheap 13" TV (or a projector or whatever else you want..it's normal NTSC video) or if the computer has video input you can make things complex and bring it in that way for display I suppose.
If that doesn't help you may want to look at some KAP (Kite Aerial Photography) sites as the Cannons are fairly popular with them and a lot of those guys will run video over a wireless link for previews....so I suspect that the Cannon A/V does work as I suspect.
Preview problem solved, and from your previous posts it sounds like the issue of snapping and downloading single frames was already solved some time ago.
![[User Picture]](http://l-userpic.livejournal.com/5887295/515656) | From: jwz Sun, 4-Feb-2007 8:15 PM (UTC)
Re: Does it have to be a software problem? | (Link)
|
"You can still use the USB connection for triggering shots and downloading them." I have no way of remotely triggering shots, that's one of the "undocumented" camera commands, so I'm back to the first problem again. The only "documented" commands are "copy file from CF card" and "delete file from CF card". I guess I could use a relay and tear apart the physical fire button, but then there'd have to be a CF card in the camera, and that would make the turnaround time on getting the pictures out be quite a few seconds. Plus, the card would wear out.
From: jhitesma Sun, 4-Feb-2007 8:40 PM (UTC)
Re: Does it have to be a software problem? | (Link)
|
Guess my memory is going and I should have reviewed the earlier posts. I thought that problem had already been solved and it was just the preview still causing fits.
Wish I knew more about the Cannons so I could offer more insight. Sorry.
![[User Picture]](http://l-userpic.livejournal.com/56283198/5822588) | From: netsharc Sun, 4-Feb-2007 11:56 PM (UTC)
Re: Does it have to be a software problem? | (Link)
|
You wrote before: "netik fought with gphoto2 for a while, and found that it can fire the camera and get the picture out, but it can't do video" and I also thought this combined with the A/V-out would do the trick. I wrote that you could use the port to get video, but I guess you were thinking "I'm not worried about the video at the moment!" Well, I'm assuming "can fire the camera and get the picture out" means it does all that without a CF-card, if it needs a card then just stop reading now. If gphoto2 is capable of that, then I can think of a solution, at least on a Linux box: tvtime --slave (ignores keyboard input) and a program that fires gphoto2. Of course talk is cheap..
At the risk of being less helpful than usual (which is quite a feat in itself), have you tried running USB Prober (in /Developer/Applications/Utilites) and capturing the conversation that the Canon software has with the camera? There might be some extra commands that are required to get the camera into the right "mode", or something.
Of course I tried running USB Prober on my machine, and it kernel paniced, but I'm hoping that's just because of something I've done wrong here, not because USB Prober no longer works.
(I'm a packet trace kind of a guy - the bits on the wire never lie, whereas the specs and SDK often do. At my last job we had a $30000 USB/Firewire/ATA sniffer and analyser - those things let you see through the lies and bugs like nothing else...)
![[User Picture]](http://l-userpic.livejournal.com/5887295/515656) | From: jwz Sun, 4-Feb-2007 9:56 PM (UTC)
| (Link)
|
I've yet to figure out how to cross the layer between ImageCapture and IOkit, so even if I knew what packets to throw at it, I don't know how. (Without, like, hardcoding in a particular vendor and device ID or something, and using only IOkit.) And the IOkit USB demos aren't any clearer to me than the ImageCapture demos.
![[User Picture]](http://l-userpic.livejournal.com/5887295/515656) | From: jwz Mon, 5-Feb-2007 2:11 AM (UTC)
| (Link)
|
Given that I've linked to it like five times, including in this very post -- yes.
Ok hopefully this won't be useless as well. (in the future I will at least hover the linked text of the articles rather than rediscover that which you have already considered) After reviewing your previous posts you are unable to get a response when using any of the commands other than bury and disinter. From previous reading about hacking the pv2 cheapy digital camera in osx, there is a challenge response before any of the protected commands can be issued on most cameras. As you have not written about this perhaps it is not the case with the model of camera you have. However that would be what I would look to first. Maybe contacting the fellow who wrote some software to probe other cameras under osx would be helpful. http://www.maushammer.com/systems/dakotadigital/lcd-pv2mod.htmlIf I had the hardware here I would take a crack at it but doing this in the dark with hands tied seems improbable. I suppose to restate the obvious you are asking for experienced apple devs for that exact reason. I am not sure why the trigger command is undocumented since the sdk specifically states that for the S30 Remote Control Video Out Download & Upload are all supported within the latest and greatest SDK. http://camerahacks.10.forumer.com/index.php seems to have a knowledgeable group of folks but several searches showed nothing heartening in reference to the S30. Perhaps a question on probing and what the replies mean since it does not map to what the OS is reporting. Another option would be windows software in wine, I realize you hate windows but sometimes you do what you have to. Personally I haven't bothered to buy into the whole mac thing I still like Free BSD, and I use a windows box for gaming. Good Luck
Um, I'm probably way out of my depth here and stating the obvious, but my Canon S2IS came with software that permits USB remote operation under OSX ("CameraWindow") - surely other cameras from Canon have the same, why do you need to hack it? Won't it do what you need apart from posting the images to email? If I was doing this, I'd just get some overlay software i.e. a macro type ware (e.g. CE quickKeys) to run it and do the posting and not have to hack a thing in the system.All the bits the user would not see would be hidden and a vid screen would show the viewfinder which runs off an RCA plug on the camera - all I'd do is butcher an old USB keyboard for the controls and bingo! - or am I missing something?
![[User Picture]](http://l-userpic.livejournal.com/8442248/1232055) | From: marklyon Mon, 5-Feb-2007 2:58 AM (UTC)
These people may have an answer | (Link)
|
Well, looking at it from another direction, it seems all you want to do is hit the button on top from software.
It may be overkill, but it seems like what you want is some lego.
I'm not sure if you have stumbled across this already, but this post form 2005 on an apple mailing list suggest what you want has been done before, I think: http://lists.apple.com/archives/Usb/2005/Feb/msg00092.html(to be read bottom-up I'm afraid) And hey, it says exactly what violentbloom noticed in your #else part (which I assume is an earlier test?): "You are sending too much data. You only need to send 2 bytes. buf = malloc( 2 + sizeof(PTPPassThroughPB) - 1 ); " If this does not help, perhaps you could try to find out if something similar exists on other platforms, in an open source form, to look at what they send?
![[User Picture]](http://l-userpic.livejournal.com/5887295/515656) | From: jwz Mon, 5-Feb-2007 11:14 PM (UTC)
| (Link)
|
Yes, I have also linked to that very thread like five times. And tried to mail one of the participants, who didn't write back.
Reading that thread further, it does not end well: Q: "Do you know how to get the current viewfinder image or an image that has been captured to memory (and not to memory card) from a Canon PowerShot camera? I think that this is a vendor related issue, and I've tried it many times without success. Downloading an image that is already on the card is no problem, but I'd like to get the image that is still in internal memory. I know that there must be a solution, because in the Canon ImageCapture application it is working."
A: "All those go through vendor specific code. I have no idea what was going on. Even if I do, I could not tell you cause I would be bound by NDA. Sorry."
I wonder if he's talking about the undocumented codes there, or if it's something even more vendor specific (i.e. not exposed in ptp codes).
I mean, flame away, but wouldn't it be easier at this point to just hack the camera and use a relay to hit the shutter button and then just grab the image using the primitives you have? I know my old Powershot used to dump the viewfinder image out the AV port, so that might do.
Ugly, I know.
Contact the people at Seattle's McLeod Residence -- they have a photobooth that posts to Flickr, and it might be the same as what you're looking to have.
Also, Leopard has a new QTKit Capture API which may do what you want. I don't know if it supports PTP, but it defnitely supports USB(VDC), FireWire(IIDC), and DV, and it's Cocoa so it doesn't hurt.
talks to a Canon point-and-shoot camera (I believe they're all the same) Not entirely. I am trying to do something very similar to your project. I have access to a Canon PowerShot SD500. When I tried using Canon's own Remote Capture application, the Camera Windows application didn't even give me the option to run it. After digging around in the manuals, I found a note that the shutter can't be activated remotely on the SD500. I dug around on the net and found the following tidbit: "Statement from Canon SDK: As a reminder, PowerShots A410, A420, A430, A530, A540, A610, A630, A700, A710 IS, S10, S20, SD10, SD20, SD30, SD40, SD200, SD300, SD400, SD430, SD450, SD500, SD550, SD600, SD630, SD700 IS, SD800 IS, and SD900 do not support remote control or video out operation via the SDK." So some Canon point-and-shoot cameras don't support remote capture at all. Just another pitfall to be aware of. | |