Flash可以立即暂停RTMP流吗?

时间:2011-08-18 12:24:15

标签: flash jwplayer rtmp flowplayer osmf

我可以通过LongTail Media在JW Player中流式传输视频RTMP。暂停似乎有效,但是使用Windows 7的资源监视器我可以看到播放器在视频暂停时继续下载数据,下载约60秒(对于较长的视频似乎不会更长)。我在longtailmedia的网站上找到了同样的例子,所以我知道这不是我做过的事。

我想要一种方法来暂停视频并让它停止下载,这将为我们节省大量带宽。但如果再次按下游戏,它也会继续停止。

我检查了wowza媒体服务器上的日志,这表明播放器在向服务器发送pause命令之前实际等待了60秒。

LongTail支持称暂停功能使用内置的NetStream类,其行为无法控制。

我测试了流动播放器在线示例和一些Adobe / OSMF示例,并且在视频暂停后它们都会继续下载60秒。

在JW播放器中使用这种方法的方法最好,但任何闪存播放器是否会在暂停时停止下载?

如果使用RTMP无法做到这一点,是否有任何技术可以通过Flash播放器实现?

谢谢:)

2 个答案:

答案 0 :(得分:2)

快速浏览AS3参考:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html#maxPauseBufferTime

maxPauseBufferTime属性
maxPauseBufferTime:号码 运行时版本:Flash Player 10,AIR 1.5,Flash Lite 4 指定在暂停模式下缓冲消息的时间(以秒为单位)。此属性可用于限制在暂停模式下完成的缓冲量。一旦NetStream.bufferLength的值达到此限制,它就会停止缓冲。

如果未设置此值,则默认情况下,每次暂停时,限制为60秒或NetStream.bufferTime值的两倍,以较高者为准。

实施     public function get maxPauseBufferTime():Number     public function set maxPauseBufferTime(value:Number):void

您可能想要编译插件,或者从源代码构建播放器 - 并进行一些更改,因为这似乎是您所看到的行为!

答案 1 :(得分:0)

这实际上是HTTP下载的工作原理。检查Youtube或其他玩家,他们也会这样做。在缓冲区中放置多个已下载的部分几乎是不可能的,并且对于连接速度较慢但希望看到HiQ视频的人来说,暂停加载实际上很方便。

这与来自FMS和Red5等服务器的所有RTMP流完全相同。 如果用户擦洗很多,查看5MB视频可以轻松创建每个视图10-15MB的总流量。 (顺便说一句,你说的是流量,而不是带宽。) 这就是我不建议使用RTMP流的原因。 然而,有许多视频网站使用RTMP流媒体供数百万人使用......