Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Save video captured from webcam using Flash

I'd like to use Flash to capure video from the user's webcam and then save it on the same server that hosts the Flash file. The web server will be running ASP.Net technology. Seems easy, right?

Lot of searches yielded the same lines of code to start a webcam capture using Flash. I can't find anything that sends that captured video back to a server.

I can find lots of blog and forum posts that imply 3rd party software or Flash Communication Server is required to collect it on the server, but I don't understand why.

It seems like Flash ought to be able to capture some video and send it as an HTTP post to the same server that hosts the Flash file. That's pretty basic Flash/webcam functionality, right? It seems like we don't need to introduce 3rd party dependencies just yet.

Does anyone know where these extra lines of sample ActionScript code might be hiding?

like image 834
a7drew Avatar asked Dec 29 '09 05:12

a7drew


Video Answer


1 Answers

You do need a Flash Media Server (or an open-source alternative such as Red5) to be able to stream video from the client to the server, which is essentially what you want to do here. There is no way to do that using HTTP POST.

You can, however, draw your Video display object to a bitmap each frame, and upload those bitmaps on the fly using regular HTTP file uploads. Although as you can imagine, that's not exactly ideal from a performance point of view. You'll also bump into problems because the Flash Player security model does not allow you to upload files without the operation being user-initiated (i.e. a mouse click event is in the stack trace.) There are way to work around this though, e.g. sending the file as an AMF ByteArray through an AMF service, but it might not be future proof.

In the end though, for any type of professional-grade application, you'll definitely want to incorporate a Flash Media Server (or Red5.) There are companies from which you can hire such services, one example being Influxis. Going down that route, you won't have to host the server (which is Java) yourself.

like image 110
richardolsson Avatar answered Oct 14 '22 17:10

richardolsson