使用videojs进行实时流式传输时发生CORS和请求标头错误

时间:2018-09-19 18:54:33

标签: javascript html5 cors video.js http-live-streaming

我正在尝试使用videojs@7.0.0和videojs / http-streaming用html5播放实时流视频,但是由于我停留在请求标头和CORS错误上,因此无法正常工作。 我正在使用HLS协议,文件具有m3u8格式。

Print - Headers

Print - Console Error

这是来自测试的代码:

videojs.Hls.xhr.beforeRequest = function(options) {
    options.headers = {
        "Content-Type": "application/x-mpegURL",
        "Access-Control-Allow-Origin": "*"
    }
    return options;
};
player.ready(function() {
    this.src({
        src: 'http://my-url/playlist.m3u8',
        type: 'application/x-mpegURL',
    });
    player.play();
});

当我尝试按需播放视频时,它可以正常工作,但是通过实时流传输,它不能在任何浏览器中运行。 我虽然可能是服务器端设置的标头有一些错误,但是我已经使用angular和videogular进行了另一个项目,并且能够使其在没有其他设置的情况下工作,因此我认为设置请求标头可能会出错在客户端或其他方面。

谢谢!

1 个答案:

答案 0 :(得分:0)

Access-Control-Allow-Origin不是客户端要发送的请求标头。您需要配置传送HLS的服务器以在其响应中发送标头。

https://enable-cors.org/