使用youtube-dl、ffmpeg、rclone实现分段下载录制并自动上传至网盘
1、使用的工具及实现思路
youtube-dl
用来获取直播源地址或者下载地址;ffmpeg
用来下载youtube-dl
获取的地址并切片;rclone
用来将下载录制的资源上传至网盘;screen
用来建立多个监控任务;scp
用来在两台服务器间传递数据,非必须。
[scode type="blue"]首先用youtube-dl
获取资源的下载录制地址,然后用ffmpeg
进行分段下载,最后用rclone
上传至自己的网盘。[/scode]
2、方案优点
- 对VPS硬盘大小要求较低,可以长时间录制下载;
- 可以根据VPS硬盘大小以及同时下载资源的个数自定义
ffmpeg
分段的时间; - 由于可控制资源下载的大小,从而避免上传过大文件至网盘而出错;
- 可以根据VPS的配置及性能,调整方案,多机联动。
3、部署
3.1安装所需工具
安装youtube-dl
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
日后升级可以用youtube-dl -U
进行
安装ffmpeg
sudo wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
tar xvf ffmpeg-git-amd64-static.tar.xz
cd ffmpeg*
cp ffmpeg /usr/local/bin/
sudo chmod a+rx /usr/local/bin/ffmpeg
ffmpeg
的使用可以参见往期文章
[post cid="18" /]
安装rclone
curl https://rclone.org/install.sh | sudo bash
[scode type="blue"]记得定期执行该命令以更新rclone至最新版[/scode]
安装screen
#Debian/Ubuntu
apt-get install screen
#Centos
yum install screen
3.2下载脚本
[button color="success" icon="" url="https://www.lanzous.com/b06rggpof" type=""]点此下载脚本[/button]
[scode type="blue"]密码为:sunsea.im[/scode]
4、脚本使用方法
[scode type="yellow"]目前脚本基于双机实现,一台机器用于获取资源下载地址(find_m3u8),另一台机器接收下载地址后进行资源下载并上传至网盘(dl_m3u8+up.sh).[/scode]
[scode type="red"]双机联动下载时一定要,提前设置scp
的自动登录,设置方法见往期文章。[/scode]
[post cid="52" /]
[scode type="green"]find_m3u8
文件夹、dl_m3u8
文件夹以及up.sh
文件都要放在/root
目录下,并且在/root
目录下建立rclone_tmp
文件夹,使用mkdir /root/rclone_tmp
完成。[/scode]
[scode type="blue"]脚本一共分为3部分[/scode]find_m3u8
文件夹用于获取下载地址并将地址传给资源下载机,下载机可以是本机也可是远程主机。dl_m3u8
文件夹用于下载获取到的地址。up.sh
用于上传下载的资源至网盘,rclone
绑定网盘请自行搜索。
find_m3u8
文件夹解释
start.sh
地址获取脚本启动文件;find.sh
查找录制资源地址脚本,并将地址传递给下载机;list.txt
你要下载资源的网页地址,每行一条。
[scode type="yellow"]find.sh
中要修改远程主机的地址和端口,list.txt
文件不能以/
结尾[/scode]
dl_m3u8
文件夹解释
start_dl.sh
下载脚本启动文件;dl_m3u8.sh
资源下载脚本文件;check.sh
进程检测并视情定时重启。
up.sh
脚本解释
[scode type="blue"]该脚本用于将下载的资源上传到网盘,rclone
绑定网盘请自行搜索[/scode]
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »