我在应用程序中使用 video.js 插件播放 HLS 视频时遇到问题。我有一个 HLS 视频(.m3u8、.ts)的 S3 存储,并将其连接到 cloudfront。视频在 safari 上可以正常工作,但在 Chrome 上无法正常工作。当我硬重新加载页面(删除缓存、cookies...)时,它们就可以在 chrome 上工作。
视频.JS:
videojs.Hls.xhr.beforeRequest = function (options) {
options.headers = {
"Access-Control-Allow-Origin": "*",
};
return options;
};
Run Code Online (Sandbox Code Playgroud)
S3 存储桶 CORS:
[
{
"AllowedHeaders": [
"*"
],
"AllowedMethods": [
"GET",
"PUT",
"POST",
"HEAD"
],
"AllowedOrigins": [
"*"
],
"ExposeHeaders": [
"ETag",
"Access-Control-Allow-Origin",
"Connection",
"Content-Length"
],
"MaxAgeSeconds": 3000
}
]
Run Code Online (Sandbox Code Playgroud)
云前:
amazon-s3 http-live-streaming cors amazon-cloudfront video.js