我正在开发一个基于媒体的网站。我正在使用 JWPlayer 进行媒体播放,并使用 HTML5 模式回退到 Flash。我们将媒体文件存储在 Windows Azure 上。我想知道 - 1)“是否可以从 AZURE BLOB 进行 HTTP 伪流传输??” 到目前为止,我能够从 Azure 流式传输媒体,但我不确定它是 HTTP 伪流式传输还是渐进式下载。2) 有没有办法在使用某些工具或浏览器插件播放视频时检查网页使用的媒体流协议?
2 回答
我想你会发现这篇文章很有帮助Serving Video Content from Azure Blob Storage
它解决了我大约一年以来一直在寻找的问题,这将解决视频的“寻找”行为,这适用于大多数播放器(尤其是 HTML5 视频播放器),但 JWplayer 上仍然存在问题flash 模式,不支持此功能(例如:Accept-Range: bytes 或 Range bytes: 200, 2000)。
JWPlayer 仅支持某种伪流:JWPlayer flash 模式下的伪流,我仍在努力解决这个问题!
HTTP 渐进式下载基本上只需要支持 HTTP Range 标头。Blob 存储确实支持这一点,因此它应该可用于渐进式下载。请注意,渐进式下载还要求您的视频文件格式正确,许多视频编码器默认情况下不这样做。
我以前没有听说过 HTTP 伪流。根据我 15 秒的谷歌搜索,它似乎与 HTTP 渐进式下载的想法相同,但它使用查询参数而不是 HTTP Range 标头。Blob 存储不知道如何处理这些查询参数,所以我猜它不支持伪流,尽管我可能错了。如果您想支持伪流,您可能需要编写一个 Web 应用程序来解释客户端请求并从 Blob 存储中获取数据。
要回答问题 #2,由于这两个协议都基于 HTTP,您应该能够使用 Fiddler(或任何其他 HTTP 跟踪器)来查看流量。