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

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

youtube-dl用来获取直播源地址或者下载地址;
ffmpeg用来下载youtube-dl获取的地址并切片;
rclone用来将下载录制的资源上传至网盘;
screen用来建立多个监控任务;
scp用来在两台服务器间传递数据,非必须。

首先用youtube-dl获取资源的下载录制地址,然后用ffmpeg进行分段下载,最后用rclone上传至自己的网盘。

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的使用可以参见往期文章

安装rclone

curl https://rclone.org/install.sh | sudo bash

记得定期执行该命令以更新rclone至最新版

安装screen

#Debian/Ubuntu
apt-get install screen
#Centos
yum install screen

3.2下载脚本


密码为:sunsea.im

4、脚本使用方法

目前脚本基于双机实现,一台机器用于获取资源下载地址(find_m3u8),另一台机器接收下载地址后进行资源下载并上传至网盘(dl_m3u8+up.sh).

双机联动下载时一定要,提前设置scp的自动登录,设置方法见往期文章。


find_m3u8文件夹、dl_m3u8文件夹以及up.sh文件都要放在/root目录下,并且在/root目录下建立rclone_tmp文件夹,使用mkdir /root/rclone_tmp完成。

脚本一共分为3部分

find_m3u8文件夹用于获取下载地址并将地址传给资源下载机,下载机可以是本机也可是远程主机。
dl_m3u8文件夹用于下载获取到的地址。
up.sh用于上传下载的资源至网盘,rclone绑定网盘请自行搜索。

find_m3u8文件夹解释

start.sh地址获取脚本启动文件;
find.sh查找录制资源地址脚本,并将地址传递给下载机;
list.txt你要下载资源的网页地址,每行一条。

find.sh中要修改远程主机的地址和端口,list.txt文件不能以/结尾

dl_m3u8文件夹解释

start_dl.sh下载脚本启动文件;
dl_m3u8.sh资源下载脚本文件;
check.sh进程检测并视情定时重启。

up.sh脚本解释

该脚本用于将下载的资源上传到网盘,rclone绑定网盘请自行搜索

本文作者:Author:     文章标题:使用youtube-dl、ffmpeg、rclone实现分段下载录制并自动上传至网盘
本文地址:https://sunsea.im/youtube-dl-ffmpeg-rclone-auto-upload-netdisc.html     
版权说明:若无注明,本文皆为“Sunsea's Blog”原创,转载请保留文章出处。
Last modification:November 6th, 2019 at 04:57 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment