. .
您当前的位置:首页 > 网页制作

html播放hls实时流直播,HTML5播放HLS流(.m3u8文件) Apache 跨域设置

时间:2023-02-20 17:34:51  来源:  作者:

网站域名原来是A(化名),后改为B,发现上面的视频播放不了,检查发现跨域了:



才想起来当初将网站视频改为M3U8格式时也碰到这个问题现将相关操作记录下来,常复习备用。web播放m3u8文件提示错误




解决方案:

步骤一:添加crossdomain.xml

播放器跨域访问时需要添加策略文件,即在视频播放链接所在域名的根目录下添加 crossdomain.xml 文件,其中添加播放器所在域名的权限。例如:

http://test1.com/app/test.m3u8需要添加http://test1.com/crossdomain.xml

具体代码如下,其中 *(代表全部请求地址都可跨域) 可以替换为你需要的请求地址。

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
    <allow-access-from domain="*"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

(实际操作时,进行以上操作不成功,然后进行如下的操作,成功;回头删除以上添加的内容,还是可以跨域播放。)



步骤二:配置nginx、apache、IIS配置

如果使用了第一个方法还是不可以,则就需要根据自己的情况进行配置了

1,apache(亲测,成功跨域播放M3U8视频)

找到端口映射文件件的配置项,比如我的端口是8081,映射文件夹是var/www/html,则需要在httpd.conf配置中找到这个文件夹对应的配置,<Directory "/var/www/html"></Directory>

添加下面代码,其中 *(代表全部请求地址都可跨域) 可以替换为你需要的请求地址。

Header set Access-Control-Allow-Origin *
 

2,nginx(未测试)

通过Nginx模块HttpHeadersModule来添加Access-Control-Allow-Origin允许的地址。

在Nginx的conf目录下修改nginx.conf,添加以下代码

location ~* \.(eot|ttf|woff|svg|otf)$ {
     add_header Access-Control-Allow-Origin *;
}
 
// eot|ttf|woff|svg|otf,表示请求后缀类型,也可以直接写如下代码
 
location / { 
  add_header Access-Control-Allow-Origin *; 
}
 

 

3,IIS

在IIS添加如下标头即可

Access-Control-Allow-Headers:Content-Type, api_key, Authorization
Access-Control-Allow-Origin:*
 

4,tomcat

暂无
————————————————
版权声明:本文为CSDN博主「chenwuai」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/chenwuai/article/details/83861087/

来顶一下
返回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
推荐资讯
相关文章
    无相关信息
栏目更新
栏目热门