代码之家  ›  专栏  ›  技术社区  ›  0x49D1

Flash和“206部分连接”http状态代码

  •  3
  • 0x49D1  · 技术社区  · 13 年前

    我使用JWPlayer在服务器上播放视频。视频使用h.264编解码器进行编码。如果我在支持h.264的浏览器中打开它们,视频播放得很好,我可以找到它,因为服务器返回206头,浏览器知道它的部分内容。但如果我尝试在Opera上播放相同的视频,例如,正在使用闪存播放器,它会收到200 OK!这里有两个问题:

    1. 在下载部分视频之前,我无法查找视频
    2. 如果视频编码不正确,播放器甚至无法开始播放,直到文件完全下载。

    flash正确询问/理解http头是否有问题?(我以前从未使用过flash,所以也许我的问题有点傻,我只是不知道flash的局限性)。。

    1 回复  |  直到 13 年前
        1
  •  2
  •   emaxsaun    13 年前

    1) 对于Flash,您需要启用伪流- http://www.longtailvideo.com/support/jw-player/28855/pseudo-streaming-in-flash ,如果你能提供一个链接,我会看看这里到底发生了什么,我或多或少在猜测这个。不过,HTML5不需要在服务器端安装伪流模块。在Flash中,默认是渐进式下载,因此您只能查找下载的部分,而在html5中,情况并非如此。

    2) 是的,那是因为编码。如果在完全下载之前无法查找MP4文件,则必须修复位于视频末尾的MOOV原子(其中包含查找信息)。使用这个小应用程序解析视频并添加必要的提示点- http://renaun.com/blog/2010/06/qtindexswapper-2/

    此外,通过HandBrake进行编码- http://handbrake.fr/ ,也可以解决这个问题,所以不需要上面的工具。您可以使用HandBrake进行编码,并启用“web优化”,这与Index Swapper Tool相同。HandBrake也有命令行编码选项。