Solved

Cross-domain Bitmapdata.draw(video)

Posted on 2009-05-18
10
1,607 Views
Last Modified: 2013-11-11
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.
0
Comment
Question by:Catalin80
  • 5
  • 3
  • 2
10 Comments
 
LVL 22

Expert Comment

by:rascalpants
ID: 24414991

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

0
 

Author Comment

by:Catalin80
ID: 24415828
Hi,
Maybe I am forgeting sohing...What are the exact steps in making it work?
0
 
LVL 22

Expert Comment

by:rascalpants
ID: 24415941

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

0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 

Author Comment

by:Catalin80
ID: 24419243
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.
0
 

Author Comment

by:Catalin80
ID: 24419465
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.
0
 

Author Comment

by:Catalin80
ID: 24419706
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

0
 

Accepted Solution

by:
Catalin80 earned 0 total points
ID: 24420652
Fixed!
On the server, in my broadcast directory, in Application.xml file, I needed to add:

<Access>
    <VideoSampleAccess enabled="true">/</VideoSampleAccess>
</Access>

in the <Client> node.

Also, in main.asc, I have uncommented the line:

 p_client.videoSampleAccess = "/";
0
 
LVL 22

Expert Comment

by:rascalpants
ID: 24530910
Please finish up the question.


rp / Flash Zone Advisor
0
 

Expert Comment

by:plasmainteractive
ID: 25894232
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?
0
 

Expert Comment

by:plasmainteractive
ID: 25894242
i men how can i call it from action script 3
0

Featured Post

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I know the transition can be hard. We got used to the ease of use ActionScript 2 had, but honestly, it became problematic later on, especially if designers were involved in the project and found it easy to add code as they saw fit. So, this artic…
The last time I worked with Flash and Socket connections was in AS1. A recent project required flash connecting to a Socket, and sending receiving information - we figured it would be easy enough - we all know about the socket policy documents and c…
The goal of the tutorial is to teach the user how to live broadcast using Flash Media Live Encoder and connecting it to YouTube to broadcast. Log into your Youtube account, choose live stream settings, start live stream from Flash Media Live Enc…
The goal of the tutorial is to teach the user how to use the auto adjust feature and what the different options do. When your video is not working right you can choose the auto adjust feature to help choose your settings.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question