下载BT种子和M3U8等

支持BT种子文件下载、M3U8链接、视频直链、YouTube等下载,可使用API远程操作。

BT种子下载

前往程序后台 ⇒ 点击左侧转码相关 ⇒ BT管理中心,点击上方下载设置,进行相关设置,如图:

先设置好后缀过滤,大小过滤;然后可上传BT种子文件进行下载。

如果你下载里面有压缩包,并且都是有效视频,可通过BT列表文件名称右侧的链接快速前往文件夹管理,将该压缩包解压,并直接将里面的视频添加到转码队列。

修改下载的并发数

默认最多同时下载8bt任务,修改并发可编辑源码目录下的aria/aria2.conf,将max-concurrent-downloads=8后面的8修改其它数字,然后使用pm2 reload aria2c && pm2 reload aria2server命令重启生效。

M3U8和YouTube等下载

目前提供了M3U8MP4等视频直链、及YouTube等部分网站下载功能,可根据自身需求选择。

使用方法

前往程序后台 ⇒ 点击左侧转码相关 ⇒ 下载中心,添加相关链接下载。

批量添加的格式为分类名$视频名$下载类型$视频链接$封面链接,一行一个,如:

#如分类不存在会自动创建
神话片$西游记$downloadall$http://127.0.0.1:8080/1.m3u8$http://127.0.0.1:8080/1.jpg
恐怖片$僵尸先生$downloadall$http://127.0.0.1:8080/2.m3u8$http://127.0.0.1:8080/2.jpg

下载类型可用参数为downloadallm3u8video;且downloadall支持所有类型下载,m3u8仅支持M3U8video仅支持MP4等直链。

封面只支持pngjpgjpegwebp,且分类和封面可不填,如不要分类即不要分类名$,如不要封面即不要$封面链接,注意$符号位置,如:

#不要分类
西游记$downloadall$http://127.0.0.1:8080/1.m3u8$http://127.0.0.1:8080/1.jpg
僵尸先生$downloadall$http://127.0.0.1:8080/2.m3u8$http://127.0.0.1:8080/2.jpg

#不要分类和封面
西游记$downloadall$http://127.0.0.1:8080/1.m3u8
僵尸先生$downloadall$http://127.0.0.1:8080/2.m3u8

添加前请详细检查格式,格式不正确的行会被自动过滤,即不会添加到下载中心。

downloadall或通用类型下载不了

如果使用downloadall类型或通用首选项下载不了,即长时间卡下载中,则使用SSH客户端登录服务器,运行命令:

#先进入程序目录,请根据你的安装情况修改目录路径
cd /home/express-ffmpeg

#更新通用项下载插件
rm -rf node_modules/youtube-dl/bin/youtube-dl
wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O node_modules/youtube-dl/bin/youtube-dl
chmod a+rx node_modules/youtube-dl/bin/youtube-dl

#重新启动命令
pm2 kill
export PATH=python3/bin:$PATH && pm2 start ecosystem.config.js --env production

M3U8下载出错解决

如果m3u8下载出错,可能是有防盗链,可以使用命令行下载确认下,使用SSH客户端登录服务器,运行命令:

#运行之前,请修改为出错的m3u8链接
ffmpeg -i http://127.0.0.1:8080/1.m3u8 -c copy test.mp4

看看该命令是否报错,并出现403或相关字眼则是该m3u8加了防盗链。

如果出现Segmentation fault (core dumped)错误,使用命令:

#CentOS系统
yum install nscd -y

#ubuntu、Debian系统
apt install nscd -y

#安装好nscd后再启动
systemctl enable nscd
systemctl start nscd

然后再手动运行上面的命令下载看看,如果还解决不了可将错误发给我们,协助快速解决。

修改下载并发数

并发数也就是最大同时下载数,目前默认每线程10并发,根据自己机器性能和需求自行修改。

比如我的程序安装的路径为/home/express-ffmpeg,那么前往该文件夹。

然后编辑源码目录里的helper/agenda.js文件,需要修改代码downloading < 10,只需要修改数字即可,如20并发就改成downloading < 20

最后改完使用命令pm2 reload efvcms重启生效。

修改监控间隔时间

监控间隔时间也就是每30秒监控,每次启动一个下载任务,直到正在下载数等于并发数。

比如我的程序安装的路径为/home/express-ffmpeg,那么前往该文件夹。

然后编辑源码目录里的helper/agenda.js文件,需要修改代码await agenda.every("30 seconds", "auto download")30 seconds30秒,只需要修改数字即可,如20秒就改成await agenda.every("20 seconds", "auto download")

最后改完使用命令pm2 reload efvcms重启生效。

下载API使用

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://127.0.0.1:3000/api/downloadm3u8 -d "name=西游记&category=动作片&url=http://127.0.0.1:8080/1.m3u8&apikey=5c20cEga&type=downloadall&poster=http://127.0.0.1:8080/1.jpg"