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

先设置好后缀过滤,大小过滤;然后可通过批量添加BT磁力、BT种子链接、或上传BT种子文件进行下载,推荐优先选择通过BT种子进行下载,体验更好一点。
如果你下载里面有压缩包,并且都是有效视频,可通过BT列表文件名称右侧的链接快速前往文件夹管理,将该压缩包解压,并直接将里面的视频添加到转码队列。
修改下载的并发数
默认最多同时下载8个bt任务,修改并发可编辑源码目录下的aria/aria2.conf,将max-concurrent-downloads=8后面的8修改其它数字,然后使用pm2 reload aria2c && pm2 reload aria2server命令重启生效。
M3U8和YouTube等下载
目前提供了M3U8、MP4等视频直链、及YouTube等部分网站下载功能,可根据自身需求选择。
可前往程序后台 ⇒ 点击左侧转码相关 ⇒ 下载中心,点击上方下载设置,进行相关设置,部分设置如下:
#最大下载任务数
也就是同时下载的最大任务数,目前每10秒启动一个任务,直到达到最大任务数,且当前限制最多同时下载50个任务。
#下载失败重试次数
任务下载失败的重试次数,默认为1,如超出重试次数依旧失败,则可以调大重试次数或通过点击重新下载从而再次重新下载。
#并发数(仅M3U8类型生效)
即每个任务同时下载切片数,默认为3,推荐不要设置太高,以免过于暴力被下载源站屏蔽。
#剪切片头时长
如果你下载的视频有片头广告,则可以设置剪切多少秒,留空则不剪切,默认对所有下载的视频生效。
#剪切片尾时长
如果你下载的视频有片尾广告,则可以设置剪切多少秒,留空则不剪切,默认对所有下载的视频生效。
#磁盘空间警戒阈值
当磁盘使用空间超过设定百分比时自动暂停下载,直到使用率低于该百分比会重新开始下载,防止硬盘过满影响一些环境运行。
#过滤指定分辨率视频
选择需要过滤的分辨率,下载完成后检测到指定分辨率的视频将被自动删除,可过滤掉低分辨率视频。
#过滤切片广告(仅m3u8类型生效)
如果你下载的m3u8有切片广告,可以根据m3u8文件里面的广告路径,使用正则表达式匹配这些路径,就可以过滤掉这些广告视频。
#设置代理地址(仅M3U8和video类型生效)
可设置一个或多个代理,设置多个代理每次下载会随机使用一个,留空则关闭代理,多个代理使用$隔开,如:http://127.0.0.1:8888$http://127.0.0.1:9999
#自定义请求头
可设置User-Agent、Referer、Cookie等,有多少设置多少,格式: Header-Name: Header-Value,每行一个。
注意过滤切片广告功能,只需要填入正则表达式就行了,可以单独打开一个m3u8,看一下里面切片广告和视频切片的路径特征,找出不一样的地方,可以是一小部分路径关键词,并且为该广告专用,然后再要ai根据该路径关键词给你写一个正则表达式,这样下载期间,会自动匹配到这些广告路径的ts,会自动移除;如果有多个切片广告,可以直接用一个正则表达式同时匹配多个路径即可。
如果你发现不了切片广告特征,可以结合片头片尾剪切功能,自动剪切一定时长的片头片尾的视频即可,也可以间接达到移除切片广告功能。
设置好了相关设置项后,我们可以使用手动添加单个下载、批量添加下载、api传入下载、通过苹果cms采集接口导入下载或Alist/OpenList、S3数据入库下载等方式。
批量添加下载
批量添加的格式为分类名$视频名$下载类型$视频链接$封面链接$解析参数$解析接口,一行一个,如:
#参数说明
分类名:可选,不存在会自动创建
视频名:必填
下载类型:必填,支持 m3u8、downloadall、video
视频链接:必填
封面链接:可选,支持 png、jpg、jpeg、webp 格式
解析参数:可选,解析接口返回的下载链接对应的的参数名,如:url
解析接口:可选,解析接口地址,需配合解析参数一起使用,解析接口说明参考最下面。
#支持的格式组合,添加前请详细检查格式,格式不正确的行会被自动过滤,即不会添加到下载中心。
视频名$下载类型$视频链接
视频名$下载类型$视频链接$封面链接
分类名$视频名$下载类型$视频链接
分类名$视频名$下载类型$视频链接$封面链接
分类名$视频名$下载类型$视频链接$解析参数$解析接口
分类名$视频名$下载类型$视频链接$封面链接$解析参数$解析接口
#完整示例
神话片$西游记$m3u8$http://efv.com/1.m3u8$http://efv.com/1.jpg$url$http://127.0.0.1:3000/api?url=
m3u8仅支持M3U8,video支持mp4、mkv等视频直链,downloadall支持m3u8、mp4、mkv等视频直链和youtube等视频地址下载。
且由于m3u8类型支持下载TS伪装的M3U8,如图片伪装,所以建议下载M3U8首选m3u8类型,m3u8类型出错就使用downloadall类型下载M3U8。
自动入库苹果CMS采集接口数据
说明及使用详情 ⇒ 传送门。
自动入库Alist/OpenList、S3数据
说明及使用详情 ⇒ 传送门。
自建代理
首先我们要准备一个服务器,VPS就可以了,推荐Vultr ⇒ 传送门,可以随时删除和创建服务器,也就是间接的可以随便换ip,比较适合做代理服务器。
先在需要搭建代理的服务器安装Docker,Linux快速安装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
设置后,每次下载会随机使用其中一个代理地址。
下载中心接口使用
添加数据
POST /api/downloadm3u8
body: {
#必填参数
apikey, //转码设置获取
name, //视频名称,下载完成后自动入库到视频管理的视频名称
url, //下载链接,注意如果地址包含&等特殊符号,如果影响到使用,记得转义下
type, //下载类型,如m3u8、downloadall、video,且m3u8仅支持下载m3u8链接,video支持mp4、mkv等视频直链,downloadall支持m3u8、mp4、mkv等视频直链和youtube视频地址下载,建议下载M3U8首选m3u8类型,m3u8类型出错就使用downloadall类型下载M3U8。
#可选参数,如用不到相关参数可不用传递;如传递customHeaders,则优先使用该值,不传递会默认使用下载设置的自定义请求头设置项。
poster, //封面链接,封面仅支持jpg、png、jpeg、webp格式,下载转码后,会自动转换成封面1和封面2;如不填会自动生成封面。
category, //视频分类,不存在会自动创建
clientId, //传递一个数据库id,即客户端辨识视频id,当使用通知接口返回信息的时候会返回该id,让你对应并进行数据填充。
geturl, //解析接口配置,设置详情看下方
originaltitle, //视频原名
customHeaders, //自定义请求头,可设置User-Agent、Referer、Cookie等,格式:Header-Name: Header-Value,每行一个,可使用换行符\n分隔。如:User-Agent: xxx\nReferer: xxx。
aka, //视频别名
language, //语言
banben, //版本,如HD、高清等
director, //导演,多个导演用英文逗号,分开,如导演1,导演2,导演3
stars, //主演,多个主演用英文逗号,分开,如主演1,主演2,主演3
writer, //编剧,多个编剧用英文逗号,分开,如编剧1,编剧2,编剧3
tags, //分类标签,多个标签用英文逗号,分开,如剧情,悬疑,搞笑
summary, //视频简介
country, //发行地区
year, //发行年份
rate, //豆瓣评分
filename, //自定义下载文件名称,如不传递则随机命名
#可选参数,可自动入库到剧集,下面3个都必填,如用不到可不用传递;且剧集id可以使用剧集api添加后获取
autodownTv, //剧集id,填入后,会在转码完成时,自动添加进剧集
autodownepisodes, //集数,如 01,会在添加进剧集后,自动排序;集数命名要规范,位数和总集数一致,如总集数2位数,则用01、10,3位数用001、010。
tvepisodesname, //集数,如 01,
}
response: {
success: 1|0, //1成功,0失败
id //下载中心数据id,可用于更新api
}
#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进行下载。
修改数据
POST /api/updatedownload
body: {
#必填参数,且id和name二选一,只需要传递一个参数即可,用来匹配指定数据
apikey, //转码设置获取
id, // 下载中心数据ID,可通过全部数据接口获取id
name, // 视频名称
#可选参数,如用不到相关参数可不用传递
url, //下载链接,注意如果地址包含&等特殊符号,如果影响到使用,记得转义下
type, //下载类型,如m3u8、downloadall、video,且m3u8仅支持下载m3u8链接,video支持mp4、mkv等视频直链,downloadall支持m3u8、mp4、mkv等视频直链和youtube视频地址下载,建议下载M3U8首选m3u8类型,m3u8类型出错就使用downloadall类型下载M3U8。
poster, //封面链接,封面仅支持jpg、png、jpeg、webp格式,下载转码后,会自动转换成封面1和封面2;如不填会自动生成封面。
category, //视频分类,不存在会自动创建
clientId, //传递一个数据库id,即客户端辨识视频id,当使用通知接口返回信息的时候会返回该id,让你对应并进行数据填充。
geturl, //解析接口配置,设置详情看下方
originaltitle, //视频原名
customHeaders, //自定义请求头,可设置User-Agent、Referer、Cookie等,格式:Header-Name: Header-Value,每行一个,可使用换行符\n分隔。如:User-Agent: xxx\nReferer: xxx。
aka, //视频别名
language, //语言
banben, //版本,如HD、高清等
director, //导演,多个导演用英文逗号,分开,如导演1,导演2,导演3
stars, //主演,多个主演用英文逗号,分开,如主演1,主演2,主演3
writer, //编剧,多个编剧用英文逗号,分开,如编剧1,编剧2,编剧3
tags, //分类标签,多个标签用英文逗号,分开,如剧情,悬疑,搞笑
summary, //视频简介
country, //发行地区
year, //发行年份
rate, //豆瓣评分
filename, //自定义下载文件名称,如不传递则随机命名
#可选参数,可自动入库到剧集,下面3个都必填,如用不到可不用传递;且剧集id可以使用剧集api添加后获取
autodownTv, //剧集id,填入后,会在转码完成时,自动添加进剧集
autodownepisodes, //集数,如 01,会在添加进剧集后,自动排序;集数命名要规范,位数和总集数一致,如总集数2位数,则用01、10,3位数用001、010。
tvepisodesname, //集数,如 01,
}
response: {
success: 1|0, // 1成功,0失败
data: [] // 当name对应多条记录时,返回所有匹配的记录ID和name
}
#curl命令使用示例
curl -X POST http://127.0.0.1:3000/api/updatedownload -d "name=西游记&category=动作片&poster=http://127.0.0.1:8080/2.jpg"
注意部分参数的格式,切勿乱填,更新成功后,下载状态均会设置成等待下载。
全部数据获取
#apikey在转码设置下方获取
GET /api/downloadlist?apikey=TBG47Y5X7UQ //默认获取下载中心所有的数据信息,且pagecount为总页数,默认每页20个数据
#可选参数
page //页数,默认为第1页
status //状态,默认为全部,且只能为:下载完成、下载出错、等待下载
#带参数的请求参考
GET /api/downloadlist?apikey=TBG47Y5X7UQ&page=1&status=下载出错