views:

9720

answers:

8

I'd like to allow users to record videos directly from their webcam. I haven't done much work with PHP but am stuck with it for this project. We currently have a system in place for video uploading and encoding, but nothing to actually access a user's webcam. How would you recommend I proceed?

+2  A: 

Hm, we ended up using Flash applets around here.

Edit: I asked around, was pointed towards Camzor.

/mp

mauriciopastrana
+9  A: 

Webcams aren't available to HTML or JavaScript/DOM in any browsers that I know of, so you're going to end up dependent on some sort of plugin. I'd recommend you start your search with Adobe Flash/Flex, though It's possible that Microsoft Silverlight is able to do the same thing. Flex is a bit more reliable technology and has been around longer, but Microsoft is pouring a ton of money into Silverlight, and I expect it to improve radically over the next few years.

Adam N
From what I've heard, Silverlight does not (at this time) allow access to mic's or web cams.
mabwi
I've actually managed to do exactly this with Drupal. Blogged about doing this at http://davidwees.com/myblog .
David Wees
+2  A: 

You need client side technology -- PHP is server side. Check out Adobe Flash/Flex. I don't know anything about Microsoft Silverlight.

Terminus
A: 

The browser itself cannot access a user's webcam. There are proposals for a new type of input field to support this, but is is not currently available. You'd have to do it through a plug-in.

Diodeus
+1  A: 

You're right. Come to think about it the interface to "allow access to my webcam" on most web applications typically looks Flex-ish. I'll start there. Thanks.

Bryan Woods
A: 

Am I wrong in assuming that you need rtmp server such as red5 to do this?

RTMP is just a protocol that can do programmable and efficient live streaming. It's not the only way, and in this case not required. red5 is an open source RTMP server, but of course there always is Adobe Flash Media Server -- a much better integrated technology.
Terminus
+1  A: 

Check out the mugshot module on Drupal.org. It uses a flash widget to do the image capture, then saves the image as a node. Its code can almost certainly be mined for useful functions if you need to do something similar.

Eaton
A: 

You can't access to underlying hardware objects from a server side scripting language. If you are insterested into access to hardware devices so you have to use "browser components" like adobe flash , active X object, java applets, etc.

Jorge Niedbalski R.