Solved

Cross-domain Bitmapdata.draw(video)

Posted on 2009-05-18
10
1,602 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
 

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
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

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

What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

Join & Write a Comment

Suggested Solutions

Here are some practices and techniques that can be adopted into your Flash/Flex application development process. Note: Not all "performance tips" provide an immediately-recognizable benefit.   This article does not include timing validation data,…
In my long career of working as an actionscript developer, I had spent sleepless night often working hard to solve some small problems which actually took a lot of my development time; later found out the solutions to be a line or two. Here are s…
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…
This Micro Tutorial will teach to how to utilize bit rate in Adobe Flash Media Live Encoder.

744 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now