下载BT种子/磁力和M3U8等

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

BT种子/磁力下载

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

先设置好后缀过滤,大小过滤;然后可通过批量添加BT磁力、BT种子链接、或上传BT种子文件进行下载,推荐优先选择通过BT种子进行下载,体验更好一点。

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

修改下载的并发数

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

M3U8和YouTube等下载

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

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

批量添加下载

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

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

下载类型可用参数为m3u8downloadallm3u8仅支持M3U8downloadall支持m3u8mp4mkv等其它视频直链和youtube视频地址下载。

且由于m3u8类型支持下载TS伪装的M3U8,所以建议下载M3U8首选m3u8类型,m3u8类型出错就使用downloadall类型下载M3U8

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

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

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

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

自动入库苹果CMS数据

说明及使用详情 ⇒ 传送门

自建代理

首先我们要准备一个服务器,VPS就可以了,推荐Vultr传送门,可以随时删除和创建服务器,也就是间接的可以随便换ip,比较适合做代理服务器。

先在需要搭建代理的服务器安装DockerLinux快速安装Docker传送门

接下来再安装BBR网络加速,使用命令:

wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh

BBR安装完成后,再开始安装代理,这里使用privoxy工具,在SSH客户端使用命令:

#5432为代理的设置端口,可自行修改
docker run -d --restart=unless-stopped --name privoxy -p 5432:8118 vimagick/privoxy

然后还需要开放服务器的5432端口,使用命令:

#CentOS 7+、AlmaLinux、Rocky Linux系统
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload

#Debian、Ubuntu系统
ufw allow 5432

如果你有安装宝塔,也可以直接在宝塔左侧安全开放,最后我们的代理地址为http://服务器ip:5432,单个代理可直接填入设置,多个使用$隔开,如:

http://127.0.0.1:8888$http://127.0.0.1:6666$http://127.0.0.1:7777

设置后,每次下载会随机使用其中一个代理地址。

下载出错

如果源站的M3U8设置了防盗链,或者系统环境问题,会导致下载出错,可使用SSH客户端登录服务器,运行命令:

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

如果该命令出现403或相关字眼则是防盗链原因,如果出现Segmentation fault (core dumped)错误,可参考该教程解决 ⇒ 传送门,最后如果还解决不了,可随时联系我们。

修改监控间隔时间

监控间隔时间也就是每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: {
    #必填参数
    apikey, //转码设置获取
    name, //视频名称,下载完成后自动入库到视频管理的视频名称
    url,  //下载链接,注意如果地址包含&等特殊符号,如果影响到使用,记得转义下
    type,  //下载类型,如m3u8、downloadall,且m3u8仅支持下载m3u8链接,downloadall支持m3u8、mp4、mkv等其它视频直链和youtube视频地址下载,建议下载M3U8首选m3u8类型,m3u8类型出错就使用downloadall类型下载M3U8。

    #可选参数,如用不到相关参数可不用传递
    poster,  //封面链接,封面仅支持jpg、png、jpeg、webp格式,下载转码后,会自动转换成封面1和封面2;如不填会自动生成封面。
    category, //视频分类,不存在会自动创建
    clientId, //传递一个数据库id,即客户端辨识视频id,当使用通知接口返回信息的时候会返回该id,让你对应并进行数据填充。
    geturl, //解析接口配置,设置详情看下方
    originaltitle, //视频原名
    aka, //视频别名
    language, //语言
    banben, //版本,如HD、高清等
    director, //导演,多个导演用英文逗号,分开,如导演1,导演2,导演3
    stars, //主演,多个主演用英文逗号,分开,如主演1,主演2,主演3
    writer, //编剧,多个编剧用英文逗号,分开,如编剧1,编剧2,编剧3
    tags, //分类标签,多个标签用英文逗号,分开,如剧情,悬疑,搞笑
    summary, //视频简介
    country, //发行地区
    year, //发行年份
    rate, //豆瓣评分
}

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=m3u8&poster=http://127.0.0.1:8080/1.jpg

注意部分参数的格式,切勿乱填,且导入成功后,部分信息不会显示在下载中心,直到下载完成后,会自动将你填入的所有信息入库到视频管理。

解析接口配置

如果获取到的m3u8需要配合解析接口使用,那么得填入解析接口配置,格式为:解析参数$解析接口

比如我获取到的m3u8链接为:http://127.0.0.1:8080/1.m3u8,解析接口为:http://127.0.0.1:3000/api?url=

然后访问解析m3u8的地址,如:http://127.0.0.1:3000/api?url=http://127.0.0.1:8080/1.m3u8,返回json数据如下:

{
    code: '200',
    url: 'http://127.0.0.1:8080/9.m3u8',
    type: 'hls'
}

url参数为解析后获取到的m3u8链接,那么解析接口配置就填入:url$http://127.0.0.1:3000/api?url=,最后下载的时候,会提取解析后的m3u8进行下载。