问题
EasyPlayer请求视频流地址时,默认是HEAD
请求方式的,现在服务提供方的视频流地址需要GET
或者POST
方式才能访问,不然就503 forbidden
错误,拒绝访问。
思路
看了下EasyPlayer.js
的文档,发现没有修改请求方式的配置。
唯有试试修改源码,找到请求视频流地址的地方,把HEAD
改成GET
或者POST
参考
这是搜索到的唯一解决方案,试着修改了下,请求方式确实可以变成GET
操作
项目中使用的是EasyPlayer.js截止至2021年12月20日的最新版本,和 [参考][##参考]中的 EasyPlayer-element.min.js
源码稍微有点不一样,但是具体修改的地方还是一样的。
在文件EasyPlayer-element.min.js
搜索.method.toUpperCase()
,目前全文只有一个地方有这个,就是要修改的地方了。
修改成GET
,保存文件。
注意
一、清缓存
要保证服务器的EasyPlayer-element.min.js
文件没有在浏览器缓存了,不然怎么刷新都没效果的。小白的简单操作就是:关服务—刷新页面—重启服务—刷新页面
二、可能会遇到有视频拉流,但是无视频画面的情况
看控制台报错,是因为libDecoder.wasm
文件的服务器路径不对,这玩意是视频解码用的,没了,播不了视频。
这个问题,要么修改源码,要么按报错的路径把libDecoder.wasm
文件放到服务器对应的目录就可以了。
如下:
以上,是个临时的解决方案,希望后期官方可以开放一下请求方式的配置了。