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.
Catalin80Asked:
Who is Participating?
 
Catalin80Connect With a Mentor Author Commented:
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
 
rascalpantsCommented:

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
 
Catalin80Author Commented:
Hi,
Maybe I am forgeting sohing...What are the exact steps in making it work?
0
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

 
rascalpantsCommented:

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
 
Catalin80Author Commented:
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
 
Catalin80Author Commented:
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
 
Catalin80Author Commented:
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
 
rascalpantsCommented:
Please finish up the question.


rp / Flash Zone Advisor
0
 
plasmainteractiveCommented:
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
 
plasmainteractiveCommented:
i men how can i call it from action script 3
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.