发布到苹果CMS教程
1 - 采集API配置教程
开启采集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
后台,点击最上面导航的采集
栏目,打开自定义接口
,找到你添加的接口,把鼠标移动到右边的采集所有
,右键复制链接地址
。
提示:这里默认设置采集所有,如果你数据量比较大,可能采集会比较慢,可自行根据实际情况选择 采集当天 或 采集本周。
我们复制好接口的采集所有
链接后,再点击最上面导航的系统
栏目,在左侧找到定时任务配置
,点击添加,大致如下:
状态开启,名称和备注自行填入,执行文件选择自定义采集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 - 采集播放器类型参考
先前往苹果CMS
后台,再点击最上面导航的视频
栏目,在左侧找到播放器
,每个播放器的编码就可以直接看到了,如下:
然后将你要使用的播放器编码,填入到采集设置页面的播放器选项。
4 - 采集下载器类型参考
可前往苹果CMS
后台,再点击最上面导航的视频
栏目,在左侧找到下载器
,每个下载器的编码就可以直接看到了,如下:
然后将你要使用的下载器编码,填入到采集设置页面的下载器选项。
5 - 对接时间戳防盗链功能
开启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 - 采集报错和字段修改
采集报错
如果报错SQLSTATE[HY000]: General error: 1364 Field 'vod_plot_name' doesn't have a default value
,vod_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.js
的8604-8784
行之间,后续行数可能会有稍微变动,可以直接搜索dplayer
关键词定位到大概位置。
比如关键词正片
等固定字段,都可以自己修改,或者有能力的可以加入一些其它发布字段,修改后使用命令pm2 reload efvcms
重启程序生效。