提示:查看该问题的时候,请确保EFV高级版自身的M3U8播放没问题;可通过后台复制M3U8处预览视频。
一般我们将转码后的M3U8
链接拿到第三方程序播放出现的话,大致上会出现以下问题,这里详细说下。
https协议与http协议问题
出现原因
第三方程序绑定的域名开启了SSL
,即https
访问,而转码端未开启SSL
,依然使用http
访问。
调试确定
在pc
上使用谷歌浏览器打开播放页面,按下f12
,点击播放的时候查看控制台,看到以下类似错误即为该问题。
解决办法
给转码程序绑定的域名开启SSL
,强制https
访问;或者将第三方程序绑定的域名去掉SSL
,使用http
访问,也就是均为http
或https
。
防盗链问题
如果你开启了防盗链,且由于部分防盗链需要进行对接,所以未对接的自然播放会失败,具体参考:点击查看。
跨域问题
提示:如果程序未绑定域名,即M3U8为ip:3000链接,则必跨域,请先看文档安装教程绑定域名即可。
程序内置跨域放行所有文件,即默认对所有域名放行;如果只对部分域名放行,则前往转码设置设置引用域名即可。
调试确定
在pc
上使用谷歌浏览器打开播放页面,按下f12
,点击播放的时候查看控制台,看到以下类似错误即为该问题。
解决方法
一般如果你没有在转码设置 设置引用域名,默认是不会跨域的;且如果你是使用宝塔的nginx
绑定EFV
高级版,则大概率是nginx
问题,你可以换nginx 1.18
版本试试,或者直接卸载nginx
,使用EFV
高级版自带的网站管理,可解决该问题。
部分设备或浏览器不能播放
1、开启https的,可能是域名ssl证书链有问题,检测修复方法看下方。
2、如果你是宝塔安装的nginx绑定域名,可以换nginx 1.18版本试试,还不行可以直接卸载nginx,使用EFV高级版自带的网站管理。
3、上面2个方案还不能解决,可以直接在手机端播放切片后台的m3u8预览地址,如果可以播放,可能和播放器有关,也可换播放器测试看看。
证书相关问题可以使用相关工具检测,如:点击查看,如果检测超时,或提示证书链等问题,则为该问题,可以自己补全下证书链,也就是pem
或crt
文件证书,补全证书链网站:点击查看,补全后替换原证书文件即可;如果不会补全,可以直接使用自动签发的免费ssl
证书。
图片伪装和随机命名切片问题
如果你视频体积过大或时间过长,且转码完成立马就播放的,则可能是缓存问题,解决详情:点击查看
关于图片伪装,还有一种可能问题就是用的播放器hls.min.js
或者hls.js
版本过旧,更新下该文件即可,推荐版本:
#可用版本
https://cdn.bootcdn.net/ajax/libs/hls.js/0.14.1/hls.min.js
https://cdn.bootcdn.net/ajax/libs/hls.js/0.14.1/hls.js
APP或IOS不能播放
1、可能在【转码设置】中开启了防下载合并功能,关闭即可。
2、如果开启了TS随机广告,可关闭后再测试,如确定该问题,可以换个广告试试,直到没问题即可。
3、对于APP,http不能播放的话,建议开启https。
4、开启https的,可能是域名ssl证书链有问题。
证书相关问题可以使用相关工具检测,如:点击查看,如果检测超时,或提示证书链等问题,则为该问题,可以自己补全下证书链,也就是pem
或crt
文件证书,补全证书链网站:点击查看,补全后替换原证书文件即可;如果不会补全,可以直接使用自动签发的免费ssl
证书。