VideoJS 适用于 safari,但不适用于 chrome 某些带有 CORS 的视频
VideoJS works on safari but not in chrome for some videos with CORS
我正在使用 videojs 在 Chrome 中使用 HLS,但对于特定的 URL 这失败了(CORS 问题)但在 Safari 中播放没有问题。
我在 videojs 中有一个代码,但为了更快地找出问题,我使用了这个在线播放器:
https://videojs.github.io/videojs-contrib-hls/
对于此文件,Chrome 中存在问题(但 Safari 中没有):
https://s3-us-west-2.amazonaws.com/andy-mediaconvert-tests/Haystack.tv/2019-05-10_Output/02_qvbr_ch1/ch1_hd720.m3u8
其他 link 像这样适用于以下两种情况:
https://d2ufudlfb4rsg4.cloudfront.net/bloomberg/IIrcyflxg/IIrcyflxg_medium.m3u8
那么,我的问题是,为什么 Safari 可以播放有 CORS 问题的视频,但 Chrome 不能?。或者 Safari 如何避免 CORS 问题?尝试在 Chrome.
中重现它
CORS 由浏览器而非服务器强制执行。因此,资源是被阻止还是被访问取决于浏览器。在 chrome 的情况下,视频片段是通过 XHR 下载的,因此由浏览器 HTTP 堆栈处理。对于本机支持 HLS 的 safari,片段由媒体播放器直接下载,绕过浏览器,因此绕过了 CORS。
此行为无法在 chrome 中重现。
我正在使用 videojs 在 Chrome 中使用 HLS,但对于特定的 URL 这失败了(CORS 问题)但在 Safari 中播放没有问题。
我在 videojs 中有一个代码,但为了更快地找出问题,我使用了这个在线播放器: https://videojs.github.io/videojs-contrib-hls/
对于此文件,Chrome 中存在问题(但 Safari 中没有): https://s3-us-west-2.amazonaws.com/andy-mediaconvert-tests/Haystack.tv/2019-05-10_Output/02_qvbr_ch1/ch1_hd720.m3u8
其他 link 像这样适用于以下两种情况: https://d2ufudlfb4rsg4.cloudfront.net/bloomberg/IIrcyflxg/IIrcyflxg_medium.m3u8
那么,我的问题是,为什么 Safari 可以播放有 CORS 问题的视频,但 Chrome 不能?。或者 Safari 如何避免 CORS 问题?尝试在 Chrome.
中重现它CORS 由浏览器而非服务器强制执行。因此,资源是被阻止还是被访问取决于浏览器。在 chrome 的情况下,视频片段是通过 XHR 下载的,因此由浏览器 HTTP 堆栈处理。对于本机支持 HLS 的 safari,片段由媒体播放器直接下载,绕过浏览器,因此绕过了 CORS。
此行为无法在 chrome 中重现。