Sunsea's Blog

使用youtube-dl、ffmpeg、rclone实现分段下载录制并自动上传至网盘

1、使用的工具及实现思路

youtube-dl用来获取直播源地址或者下载地址;
ffmpeg用来下载youtube-dl获取的地址并切片;
rclone用来将下载录制的资源上传至网盘;
screen用来建立多个监控任务;
scp用来在两台服务器间传递数据,非必须。
[scode type="blue"]首先用youtube-dl获取资源的下载录制地址,然后用ffmpeg进行分段下载,最后用rclone上传至自己的网盘。[/scode]

2、方案优点

  1. 对VPS硬盘大小要求较低,可以长时间录制下载;
  2. 可以根据VPS硬盘大小以及同时下载资源的个数自定义ffmpeg分段的时间;
  3. 由于可控制资源下载的大小,从而避免上传过大文件至网盘而出错;
  4. 可以根据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」版。查看和发表评论请点击:完整版 »