上传下载入库和通知接口
提示:该APP为旧的可用API,以后会在FluentAPI中重新写。

统计信息

#后面为转码设置的apikey
Get /api2/videostatistics?apikey=5c20cEga22FgG7f

#返回信息
{
    "视频管理": {
        "自动转码": "已开启",
        "视频总数": 9,
        "等待转码": 0,
        "转码完成": 9,
        "转码错误": 0
    },
    "下载中心": {
        "自动下载": "已开启",
        "任务总数": 0,
        "下载完成": 0,
        "下载失败": 0
    },
    "云存储同步": {
        "同步状态": "已关闭",
        "可同步视频数": 9,
        "已同步视频数": 0
    },
    "硬盘信息": [
        {
            "分区": "/dev/mapper/VolGroup-lv_root",
            "挂载": "/",
            "硬盘总量": "911.63G",
            "使用量": "474.66G",
            "使用百分比": "52.07%"
        },
        {
            "分区": "/dev/md0",
            "挂载": "/boot",
            "硬盘总量": "0.94G",
            "使用量": "0.12G",
            "使用百分比": "12.63%"
        }
    ]
}

入库

#该api效果可参考扫描入库,可以将movies所有视频入库到视频库,再自动转码。
POST /api/ruku

body: {
    apikey,
}

response: {
    success: 1,
}

#curl命令使用示例,apikey可在转码设置处获取
curl http://efv.moemv.com/api/ruku -d "apikey=5c20cEga"

入库+添加视频详细信息

注意:请先修改routes/index.js文件,将/api/postmovie前面的注释//去掉,然后pm2 reload all重启开放此api。

使用方法:

提示:该操作会把入库和修改详情一起完成,视频名称可以和视频文件名称不一样,对应上就可以了。

POST /api/postmovie

body: {
    apikey, //api,转码设置处查看
    category, //视频分类,请自行在cms管理分类处设置好分类,切默认只能一个
    originalname, //视频名称
    originaltitle, //视频原名
    poster, //封面1路径,且文件需存放在public/poster文件夹,参数需设置为/poster/zzz.jpg,即以poster里面封面路径为准
    aka, //别名
    language, //语言
    banben, //版本,hd等
    director, //导演(必填),多个导演用英文逗号,分开
    stars, //主演(必填),多个主演用英文逗号,分开
    writer, //编剧(必填),多个编剧用英文逗号,分开
    summary, //影片详情
    country, //国家(必填)
    tags, //标签(必填),多个标签用英文逗号,分开
    year, //发行年份
    rate, //豆瓣评分
    path, //视频路径,以movies文件夹为准,比如./movies/123.mp4(必填,且必须正确,不然转码会失败)
}

response: {
    success: 1,
}

#curl命令使用示例,apikey可在转码设置处获取
curl http://efv.moemv.com/api/postmovie -d "category=动作片&tags=标签1,标签2&country=中国&stars=鞠婧祎&director=鞠婧祎&path=./movies/鞠婧祎.mp4&poster=/poster/zzz.jpg&originalname=鞠婧祎&writer=测试&apikey=5c20cEga"

注意封面1参数仅20235月及之后更新的才有,如此前的版本,请先看文档更新到最新版本。

上传

分片上传

分片上传需要配合插件一起使用,目前推荐Web Uploader,传送地点:点击查看

#需配合webuploader,file是分片之后的视频文件,md5码是未分片前视频的独一无二的MD5码,size是视频总大小单位字节,chunk从0开始,chunks是总分片数
POST /api/upload

body: {
    uploadkey, //后台设置上传秘钥
    file, //文件对象
    filemd5, //md5码
    chunk, //当前分片数
    chunks, //总分片数
    size,  //文件大小
}

response: {
    success: 1,
    id, //返回上传成功的视频objectid,用于构建m3u8地址。
}

我们上传后,会自动返回一个视频objectid,我们可以直接拿来组装M3U8地址和截图地址,基本上都是固定路径。

注意上传如果报错413状态码,则可能是nginx上传限制,调整下nginx上传限制大小即可。

简易上传

POST /api/simpleupload  //可根据后台设置m3u8路径自己架构返回的m3u8地址。

body: {
    uploadkey, //上传凭证,转码设置下方获取
    file, //上传文件
}

response: {
    success: 1,
    id, //返回上传成功的视频objectid,用于构建m3u8地址。
}

#curl命令使用示例,uploadkey为上传凭证,可在转码设置处获取
curl http://efv.moemv.com/api/simpleupload?uploadkey=7e8EgFAe -F "file=@/root/xx.mp4"

我们上传后,会自动返回一个视频objectid,我们可以直接拿来组装M3U8地址和截图地址,基本上都是固定路径。

注意上传如果报错413状态码,则可能是nginx上传限制,调整下nginx上传限制大小即可。

下载

提示:该接口有变动,请2023-12-12之前的版本更新到最新版使用。

POST /api/downloadm3u8

body: {
    category, //视频分类,可选项,请自行在转码设置分类处设置好分类,且默认只能一个
    apikey, //转码设置获取
    name, //视频名称,为必填项,下载完会自动命名
    url,  //下载链接,为必填项,注意如果地址包含&等特殊符号,如果影响到使用,记得转义下
    poster,  //封面链接,可选项,封面仅支持jpg、png、jpeg格式,下载转码后,会自动转换成封面1和封面2;如不填会自动生成封面。
    type,  //downloadall、m3u8、video;downloadall适用于m3u8、mp4、mkv等其它视频格式直链和youtube视频地址,建议为首选,如非youtube视频下载错误,可选择m3u8、video类型进行下载。
    clientId, //可选项,传递一个数据库id,即客户端辨识视频id,当使用通知接口返回信息的时候会返回该id,让你对应并进行数据填充。
}

response: {
    success: 1|0,  //1成功,0失败
}

#curl命令使用示例
curl http://efv.moemv.com/api/downloadm3u8 -d "name=西游记&category=动作片&url=http://down.moemv.com/moeapp/index.m3u8&apikey=5c20cEga&type=downloadall&poster=http://down.moemv.com/moeapp/zz.jpg"

通知域名获取转码信息

提示:如果你想设置多个通知域名,中间请使用英文|分开。

通知域名的作用就是可以将转码完成的视频所有详细信息传给通知域名。

先去EFV后台转码设置设置一个对接域名,开启转码成功通知即可。

再到自己的程序中设置规则APIKEY或者其他同类型,防止其他人恶意POST, 案例http://127.0.0.1/payback?apikey=jlkjlkjlkgeEFV后台对转码完成的视频点击正式发布,就会将视频详细信息JSON类型POST到这个域名,您在您的后台只需要针对这个接收API处理JSON数据入库您自己的第三方程序数据库即可。

相关信息:

对象名:movie

#获取到的相关参数信息
status: String,
size: String,
category: String,
originalname: String,
originaltitle: String,
aka: String,
language: String,
banben: String,
vtt: String,
thumbnails: String,
poster: String,
poster2: { url: String, width: Number, height: Number },
count: { type: Number, default: 0 },
retry: { type: Boolean, default: false},
path: String,
duration: String,
director: [String],
writer: [String],
rate: Number,
year: Number,
stars: [String],
summary: String,
country: [String],
tags: [String],
m3u8paths: [{ hd: Number, path: String }],
previewvideo: String,
price: Number,
totv: Schema.Types.ObjectId,
md5: String,
createAt: {
  type: Date
}

如果你使用了详细编辑,里面的数据都有,接收API就选择里边的数据处理就行了。

接收完整版数据参考:

{
poster2: {
  url: '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/poster.jpg',
  height: 773,
  width: 540
},
count: 23,
retry: false,
autoPublish: false,
director: [ '古桥一浩' ],
writer: [ '古桥一浩' ],
stars: [
  '三宅健太',  '宫野真守', '樱井孝宏',
  '伊藤静',   '梶裕贵',  '绵贯龙之介',
  '濑户麻沙美', '早见沙织', '滨野大辉',
  '柳田淳一',  '铃木玲子', '石冢运升',
  '中井和哉',  '天崎滉平', '菅原慎介',
  '町山芹菜'
],
country: [ '日本' ],
tags: [ '剧情', '喜剧', '战争', '动画' ],
screenshots: [
  '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/0.jpg',
  '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/2.jpg',
  '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/1.jpg',
  '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/3.jpg'
],
_id: '61ffbfbb9b36dd00c878b4a1',
originalname: '窈窕淑女前篇:红绪,花样的17岁',
status: 'finished',
path: './movies/Haikara-san ga Toru the movie.mkv',
category: '日本动漫',
size: '5497612960',
createAt: '2022-02-16T09:25:49.733Z',
m3u8paths: [
  {
    _id: '6200c8949dc15a00c15be7db',
    hd: 640,
    path: './public/videos/202202/07/61ffbfbb9b36dd00c878b4a1/8f89fb/index.m3u8'
  },
  {
    _id: '6200cc499dc15a00c15be809',
    hd: 1280,
    path: './public/videos/202202/07/61ffbfbb9b36dd00c878b4a1/08cad8/index.m3u8'
  }
],
thirdm3u8: [],
__v: 1,
height: 1080,
width: 1920,
duration: '97分钟',
moviepath: '/videos/202202/07/61ffbfbb9b36dd00c878b4a1',
gif: '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/1.gif',
previewvideo: '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/preview.mp4',
poster: '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/cover.jpg',
firstScreen: '/videos/202202/07/61ffbfbb9b36dd00c878b4a1/first.jpg',
aka: '',
banben: 'HD',
language: '日语',
originaltitle: '劇場版 はいからさんが通る 前編 ~紅緒、花の17歳~',
rate: 7.5,
summary: '根据70年代大受欢迎的少女漫画《窈窕淑女》改编的剧场版动画,《窈窕淑女》的题目字面意思出自诗经:“窈窕淑女,君子好逑"。大和和纪的《窈窕淑女》是1977年的少女漫画优秀杰作,曾经红极一时。讲述了一个关...',
year: 2017
}

注意m3u8paths里边的hd参数,320240P480360P640480P1138640P1280720P19201080P25602K20000为原画。

特别提示

#通知方式有2种,且专门完成自动通知功能 仅在2023.02月后的版本才有,如需使用,请更新最新版本
1、前往转码设置 开启转码完成自动通知,即视频转码完成后,立马会将m3u8链接等信息自动通知到指定域名。
2、如你想先编辑视频或剧集信息后再通知,则需关闭转码完成自动通知,然后编辑好了后,通过手动发布的方式通知。

手动发布分为单个视频/剧集发布,视频批量发布,视频全部发布、视频定时发布,下面都会说明。

单个视频发布,可前往EFV高级版后台 ⇒ 进入视频管理,通过快捷选项 或 点击视频操作,选择发布。

批量视频发布,可前往EFV高级版后台 ⇒ 进入视频管理,批量选择部分视频,点击批量发布。

全部视频发布,可发布全部转码完成的视频,可前往EFV高级版后台 ⇒ 进入视频管理,点击全部视频发布。

剧集发布,发布剧集之前,请提前将剧集里面的单集添加到剧集里面,相关教程参考:点击查看,然后点击想要发布的剧集右侧选项,点击正式发布即可。

定时发布,可以前往 转码相关 ⇒ 定时任务,设置下定时发布任务,这样会定时发布并通知接口,定制教程:点击查看

对于已经发布的剧集/单集影片,如果还想重新发布,可以先下架,再发布,下架教程:点击查看