混合内容与hls.js

时间:2016-11-30 10:10:20

标签: video-streaming html5-video hls hls.js

我正在尝试使用hls.js库播放HLS流,问题是我尝试播放流的网站是https,获取清单的网址是https所以我得到了很好,但个别块的链接是http。

Hls.js使用XHR获取这些块,这会导致我的网站上出现混合内容错误。流提供商不会在ssl上提供这些块,并且他们在不久的将来也没有这样的计划。有没有一个聪明的伎俩,我可以用它来解决这个问题,而不会影响我网站的安全性?

我用谷歌搜索了这个库的类似问题,我遇到了this问题,但它没有得到解决。一个可能的解决方案是打开一个单独的页面并在那里加载流,但这是最后一个沟渠。

2 个答案:

答案 0 :(得分:1)

不,无法混合使用http和https,也不会收到此警告。

答案 1 :(得分:1)

在我的情况下,由于某种原因,我传递了一个https网址,并要求 still http的身份发送出去。我猜他们的代码中存在一些正则表达式或解析错误,但是我可以通过以下代码段解决混合内容问题:

let hls = new Hls({
    xhrSetup: (xhr, url) => {
        xhr.open('GET', url.replace('http://', 'https://'))
    }
})
相关问题