Link to home
Start Free TrialLog in
Avatar of Catalin80
Catalin80

asked on

Cross-domain Bitmapdata.draw(video)

Hi,
I need to do snapshots of a live webcam feed, using bd = BitmapData.Draw(video) and I get:

SecurityError: Error #2123: Security sandbox violation: BitmapData.draw: file:///W|/work/myproject/src/odv.swf cannot access rtmp://fms.xxxxxxx.com/live. No policy files granted access.
      at flash.display::BitmapData/draw()
      at StreamingVideoPlayer/connectStream()
      at StreamingVideoPlayer/onNetStatus()

The project files are on a linux server accesible through a mapped FTP drive in Windows.
I have tried different methods (Security.allowDomain('*') , Security.allowInsecureDomain('*'), crossdomain.xml) and nothing seems to work. What should I do?

The project is AS3/Flash Player 10.
Avatar of rascalpants
rascalpants
Flag of United States of America image


this sounds more like a OS security question...  you should probably have it added to more zones...

especially if you have tried all of the normal sandbox issues...


rp / ZA

Avatar of Catalin80
Catalin80

ASKER

Hi,
Maybe I am forgeting sohing...What are the exact steps in making it work?

something I found...

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/BitmapData.html#draw()

"Note: The source object and (in the case of a Sprite or MovieClip object) all of its child objects must come from the same domain as the caller, or must be in a SWF file that is accessible to the caller by having called the Security.allowDomain() method. If these conditions are not met, the draw() method does not draw anything.

This method is supported over RTMP in Flash Player 9.0.115.0 and later and in Adobe AIR. You can control access to streams on Flash Media Server in a server-side script. For more information, see the Client.audioSampleAccess and Client.videoSampleAccess properties in Server-Side ActionScript Language Reference for Adobe Flash Media Server.

If the source object and (in the case of a Sprite or MovieClip object) all of its child objects do not come from the same domain as the caller, or are not in a content that is accessible to the caller by having called the Security.allowDomain() method, a call to the draw() throws a SecurityError exception. This restriction does not apply to AIR content in the application security sandbox."


are you using the right Flash Player?

rp / ZA

In publish settings I have setup AS3 / Flash Player 10.
The server (the "video server") and the client are not on the same server as FMS/FMIS, but this issue should have been resolved by Security.allowDomain('*') , Security.allowInsecureDomain('*') that are called on the server.
I have moved all SWFs to the same server as FMS (same IP, different subdomains).
Still got the same problem, even when run from browser.
My bitmap.draw(video) is called on _video.addEventListener(Event.ENTER_FRAME,onEnterVideoFrame);


public function onEnterVideoFrame(e:Event):void{
   try{
      bitmap_video.draw(_video);
   } catch (error:Error) {
      trace(error); // this gives me error #2123			
   }
}

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of Catalin80
Catalin80

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Please finish up the question.


rp / Flash Zone Advisor
Hallo

i have a question:

how can i create an application.xml, i mean, in where place i put this, and how can i call this archive?
i men how can i call it from action script 3