超级播放器使用文档

基本信息

  1. 版本: 20220730
  2. 更新时间: 2022-07-30

感谢您选择我们的播放器,我们希望您喜欢与我们一起构建您的项目。它是一个功能非常强大的播放器,为您量身定制代码干净简洁不引入多余插件加载速度更快,相信它会让您的网站更佳令人惊叹。

播放器使用

相信看到文档的您已经安装好播放器插件并看到了插件设置,非常棒,我们已经成功踏出了第一步,接下来我们需要在苹果cms中调用播放器,您可以通过 播放器代码,接口地址 两种方法调用播放器,但我们推荐您使用播放器代码方式调用,因为它是更高效的。

独立版需要注意,文档中接口均使用的插件版地址(/addons/dp/player/)独立版地址应该为(/player/),请自行根据自己使用的版本修改


播放器代码调用方法:

播放器代码


MacPlayer.Html = '<iframe border="0" src="/addons/dp/player/index.php?key=0&id='+MacPlayer.Id+'&url='+MacPlayer.PlayUrl+'" width="100%" height="100%" marginWidth="0" frameSpacing="0" marginHeight="0" frameBorder="0" scrolling="no" vspale="0" noResize></iframe>';
MacPlayer.Show();

复制播放器代码打开苹果cms后台-视频-播放器-找到需要使用超级播放器的播放组点击后面的编辑-点击播放器代码-去掉原先的代码用复制的替换(记住基本设置中解析状态一定要选择关闭)-点击保存
更新苹果cms缓存及浏览器缓存
如果执行上面方法后仍旧不显示播放器那么可能是您使用了缓存产品,如果自己也不知道可以等24小时候在进行查看

接口调用方法:

您的接口地址

http://您的域名/addons/dp/player/index.php?key=0&url=

复制接口地址打开苹果cms后台-视频-播放器-找到需要使用超级播放器的播放组点击后面的编辑-解析状态选择启用,填写接口地址-点击保存
更新苹果cms缓存及浏览器缓存
如果执行上面方法后仍旧不显示播放器那么可能是您使用了缓存产品,如果自己也不知道可以等24小时候在进行查看

模板中添加跨站方法:

跨站代码

<span id="blibliId" style="display:none" data-id="{$obj.vod_id}{$param.nid}" data-user="{$user.group.group_name}" data-name="{$obj.vod_name}" data-url="{$obj.player_info.link_next}"></span>
<script>
function api_jump(url){
    location.href = url;
}
function api_jump2(url){
    if(MacPlayer.Link !== url){
        location.href = url;
    }
}
</script>

复制接跨站代码找到template/您使用的模板/html/vod/play.html编辑文件在最下面{include file="public/foot"}上面一行粘贴跨站代码
跨站代码主要是为播放器提供弹幕id,用户组id,视频名字,下一集地址以及跨站跳转下一集,播放器外部发布弹幕功能服务


解析配置

什么是json?

json就是一个网址,后面有一个url参数,填上参数请求它会返回一段字符串,类似这样:{"code":200,"url":"http:\/\/127.0.0.1\/m3u8\/20220201\/1643700711.m3u8"}
当然它其中可以还会有一些其他内容,但只要包含了"code":200以及url这两个结果就可以了

什么是特征码?

特征码便是所有网址中都包含的一段内容
比如:v.qq.com/id/1684.html与v.qq.com/id/1686.html
特征码为:v.qq.com(因为不管哪一个播放页面链接它都包含了v.qq.com,因此我们可以判断只要包含了v.qq.com这个资源就是腾讯视频的,从而完成与支持腾讯视频的json匹配对接)
如果实在找不到特征码怎么办?
比如:C0F1B6A831C399E2与068EEF6A7BAD3FDF,我们无法从它们中找到相同的内容,那么我们可以填写这个资源在苹果cms中的播放器编码,通过播放器编码进行匹配

什么是播放器编码?

打开苹果cms后台-视频-播放器-在列表中有一个编码列,其中显示的就是播放器编码

什么是m3u8缓存?

通常json解析返回的结果是一个m3u8文件链接地址,它是一个索引文件,通常很小只有几kb,我们只需将这个文件保存到我们自己服务器中就可以随时调用它进行播放,无需请求接口,然而大部分接口是按请求次数收费的,减少请求次数可以节省费用,而且从您自己服务加载缓存也可以降低服务器资源消耗且加载速度更快。

某一些资源通常我们需要先请求json获取资源播放地址后才能播放,本播放器以为您对接好json功能,您只需在播放器设置-json配置中填写json接口地址接口使用

在对接json中我们需要注意一个问题,那就是如何匹配json

默认我们是通过特征码匹配json,这种方式比较简单您不需要做任何修改,但它非常糟糕并不是高效的匹配方式,我们推荐您使用播放器编码进行匹配,这样会更佳高效完成匹配。

如果您想使用高效的播放器代码匹配json只需要您接口地址中加入&from=[播放组代码]

http://您的域名/addons/dp/player/index.php?key=0&from=qq&url=
如果使用的代码播放方式可以改成这样的
MacPlayer.Html = '<iframe border="0" src="/addons/dp/player/index.php?key=0&id='+MacPlayer.Id+'&from='+MacPlayer.PlayFrom+'&url='+MacPlayer.PlayUrl+'" width="100%" height="100%" marginWidth="0" frameSpacing="0" marginHeight="0" frameBorder="0" scrolling="no" vspale="0" noResize></iframe>';
MacPlayer.Show();

解析中我们支持通过{ip}获取当前用户ip


播放器外部发布弹幕

1.发布弹幕,调用EC.DmApi.add()函数
传入3个参数:EC.DmApi.add("弹幕内容","弹幕类型","弹幕颜色")
2.控制弹幕开关,调用EC.DmApi.off()函数切换开关
注意:在无跨域情况下可使用,如果有跨域无法使用播放器外部调用弹幕方法


自定义弹幕ID

在跨站代码中有一个参数 【data-id="{$obj.vod_id}{$param.nid}"】 这个参数便是给播放器传递自定义弹幕id,它的意思是当前视频id与当前集数作为弹幕id,如果您不传这个参数播放器会直接使用播放地址作为弹幕id。


自动跳转下一集

只要您按照播放器使用中的方法正常配置好播放器是支持自动跳转下一集的,如果不支持可能您使了接口调用播放器方法或者您在播放器代码中加入了禁止执行框架中脚本的声明,这样播放器是无法执行重定向的,因此无法跳转下一集。


自定义加密解密方法

如果您需要自定义资源地址加密解密方法可以找到application/admin/common/Jm.php文件在其中添加(需要懂得php语言)


挂载字幕

如果您想显示挂载字幕只需要在视频播放地址后面加上字幕链接地址即可(注意跨域支持)

例子:http://127.0.0.1/m3u8/20220201/1643700711.m3u8/T/http://127.0.0.1/变形金刚中文字幕.tss

前面是播放地址,中间是分割符号/T/,最后面是字幕地址

dp播放器只支持一种字幕格式并且对字幕内容有严格要求,必须声明字幕类型,art播放器支持所以主流字幕,具体请参考播放器官方文档。


多站使用同一个播放器

如果其他网站并未安装播放器但也想使用您可以参考【播放器使用】在其他网站中添加播放器
但添后视频列表无法加载

我们需要做一些修复

添加参数$api=[使用播放器的网站域名]

http://您的域名/addons/dp/player/index.php?key=0&api=https://baidu.com/&url=
如果使用的代码播放方式可以改成这样的
MacPlayer.Html = '<iframe border="0" src="/addons/dp/player/index.php?key=0&id='+MacPlayer.Id'+&api=https://baidu.com/+&url='+MacPlayer.PlayUrl+'" width="100%" height="100%" marginWidth="0" frameSpacing="0" marginHeight="0" frameBorder="0" scrolling="no" vspale="0" noResize></iframe>';
MacPlayer.Show();

从插件版找到dp/application/index/controller/dp.php文件上传到使用播放器的网站对应目录中application/index/controller

从插件版找到dp/application/admin/common/Jm.php文件上传到使用播放器的网站对应目录中application/admin/common


flv视频播放

因为flv格式已经被淘汰,目前仅B站一些解析有这种格式,本播放器以精简为主因此默认仅支持主流格式视频文件播放,如果您需要播放flv资源需自行引入flv插件

flv插件引入方法

分别打开addons/dp/player文件夹中的art.php,dp.php文件找到代码:

<script src="../player/js/hls.min.js"></script>

改为:

<script src="../player/js/hls.min.js"></script>
<script src="../player/js/flv.min.js"></script>

独立广告(独立版支持该功能)

独立广告为根据不同播放组显示不同广告,所以必须传播放组名称,通过播放组名称显示不同广告内容。

后台设置独立广告方法

打开播放器后台-播放器配置-独立广告,填写广告配置一行一条,填写规则:播放组编码$图片广告图片地址||视频广告视频地址||广告链接地址||暂停广告图片地址||暂停广告链接地址


公共弹幕池问题

部分用户可能有其他产品,比如app也有弹幕功能,可否让app与网页播放器使用同一个弹幕池?
可以的,但它可能无法支持,你需要提供其他产品api接口给我们,我们会安排时间免费为您对接。


公共弹幕池问题

部分用户可能有其他产品,比如app也有弹幕功能,可否让app与网页播放器使用同一个弹幕池?
可以的,但它可能无法支持,你需要提供其他产品api接口给我们,我们会安排时间免费为您对接。