首页 > 代码库 > 对RTMP视频流进行BitmapData.draw()出错的解决办法
对RTMP视频流进行BitmapData.draw()出错的解决办法
source on github
在对Flash Media Server中的视频流使用BitmapData.draw()进行绘制的时候,会抛出这样异常:
cannot access rtmp://xxxxx. No policy files granted access. at flash.display::BitmapData/draw()
这个错误出现的原因是,客户端(swf)没有权限复制NetStream中的原始视频数据。看提示,是需要一个策略文件。
但是,在FMS服务器上无法放置策略文件,FMS也不能像Socket服务器那样发送策略文件给客户端,这种情况应该怎么处理呢?
答案在这里:
http://help.adobe.com/en_US/flashmediaserver/ssaslr/WS5b3ccc516d4fbf351e63e3d11a11afc95e-7ec3SSASLR.html#WS5b3ccc516d4fbf351e63e3d11a11afc95e-7fcbSSASLR
只需要FMS在同意client连接后,为其设置videoSampleAccess属性即可。videoSampleAccess的设置方式与readAccess相同。
main.asc
p_client.audioSampleAccess = "/";
p_client.videoSampleAccess = "/";
对RTMP视频流进行BitmapData.draw()出错的解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。