actionscript 3-使用您自己的AMS,如何在RTMP流上使用BitmapData.draw()而没有安全异常



我发布了一个关于更一般情况的类似问题,但这个问题专门涉及RTMP。

我们有一个用AS3编写的Adobe AIR应用程序,可以查看其他方的实时视频流。也就是说,当试图在其中一个远程视频流上调用BitmapData.draw()(从技术上讲,我们调用ImageSnapshot.captureImage())时,我们会收到2123错误——一个安全沙盒异常。我看到很多人在AMS中提到了一个真正简单的配置,它将允许RTMP流使用,但他们不断发布断开的链接,指向只含糊地提到这个配置的帖子的链接,等等。我发现的一件事是我在应用时遇到了困难:

http://help.adobe.com/en_US/FlashMediaServer/3.5_SS_ASD/WS5b3ccc516d4fbf351e63e3d11a11afc95e-7ec3.html#WS5b3ccc516d4fbf351e63e3d11a11afc95e-7fcb

为了使上述工作正常进行,我尝试将audioSampleAccessvideoSampleAccess都设置为"/",但没有成功。在AMS的Application.xml中,我设置了以下配置:

<FolderAccess>true</FolderAccess>
<AudioSampleAccess enabled="true">*</AudioSampleAccess>
<VideoSampleAccess enabled="true">*</VideoSampleAccess>

我也看到有人提到要建立一个广泛开放的跨域策略文件,但我看到有人强调这不是必要的,我也没有看到任何明确提到该策略文件需要在服务器上的什么位置。然而,我已经开始将NetStream.checkPolicyFile设置为true,并且我已经在网站本身的根目录中放置了一个跨域的策略文件(与AMS相反)。

请不要只给我另一个链接,除非它是一个快速,明确的解释。您如何配置AMS以允许人们从RTMP视频流中捕获屏幕截图?在上面的文章中,我尝试将videoStreamAccess和audioStreamAccess都设置为"/",甚至都不起作用。我们还需要能够为P2P RTMFP流做到这一点,但这实际上是一个不同的问题。谢谢

我有以下FMS代码来修复应用程序中的错误。连接方法:

client.videoSampleAccess = "/";
client.audioSampleAccess = "/";

最新更新