其它API使用
15 天前
提示:该APP为旧的可用API,以后会在FluentAPI中重新写。

使用教程

入库

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
    originalname, //视频名称
    originaltitle, //视频原名
    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 "tags=标签1,标签2&country=中国&stars=鞠婧祎&director=鞠婧祎&path=./movies/鞠婧祎.mp4&originalname=鞠婧祎&writer=测试&apikey=5c20cEga"

分片上传

POST /api/upload

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

response: {
    success: 1,
}

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

注意上传如果报错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"

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

下载

POST /api/downloadm3u8

body: {
    apikey,
    name,
    url,
    type,  //m3u8或youtube
}

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

#curl命令使用示例

#m3u8或mp4下载类型
curl http://efv.moemv.com/api/downloadm3u8 -d "name=西游记&url=http://down.moemv.com/moeapp/index.m3u8&apikey=5c20cEga&type=m3u8"

#youtube或其它视频站点下载类型
curl http://efv.moemv.com/api/downloadm3u8 -d "name=西游记&url=http://youtube.com/xxxx&apikey=5c20cEga&type=youtube"

通知域名获取转码信息

通知域名的作用就是在转码后台点击正式发布的时候会将视频的所有详细信息传给通知域名。

先去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就选择里边的数据处理就行了。

数据参考:

method:post
url:你的通知域名
data: {
    "movie": {
	"count": 0,
	"retry": false,
  	"director": [],
  	"writer": [],
	"stars": [],
	"country": [],
  	"tags": [],
  	"_id": "5e5b5fcbb003b0123fa09827",
  	"status": "finished",
  	"originalname": "深淵の回廊 魔女副本",
        "path": "movies/深淵の回廊 魔女副本.mp4",
  	"size": "76903972",
  	"m3u8paths": [{
          "_id": "5e5b5fedb003b0123fa09828",
          "hd": 480,
          "path": "./public/videos/202003/5e5b5fcbb003b0123fa09827/360/index.m3u8"
  	}],
  	"createAt": "2020-03-01T07:10:37.979Z",
	"__v": 0,
	"duration": "5分钟",
  	"previewvideo": "/videos/202003/5e5b5fcbb003b0123fa09827/preview.mp4",
  	"poster": "/videos/202003/5e5b5fcbb003b0123fa09827/350.jpg",
  	"category": "选择分类"
  }
}

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