Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.

BitmapData.draw failed on WebcamSubscriber

Avatar

Level 2

Most of the times when I try to snap data from WebcamSubscriber movieclip I get the following error.

SecurityError: Error #2123: Security sandbox violation: BitmapData.draw: mypath.swf cannot access rtmfp://fms7.acrobat.com/cocomo/na2-sdk-bec0edb4-775b-4f16-94f7-cd43ec89ff10/test. No policy files granted access.

in some (very few) cases it works, and I can feagure out what are the conditions require for it to work.

Few weeks ago it was working consistently.

Will appreciate any help.

Best regards,

Gadi Srebnik

20 Replies

Avatar

Level 2

One more insight about this issue.

I cheecked and noticed that when I can view my webcam from Room Console (clicking subscribe) I can use the bitmapdata.draw otherwise I cant, and that in those cases the stream names are with small case c: camera - username, and when I can see the subscibed camera I get the stream name with capital C: Camera - username

Thanks,

Gadi

Avatar

Former Community Member

When you say that it used to work earlier, how long was it. The SDK has not changed recently in last one and half months.

I will take a look into the issue of capital and small name though I don't think it has anything to do with draw.

Thanks

Hironmay Basu

Avatar

Level 2

I think about 2 month ago.

The reason I mentioned the capital/small letter was becasue I also noticed that in room console, clicking the camera with capital, display the actual stream, while clicking non-capital camera display blank black screen.

Will be happy for solution in the security issue.

Thanks,

Gadi

Avatar

Former Community Member

Hi Gadi,

If you remove protocol="rtmfp" from the authenticator, and get

load-balanced to an FMS lower than 7, does it work then?

thanks

nigel

Avatar

Former Community Member

Actually there was a bug on our side regarding labels. You will see if you launch your dev console after you have already published your stream, then you will see a capital Camera:UserName whereas if your dev console was already there and you publish stream after that, you will see camera:UserName. I have fixed the bug in dev console and it should be always camera:UserName now and the fix will be updated in the next drop soon.

I don't know how this relates to your bug but if you want to just have small c: camera, publish your stream after you have logged into room from console. I didn't get a black screen irrespective of name though.

Hope this helps.

Thanks

Hironmay Basu

Avatar

Level 2

Thank you,

I will check the protocol issue later and update you guys.

Thanks,

Gadi

Avatar

Level 2

Great, bitmapdata.draw works good !

however, it didnt happened when I removed the protocol decleration on my previous room/application. When I tried that it tried to connect to fms8 and only when I started a new application/room and removed the protocol declaration it changed to fms4 and it works fine now.

Does it have anything to do with the specific server node?

how can I be sure that user connection will allways run on the server that will enable this feature?

btw, the subscribe from dev panel also work now all the time

Best Regards,

Gadi Srebnik

Avatar

Former Community Member

Interesting - it may be that some of our servers are misconfigured - I'll

look into this shortly.

thanks

nigel

Avatar

Level 2

The problem returned.

I get the security issue bug on BitmapData.draw from stream. was working for several days without a problem.

Thanks,

Gadi

Avatar

Level 2

Please reply on this issue. Its major issue preventing from implemeting P2P in our system although it already worked before.

Best Regards,

Gadi Srebnik

Avatar

Former Community Member

Hi Gadi,

It seems the exception is due to connecting to fms servers with rtmfp connection. Because as you said, when you have fms4(rtmps) , it doesn’t happen while it happens with fms8(rtmfp).

Since you always need p2p for your rtmfp, we need to have this issue figured out. Can you mail me a small example code with this that reproduces?

Holidays are on so we may not be able to resolve immediately but I will try to run your code and take actions accordingly.

Thanks for your cooperation.

Regards

Hiromay Basu

Avatar

Level 2

Hi,

I continued testing issue and had no change in results.

connection is made to: rtmfp://fms8.acrobat.com/cocomo/na2-sdk-eca76105-d18f-40ef-811c-5c4f81d22a86/rab25119b
and it doesnt allow bitmap drawing on stream.

as before, using rtmps works fine.

I am pulling the stream directly from WebcamSubscriber and set it to a Video Class using attachNetStream. The reason Im working like this is that Im writing on Flash CS4 FP10 application and cant use Flex environment or the FP9 SDK. This way stream is available for use in a very simple way.

BitmapData.draw(video) failes upon security issue of the stream in rtmfp. Works ok with rtmfp and regular use in FMS 3.5.2

Thanks,

Gadi

Avatar

Level 2

So I understand it will not be tested/fixed soon?

thanks,

Gadi

Avatar

Employee

If the problem is not in the SDK and it is related to rtmfp we'll have to check if it is a player or a server problem. In both cases we may have a hard time to get it fixed in a short period of time, but we can definitively open a bug for it.

Avatar

Former Community Member

FYI, We found a fix for this issue, and will push it in the next release (it's coming pretty soon =).

  nigel

Avatar

Level 2

This is great news !

Looking forward to deploy it in our system,

Thanks,

Gadi

Avatar

Level 1

Will the fix also be applied to the Stratus Server?

I know this should be a Stratus forum question, but this topic isn't discussed in the Stratus forum.

If it will be applied, will there be an announcement on the Stratus page?

Thansk in Advance

Avatar

Former Community Member

Hi,

No, I don't think this will be in stratus code. I am not aware of any fix they have done but this current fix will be only LCCS code as per my knowledge.

Thanks

Hironmay Basu

Avatar

Level 1

Thanks for the reply

I guess I'll have to take this matter to the Stratus forum.

Because I'm experiencing the same problem on the Stratus server.

Avatar

Level 1

Works like a charm:

private function onPeerConnect(caller:NetStream):Boolean
{

     setTimeout(_sendStream.send, 250, "|RtmpSampleAccess", true, true); //You can also poll this - setInterval instead of timeout.

     return true;
}