Hi all, I have a strong desire to write some code in AS3 to put into an AIR app. I need this code to do two things that AS3 doesn’t explicitly allow. I am willing to write code to do this, and may even need to resort to native code in C++ or something, but my preference would be to write a single pure AS3 technique that will work on Mac and Windows.
First I need to record what is happening on the user’s screen. Although not exactly the same use case, consider VNC, screen sharing over Skype/iChat, or other tools that broadcast or record your screen. I know Flash/Flex/AS3 has no built-in capability to do this (for “security” reasons). I have some flexibility around the frame rate that I capture. I don’t need 30-60 fps, something like 5 would probably do fine.
I’ve thought about “tricks” for doing this, but given all the clever AS3 programmers out there I would be someone has solved this. I think in the context of an AIR app this is commonly needed functionality and Adobe’s security model only forces us to turn to other programming platforms.
The second need is to RECORD the camera. I know I can stream the camera to a FMS or similar server, but I want to record a local file, not stream it. I’ve seen some clever hacks that capture each frame from the camera and build a local FLV file on the fly (sans compression). This MIGHT work, but it seems that somehow deriving from NetStream/NetConnection there should be a way to override the transport layer and simply store the file. Again I presume this oversight relates to alleged security concerns, but in the context of an AIR app the risk is minimal since a user must opt to install the app so it could not be used without some level of user permission.
Both of these represent the main thing that is blocking me from using AS3/AIR for a wider range of software I develop. It seems AIR has inherited a lot of limitations from the web use case of AS3. Adobe should help us remove these limitations.
In summary, the rules I want to bend are the ability to record the camera to a local file while also capturing the screen contents. The camera recording should be 25 or more FPS and the screen could be as low as 2 but ideally 5-10. Please advice oh wizards of AS3!