服务器视频文件入库和视频远程上传
通过API入库服务器入库文件夹的所有视频,及远程通过API上传视频。
视频文件入库
#该api效果可参考扫描入库,可以将movies所有视频入库到视频库,再自动转码。
POST /api/ruku
body: {
apikey,
}
response: {
success: 1,
}
#curl命令使用示例,apikey可在转码设置处获取
curl http://127.0.0.1:3000/api/ruku -d "apikey=5c20cEga"
上传
提示:如果不会使用分片上传,可以使用简易上传或使用下载代替上传。
分片上传
#file是分片之后的视频文件,md5码是未分片前视频的独一无二的MD5码,size是视频总大小单位字节,chunk从0开始,chunks是总分片数
POST /api/upload
body: {
uploadkey, //后台设置上传秘钥
file, //文件对象
filemd5, //md5码
chunk, //当前分片数
chunks, //总分片数
size, //文件大小
}
response: {
success: 1,
id
}
Html
示例参考 ⇒ 传送门,编辑文件里面的接口地址和uploadkey
就可以直接测试了。
我们上传后,会自动返回一个视频objectid
,我们可以直接拿来组装自适应M3U8
地址,或者通过通知接口接收相关数据。
注意上传如果报错413
状态码,则可能是nginx
上传限制,调整下nginx
上传限制大小即可。
由于MD5
验证可能会很耗时,可以不用传递md5
,只需上传前提前使用验证接口判断视频是否存在即可,接口如下:
#后面为转码设置的apikey,originalname为传入的视频名称
Get /api/checkVideoExists?apikey=5c20cEga22FgG7f&originalname=青城山下白素贞
#返回信息
{
"success": false //true为该视频已存在,false为不存在。
id, //如果该视频已存在,则返回视频objectid。
}
简易上传
POST /api/simpleupload
body: {
uploadkey, //上传凭证,转码设置下方获取
file, //上传文件
}
response: {
success: 1,
id
}
#curl命令使用示例,uploadkey为上传凭证,可在转码设置处获取
curl http://127.0.0.1:3000/api/simpleupload?uploadkey=7e8EgFAe -F "file=@/root/xx.mp4"
我们上传后,会自动返回一个视频objectid
,我们可以直接拿来组装M3U8
地址,或者通过通知接口接收相关数据。
注意上传如果报错413
状态码,则可能是nginx
上传限制,调整下nginx
上传限制大小即可。
由于上传未作同名过滤,可在上传前提前使用验证接口判断视频是否存在即可,接口如下:
#后面为转码设置的apikey,originalname为传入的视频名称
Get /api/checkVideoExists?apikey=5c20cEga22FgG7f&originalname=青城山下白素贞
#返回信息
{
"success": false //true为该视频已存在,false为不存在。
id, //如果该视频已存在,则返回视频objectid。
}