ActionScript 3.0 :: Capturing And Saving Screenshot From Webcam Feed
Jan 4, 2012
I'm new to AS3 and attempting to learn it by doing a small task, I am trying to get a live local video feed from USB webcam and want to be able to capture and save screenshots from it.I have the live feed working fine, but I am struggling to capture and save a screenshot.Someone from adobe forums suggested I should use BitmapData and JPGEncoder, which I have alongside as3corelib's.[code]I think I am doing something wrong when I am capturing the binary data, or when I am encoding it to JPG.Some assistance from somebody familiar with these methods will be a huge help as I am stuck now, and I am not getting any replies from adobe forums.Both the resolution of the videoInstance object and camera feed are 640x480, and the video is displayed fine.
I would like to know is it possible to access the flash application object loaded in the default web browser and programatically get a screenshot of the application only.
I'm not sure if this is the appropriate place to post this, but I was wandering its possible to build your own Player in Flash? The situation is: I have an external digital camera, and i need to capture its contents and display it in a player/window. This will all be on a local machine. I don't need to record anything, or stream it to other machines..... I just need the player to be able to display what ever the camera is displaying. Kind of like the Live Encoder (input and output views). With that I could hopefuly embed the player into other applications.
how I can save a screenshot of a SWF. All the examples I found requires some form of PHP scripts and some action on the server side.I am doing a simple program where at the end, the players will be awarded a certificate and they have to be able to save it on their desktop. This program is to be run on a cd-rom or off a local hard disk, thus it must not involve any server side actions.
I'm trying to have a webcam option in my flash that would allows the user (if they have a webcam) to take a picture of themselves and show this picture in flash.So far I've only been able to get the camera part working, that is the webcam feed is showing. How do I go about capturing the image when a user presses the button and then load that up in the flash?
There's just one thing I still don't get about the sample app: As a client, you always have to check the checkboxes (send/receive Audio/Video) in order to define who is sending/receiving what kind of stream. How is it possible to manage the feeds from the FMS server? So the clients can't set the checkboxes, but the server determines who is sending and who is receiving?
I have installed flash media server, flash cs5, media live encoder to be able to view my webcam feed via my website. Now in addition to these, i started streaming to localhost, and installed a dns updater which updates a name server according to my current ip. Then i wrote this dns address in the feed's source from flash 5 as rtmp://thednsname.somedns.net/live/livestream
so far so good, i also forwarded the ports 1935 incoming and outgoing from modem to my computer as well (because 1935 is said to be the default port number for media server). firewall -> closed (just in case); and my internet provider doesn't block ports...started the media server (with admin privilage in 7), started the live encoder, connect to localhost, start live feed.
NetStream.Play.StreamNotFound : Adobe Flash tried to play a live or recorded stream that does not exist. Source can't be found.
I'm trying to use Flash Media Server (on Amazon) to read in a video feed from a user's webcam, process it via my own executable, and return processed data (not video) to the user. For simplicity, let's say my executable finds the darkest pixel in the image and returns its coordinates, and I want the client to draw a cross at this location.
The client-side is working fine. It can send the video stream, and receive vertex data to draw. The server is half-working. It can accept connections, and send fake vertex data to the client. However I can't find any way to access the webcam stream.
Ideally, I would pass each frame from the stream into my executable for processing, with no saving to disk (or perhaps minimal saving to disk as a cache for P-frames). I've got the impression that this is impossible though, so another acceptable solution is to save the stream (live) to disk, and read it (live) from my executable.
Also, somewhat relatedly, I would like to secure the video feed as much as possible. Eventually I'll use SSL to secure it in transit, but for now I have the more serious problem of FMS sharing every stream it recieves. I'm sure there's an option to disable this somewhere, but I just can't find it.
I'm trying to write some apps that will include some image processing for facial, object recognition. There's a ton of stuff out there (mostly from 2009) that doesn't work very well and I want to give it a try.
Anyway, I have the webcam feeding a video object I've addChild()ed to the stage and that works aces. I want to make a copy of that video stream and plop it on the stage right next to it. This works, but the framerate suffers:
Code: public function update(event):void { //onEnterFrame var bmp:BitmapData = new BitmapData(_video.width/5,_video.height/5);
[Code]....
So this puts a pixelated version of the webcam feed right next to it just like I wanted, but it seems to lug down the processor. Logic would tell me that I'm piling on infinate amounts of "goat" to my movieClip (mc). I try to dispose() the bmp, but then it stops working.
I have been working on a Flex application that sends a feed from my webcam to the Flash Media server. The application connects to the server fine but for some reason the camera is not sending anything to the Media Server. I am pretty sure that the answer to my question is really simple but I need another set of eyes to llok at my code and tell me what I am doing wrong.
I have a swf that lets you take a picture with your webcam , I have changed the scaleX to -1 so that the picture on screen appears like a mirror. This works fine, when I take a screenshot I am getting a bitmapdata from the video stream, which I am also setting scaleX to -1 to preserve the image the same as from the video. But now I am trying to save that picture as a jpg file, I can't seem to save the pictures as it appears, I can only save it as the original data which is essentially the wrong way around (doesn't preserve the changes made to scaleX = -1)
Code: bitmapData = new BitmapData(this.video.width,this.video.height); bitmapData.draw(this.video); // at this point the bitmapData is the webcam view, but not with the scaleX I applied before [...] var jpgStream:ByteArray = jpgEncoder.encode(bitmapData); // so now this jpg data is of the picture which isn't horizontally flipped How can I get a bitmapData from the video and preserve the scaling I applied to the video?
I have made a flash webcam application to allow the user to take a photo of themselves using a webcam. I have successfully saved the photo in my localhost. However, I would like to set the names of those photos. Currently, the photos names are generated by
$uniqueStamp = date('U');
I also have a textfield in my flash app that allows inputs from user for the photo name. For example if the user write 'MYPHOTONAME' in the textfield, the photo which will be saved in my localhost will be named 'MYPHOTONAME' too. How do I do it in Flash and in PHP? Currently I'm having some problems because I cannot send the textfield string to PHP.
Here is my flash code to send the snapshot to PHP and let the PHP save it in my localhost:
Im sitting here with a project that i feel i have come a long way with (found some very usefull rescources). But i am stuck now and need some guideance in short terms what i am doing is a project where users can take a snapshot of them selves by using their webcams, and then save this picture.
This is all going ok, but when i save the picture its not the same size as the webcam picture. From what i can tell there is something going wrong with the bitmap creation process, and i cant seem to figure out how to add a field that i can toss the picture into like i have done with the video. (its using addchild(bitmap) now and that just adds a small picture at a given x & y, but i cant control size of it. And the saved pictures im getting are the size of the video area, but only 1/8th is filled with the picture, rest is just white..
how to publish live video feed from webcam in h.264 format non VP6 format with FMS 3.5.2 without using Flash Media Live Encoder, and how to set all parametersto have a good quality and smooth video without interruption, i have a server with 50Mbit bandwidth output enough for a publisher and 10 clients meunderstand this thing's been months since I try but the quality ugly
I'm trying to record video from the users webcam and play it back at a later date. I call
[Code]...
However, when I look at the FMS Admin Console at the streams in app/_definst_, their types are either "NetStream" or "Live". If they were being saved wouldn't they say "Stored"? After I close the application doing the recording, the "NetStream" type stream disappears, and after a while all the "Live" typed streams are gone too. Nothing is saved.
I have no idea what is happening. I don't know if it's a problem with my AS3 code not closing the recording properly or if I'm doing something else wrong, or maybe somethgin isn't right in the FMS?
I want my site's users to be able to record videos straight from their webcams into my site. Videowhisper is one such tool which seems to work fine - [URL] But I'm looking for opinions on better / more scalable / reliable solutions. Paid solutions are fine.
I have a Google map in my flex app that I need to occasionally export to an image file. Every time I try to call the, Map.getPrintableBitmap() or ImageSnapshot.captureBitmapData() functions I get the Error #2123: Security sandbox violation.I've tried adding various security allowances like:[code]I'm asking for a bitmap representation of a component that's already been drawn on the client's screen. Clearly all the information necessary to provide that bitmap is already present in local memory.[code]
Is it possible to take a screenshot in as3 of a movie clip and send it to another file via local connection? I have been trying for a couple of days so far and still I am pretty much lost. I followed the byte array.org live jpeg encoder and tried some of the code he uses but all I am getting is the bottom right corner of the mc when it is sent to the other side. What is the easiest way to do this? I'm not even that interested in actually encoding it, just sending the image to the receiver.
I'm building my first website in Flash, and it's a porfolio website. I'm trying to set up my portfolio page to show screenshots of my graphic design projects, and when a user clicks on them, it enlarges the photo.
I am looking for it to be done like this website below when you click on their photo samples, it enlarges it, where you can also go to the next photo.
I've exhausted all of my possible avenues for research and I am curious if any one has stumbled upon a piece of code or program that will convert a swf to an image format. It needs to happen at the click of a button within the swf itself. I've seen code for capturing the drawing API through PHP, but nothing for capturing straight pixel for pixel, not that a particular method is important. But at the very least all elements on screen need to be captured, ie. library items, input boxes etc. The method isnt important, I just need to get screengrabs of the swf at any time.
I'm developing some photo viewer app for some web site in flex 3. One of the demands made by my customers is preventing of their unique visual content from copying at least by standard Windows tools ("Print Screen" button). Are there any tricky techniques capable of doing this?
The first thing occurred to me is handling "Print Screen" button of keyboard doesn't seem to be as effective as my client needs.
The searches that I did on this topic aren't providing me with any answers...that I can understand anyway. =*) Here's the situation.In the past, I did computer-based-training using "a different authoring tool." One thing I discovered I could do with that tool--which really opened up new possibilities for me--was to use that scripting language to create a snapshot of the current window and save that image as an object/class. Then I could access that object, resize it, save it to disk, and load it in later. The result--for my training at least--was a visual bookmark of their location in the training should they have to save and come back later.I would now like to do this with Flash.specificially CS4 and AS3.If anyone can point me in the right location to get started,For clarity, the steps are:
1: Take a snapshot of the current Flash window / Stage. I'm not concerned if the snapshot remains "in Flash" or goes to the Clipboard as long as I can get to it in the next step.
2: Access that snapshot from where-ever it's stored.
3: Process the snapshot and reduce it to a thumbnail, etc.
4: Save it to a file that I can bring back into the .swf at a later point. I'm not real concerned about the format of the file as long as I can bring it back in later. How do I save it? I would love to be able to save it to the user's machine but last I checked Flash won't do that sort of thing. Can I save it as a file on the server that the .swf is running from using perhaps a PHP call /script / page?
5: And, of course, recall the image to be used at a later point. I already have a pretty good handle on this from past experiments.
Can pixels be read covertly from a browser window containing flash + HTML?(Is it possible for flash or the browser to detect a screenshot being taken?)What about for other methods of capturing pixels? (Like the one described here: How to read the screen pixels?)
EDIT: (background info)
A C++ application is going to read pixels from a browser window (which happens to contain Flash and some regular HTML and JavaScript). The browser window would like, if possible, to detect the fact that it's pixels have been read. The method of getting the pixels could be any (short of taking a photo of the screen itself).
On my website people enter, watch a live stream from a remote server (not my server) and when they click on a button it report it to me and what I want to add is the ability for me to take a screenshot of this stream at the very moment when they click that button and save it on the server. They question is how to implement so? Now I just have that stream in an Iframe that shows it as a .swf object Possible solutions I thought of but don't know whether will work are:
Embedding this Iframe inside a flash object that I will create. That means that on the website the users will see a flash object I created that all it does is to show the stream from an url I give it and when the user clicks on a button inside the html it will send the flash the command to save the screenshot now and then save it on my server (don't know how to implement it, so the second question is, if you think it will work, how to do so?).Second solution is to have an open browser on my server that when the user clicks the button, I send an ajax request to the server that will then order the browser to take a screenshot and save it locally on the server. (again, if you think this solution will work, tell me how to implement so).