【问题标题】:Problems loading a NetStream Video加载 NetStream 视频时出现问题
【发布时间】:2010-10-01 21:42:28
【问题描述】:

我一直在为网络创建自定义视频播放器。在我运行它的某些机器上,它会开始加载 .flv 文件,然后在 30 秒到一分钟内没有任何进展,然后显示视频已完全加载。我正在检查在Event.ENTER_FRAME 中使用bytesLoaded / bytesTotal 加载了多少。当单独跟踪时,当它显示完全加载时似乎发生了什么,bytesTotal 值更改为当前的bytesLoaded 值,导致我的视​​频播放器将我的负载百分比注册为 1。我已经跟踪了 NetStatus event.code 值并且没有更新表明存在任何类型的错误。我得到的只是NetStream.Play.Start NetStream.Buffer.Full 然后它会等待并重置字节总值。

所以我要问的是有没有办法解决这个问题?

【问题讨论】:

  • 当你说“没有进度”时,你的意思是在你的进度条上还是实际上在加载?您是否使用 Firebug/Activity Monitor/Charles Proxy 等监控加载?另外,您将缓冲区设置为多少?您是手动暂停/开始播放还是在缓冲区已满时自动播放?
  • 这似乎是与超出缓冲量的查找功能有关的问题。不过,这只发生在某些机器上,并且随着显卡更新和 FlashPlayer 更新,问题不再发生。结合对可以发出搜索命令的位置进行更严格的控制以及动态更改的缓冲区以适应不同的连接速度,问题在我测试过的所有机器上都消失了。我很感激你回到我身边。这是一个奇怪的问题,更新后我无法再让它持续发生。

标签: actionscript-3 netstream


【解决方案1】:

这个问题似乎没有具体的答案。从那以后,我再次尝试解决这个问题,我学到了两个教训。

1) 您可以通过使用bytesLoadedbytesTotalbufferTime 属性不允许它尝试越过加载点来编写netstream 类中的大多数缺点。这可以让您确保绝不允许在可能导致问题的时间尝试搜索。

2) 在尝试发送另一次之前,始终允许前一次搜索尝试完成并正确处理它。

【讨论】:

    【解决方案2】:

    您正在播放一个 mp4,其 moov atom(例如元数据)位于文件末尾?如果是这样,Flash 将无法播放文件,直到整个文件加载并能够读取元数据。

    此工具应该可以修复您的视频文件: http://renaun.com/blog/code/qtindexswapper/

    【讨论】:

    • 我熟悉 moov 规范。视频的初始播放是由接收到的元数据触发的,所以不可能这样。在这种情况下,我正在播放的视频是一个使用 On2 VP6 编解码器的 FLV,该编解码器在文件请求时具有元数据。问题在于在播放期间加载视频时进行搜索。如果它试图越过加载点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 1970-01-01
    相关资源
    最近更新 更多