这个问题是我在知乎上的一个回答:http://www.zhihu.com/question/20700892/answer/15902820
我猜想是历史原因。
AS提供的NetStream类比较特殊。它既支持本地Video对象播放,也支持基于HTTP的流媒体播放。最重要的,是它支持Adobe自家的Flash Media Server的实时流和点播流。
Flash Media Server(以下简称FMS)是一个重量级的产品,它在AS 1.0/2.0时代就推出了。FMS最初叫做Flash Communication Server(以下简称FCS),它当时是和(Flash MX/Flash MX 2004)|(Flash Player …
阅读更多在对Flash Media Server中的视频流使用BitmapData.draw()进行绘制的时候,会抛出这样异常:
cannot access rtmp://xxxxx. No policy files granted access. at flash.display::BitmapData/draw()
这个错误出现的原因是,客户端(swf)没有权限复制NetStream中的原始视频数据。看提示,是需要一个策略文件。
阅读更多
Thank smithfox translation, 中文版
This is not a 100% frequency bug, I spent 3 days to debug it and I'm not sure I can duplicate it again.
Case
Connect to FMS Server using NetStream, once invoke method NetStream.play('streamName'), the flash player will crash.
all of flash player release have the same issue: …
阅读更多
FlashPlayer在执行NetStream.play的时候崩溃的解决办法
这是个隐藏非常深的BUG,我都怀疑如果再做一次,我能不能把它找出来。它耗费了我宝贵的三天时间,三天啊……
BUG表现
在使用NetStream连接FMS发布的流时,在执行NetStream.play('streamName')方法时,FlashPlayer会崩溃。独立版、调试版以及基于浏览器的插件版均如此。
阅读更多
Adobe devnet的文章,详细介绍了如何利用Flex从客户端上传视频,用Flash Media Encoding Server在服务器端转换视频,然后利用FMS流发布视频的流程。浅显易懂,值得一看。
阅读更多在FMS中变量的作用域一文中,我曾经研究过这个问题,得到的结论是:
保存在Client中的变量对于每个客户机都是不同的,application中的变量则可以在instance中共享,instance之间不能共享变量。(使用一些变通的方法是可以的)
这里要讨论的,是FMS中到底有哪几种变量作用域(注:这里不讨论函数内部的变量),对于FMS代码中的自定义类,变量的作用域又是什么呢?在FMS的自定义类中,如何调用其他作用域的变量?
阅读更多配置好的一台FMS,转移到了另一台主机上,只是目录发生了变化。我更新了配置文件中的路径,但仍然不能使用。在core Log中找到这样的错误提示:
阅读更多在编写FMS程序的时候,相信很多朋友后和我一样郁闷。没有一款好的编辑器来支持,不便于查错,没有语法自动完成,对于多个文件管理不方便...
我一直是使用SE|PY ActionScript Editor写FMS程序的,虽然它比用Flash IDE来写ASC文件要方便许多,但是还是有很多细节没有考虑到。不过,现在我不必再郁闷下去了。
fczone.com为我们带来了这样一个优秀的插件,让我们能够在Eclipse或者Flex Builder中开发FMS程序。
首先看看它的功能特点把(图片来自于fczone.com):
大纲视图
代码自动完成
输出控制台(可监视trace的内容)
阅读更多在NetStream信息对象提供的大量信息中,我常用到的有这么几个:
信息 类型 范围 说明 NetStream.Play.PublishNotify 发布流 所有订阅者 当发布者的流开始发布的时候,所有的订阅者都会收到这个消息。但发布者不会收到这个消息。 NetStream.Play.UnpublishNotify 发布流 所有订阅者 当发布者的流停止发布的时候,所有的订阅者都会收到这个消息。但发布者不会收到这个消息。 NetStream.Publish.BadName 发布流 发布者 当发布者试图发 …
阅读更多在使用ActionScript3的NetConnection类连接Flash Media Server或者Remoting的时候,需要注意以下几点:
1.注意设定AMF版本
ActionScript3默认使用的是AMF3,而ActionScript2和ActionScript1使用的是AMF0,如果不指定NetConnection的AMF版本,就会出现连接失败。指定的方法如下:
1NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;上面的代码会修改所有的NetConnection实例的默认AMF版本。
如果只需要修改一个NetConnection实 …
阅读更多


