这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

发布到苹果CMS教程

可提供给苹果CMS采集已发布的视频和剧集的M3U8、截图,包括视频标签、简介等在EFV编辑的所有视频信息。

1 - 采集API配置教程

采集api只适用于苹果CMS V10,且api可同时供多个苹果CMS一起采集。

开启采集api之后,可提供给苹果CMS采集已发布的视频和剧集,包括视频标签、简介等在EFV编辑的所有视频信息。

且后面新增的、或修改过相关信息的视频和剧集均可以自动同步更新到苹果CMS

即在苹果CMS配置好EFV采集api后,视频上传,标签、简介等数据编辑可全在EFV后台通过豆瓣获取或自行编辑。

采集步骤

开启EFV的采集api并配置正确的域名

提示:转码设置的第一个设置域名选项一定要填写正确,也就是采集过去的M3U8和封面域名。

我们先去EFV后台,前往左侧转码相关,找到对接苹果CMS,点进去可设置采集api

注意采集key可填,也可不填;如果不填,则开启api后,任何人都可以请求并采集;反之,填了就需要搭配正确的key才能请求该采集api

然后再前往转码设置,找到最上面的设置域名,填入你EFV绑定的域名地址,也就是采集接口显示的M3U8、截图等域名。

前往苹果CMS后台调整采集参数配置

先进入到苹果CMS后台,点击最上面导航的系统栏目,在左侧找到采集参数配置,大致需要调整的地方如下:

配置说明:

1、入库重复规则,该处默认就行了;注意如果老用户此前使用过第三方CMS发布系统,建议取消掉演员和导演,不然采集数据可能会和发布系统重复。
2、二次更新规则,也就是你在EFV修改过视频和剧集的相关信息的会不会再次同步更新到苹果CMS,可自行设置,也可默认;如果你有剧集,请把连载数、备注和总集数选上。

前往苹果CMS后台设置采集接口

先进入到苹果CMS后台,点击最上面导航的采集栏目,在左侧找到自定义接口,点击添加,设置如下:

提示:接口地址为 EFV绑定域名 + /api/provider/vod/?ac=detail&apiKey=yourkey,yourkey为采集key;如未设置key,则接口地址为/api/provider/vod/?ac=detail

资源名称和接口地址自行设置,接口类型选择JSON,其它和上面截图一样即可,添加好自定义接口后,再点击接口列表已添加的接口地址,如下:

点进去后,在最上面我们会看到EFV的分类信息,如下:

然后点击分类旁边的绑定,选择苹果CMS的分类,这样就可以将EFV的分类视频同步到苹果CMS指定分类下了。

最后回到自定义接口列表,点击右侧的采集全部即可,等待采集完,EFV全部的已发布视频和剧集都会被同步到苹果CMS

相关说明

注意事项

EFV的视频和剧集一定要设置好分类,且配置接口的时候,EFV分类一定要绑定好苹果CMS的分类,不然未设置或未绑定好分类的视频无法被苹果CMS采集。

EFV只有已发布的视频和剧集才能被采集,可先对已转码完成的视频和剧集进行相关编辑后再发布出去。

如果有剧集,建议不要在EFV给剧集的单集设置分类,防止单集被误操作发布出去了,这样苹果CMS会当电影采集下来,不绑定分类,就不会采集误发布的单集。

发布视频和剧集的多种方法

视频发布分为单个视频发布、批量发布和全部发布,可前往EFV后台 ⇒ 进入视频管理,进行相关操作,如图:

剧集发布,发布剧集之前,请提前将剧集里面的单集添加到剧集里面,然后找到想要发布的剧集右侧操作选项,点击正式发布即可。

2 - 设置定时自动采集

我们配置好采集后,如果想让苹果CMS自动从EFV采集数据,则需要设置定时采集。

配置定时采集任务

先进入到苹果CMS后台,点击最上面导航的采集栏目,打开自定义接口,找到你添加的接口,把鼠标移动到右边的采集所有,右键复制链接地址

提示:这里默认设置采集所有,如果你数据量比较大,可能采集会比较慢,可自行根据实际情况选择 采集当天 或 采集本周。

我们复制好接口的采集所有链接后,再点击最上面导航的系统栏目,在左侧找到定时任务配置,点击添加,大致如下:

状态开启,名称和备注自行填入,执行文件选择自定义采集collect,附加参数就是上面复制的接口采集所有链接,执行周期和时间可不填,好像不会生效。

设置好了定时配置后,返回定时任务列表,找到你添加的任务,继续把鼠标移动到右边的测试按钮,右键复制链接地址

提示:复制测试链接之前,我们可以先点击测试按钮,看看能不能正常采集,确定没问题了,再复制连接。

最后保存好定时任务的测试链接,我们进入下一步。

设置定时计划

如果你有安装宝塔面板,且任何服务器的宝塔面板都可以直接设置,进入宝塔后台,找到左侧的计划任务,点击添加,如下:

任务类型为访问URL,名称和执行周期自行设置,URL地址为上面获取到的测试链接。

如果你没有安装过宝塔面板,可直接使用SSH客户端,登录EFV所在的服务器,运行命令:

#先将下面命令行中的https://cms.test整个链接全部换成你的测试链接,再一起全部复制到ssh运行
crontab -l > crontab.bak
echo '*/30 * * * * curl -sSL "https://cms.test/api.php/timming/index.html?enforce=1&name=postapi"' >> crontab.bak
crontab crontab.bak
rm -rf crontab.bak

该命令行是每30分钟运行一次,可在运行之前,自行调整时间,怕调整出问题的,可直接默认。

3 - 采集播放器类型参考

采集api默认的播放器为dplayer,如果你要使用到其它播放器,可自行修改播放器编码。

先前往苹果CMS后台,再点击最上面导航的视频栏目,在左侧找到播放器,每个播放器的编码就可以直接看到了,如下:

然后将你要使用的播放器编码,填入到采集设置页面的播放器选项。

4 - 采集下载器类型参考

采集api默认的下载器为http,如果你要使用到其它下载器,可自行修改下载器编码。

可前往苹果CMS后台,再点击最上面导航的视频栏目,在左侧找到下载器,每个下载器的编码就可以直接看到了,如下:

然后将你要使用的下载器编码,填入到采集设置页面的下载器选项。

5 - 对接时间戳防盗链功能

EFV开启时间戳防盗链后,苹果CMS默认是用不了,这里提供对接好的文件,可直接使用。

开启EFV时间戳功能

先前往EFV后台防盗链/图片加密设置,开启时间戳+播放次数防盗链,并设置时间戳防盗链key值,然后再看下该功能对接的一些参数介绍 ⇒ 传送门

编辑对接文件

然后下载一个文件 ⇒ 点击下载,下载后解压,并编辑All.php文件,修改如下:

#第24行,设置EFV时间戳防盗链KEY值,和后台设置的一致
$efvtokenKey = 'efvtoken';

#第30和39行2个位置,链接过期时间,默认60秒,如果你想缩短时间,修改60即可
$fiveMinutesLaterTimestamp = $currentTimestamp + (60 * 1000);

#第31、33、40和42行4个位置,链接读取多少次后过期,默认2次就过期,自行修改
&counts=2

counts次数最少设置为2,或者3次,有些手机浏览器会替换播放器,导致需要多加载1次,甚至2次才能播放。

将文件替换到苹果CMS

最后覆盖到苹果CMS源码的application/common/controller目录即可,注意覆盖All.php文件之前,如果你使用过魔改的模板,请备份好源文件,防止对接出现问题。

该源码使用苹果CMS V10最新版和默认的DPlayer播放器测试通过,非默认的DPlayer播放器可能使用不了,有能力可自行修改,或者联系我们。

6 - 采集报错和字段修改

苹果CMS采集的时候可能会出现一些小问题,或者你想修改一些字段,可直接查看。

采集报错

如果报错SQLSTATE[HY000]: General error: 1364 Field 'vod_plot_name' doesn't have a default valuevod_plot_name为数据字段,可能会是其它,可以直接联系我们进行修复。

如果报错Data too long for column ‘vod_blurb’ at row 1,这种大概就是有标签数据超过了Mysql数据库字段长度,如果你是宝塔安装的MYSQL,可直接找到安装的Mysql,点击右侧的设置,选择配置修改,将sql-mode一行改成sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION;,然后重启Mysql后再次尝试。

字段修改

采集代码在EFV源码的controller/cms.js8604-8784行之间,后续行数可能会有稍微变动,可以直接搜索dplayer关键词定位到大概位置。

比如关键词正片等固定字段,都可以自己修改,或者有能力的可以加入一些其它发布字段,修改后使用命令pm2 reload efvcms重启程序生效。