EasyPlayer.js修改默认的请求方式实操过程

问题

EasyPlayer请求视频流地址时,默认是HEAD请求方式的,现在服务提供方的视频流地址需要GET或者POST方式才能访问,不然就503 forbidden错误,拒绝访问。

思路

看了下EasyPlayer.js的文档,发现没有修改请求方式的配置。

唯有试试修改源码,找到请求视频流地址的地方,把HEAD改成GET或者POST

参考

easyplayer.js能否修改默认的请求方式

这是搜索到的唯一解决方案,试着修改了下,请求方式确实可以变成GET

操作

项目中使用的是EasyPlayer.js截止至2021年12月20日的最新版本,和 参考中的 EasyPlayer-element.min.js 源码稍微有点不一样,但是具体修改的地方还是一样的。

在文件EasyPlayer-element.min.js搜索.method.toUpperCase(),目前全文只有一个地方有这个,就是要修改的地方了。

Snip20211220_7.png

修改成GET,保存文件。

注意

一、清缓存

要保证服务器的EasyPlayer-element.min.js 文件没有在浏览器缓存了,不然怎么刷新都没效果的。小白的简单操作就是:关服务—刷新页面—重启服务—刷新页面

二、可能会遇到有视频拉流,但是无视频画面的情况

看控制台报错,是因为libDecoder.wasm文件的服务器路径不对,这玩意是视频解码用的,没了,播不了视频。

这个问题,要么修改源码,要么按报错的路径把libDecoder.wasm文件放到服务器对应的目录就可以了。

如下:

Snip20211220_8.png

以上,是个临时的解决方案,希望后期官方可以开放一下请求方式的配置了。