利用虚拟机、aria2、nginx、AriaNg、FFmpeg等下载B站视频的方案

2021年6月8日 0 By Majjcom

利用虚拟机、aria2、nginx、AriaNg、FFmpeg等下载B站视频的方案

首先,可在设备上部署一个轻量的Linux服务器当作下载器使用,不需要提供过多内存和储存,可以尝试挂载物理磁盘(可能会比较危险},建议使用虚拟磁盘。

为虚拟机创建好磁盘后,选择安装系统,这里选择安装Centos 8,为了更加方便的操作,可以使用Putty ssh连接,也可以直接为它安装上宝塔面板

接下来部署服务器,如果使用宝塔,可以部署一下nginxftpd,用于内网传输文件(否则每次下载完文件都要关闭服务器太麻烦了)

随后编译安装aria2

下载源码后,解压进入目录,然后运行:

./configure --prefix=/usr/local/aria2

make && make install

编译完成后,在可执行文件目录将二进制文件创建软连接:

ln aria2c /bin

输入以下指令检查安装:

aria2c --version

安装完成后,在/etc/aria2中创建aria2.conf作为配置文件

具体内容见此:aria2.conf

对此文件进行部分修改后即可

随后在同一目录下创建aria2.session文件用于保存会话

然后,在宝塔面板中使用Supervisor创建aria2的进程守护

具体如下:

路径:/
命令:aria2c --conf-path=/etc/aria2/aria2.conf -D

最后的-D决定是否使用安静模式

然后部署AriaNg,

将文件下载后用nginx创建网站,指向AriaNg

这里aria2的配置就基本结束了

然后配合b站油猴脚本(Tampermonkey)可以对B站的视频进行高速下载

但是,对于DASH格式文件,还需要用到FFmpeg对mp4和m4a进行合并

安装FFmpeg很简单,但是很费时,编译安装方法基本与安装aria2相似,这里不过多描述

安装后,合并文件,需执行以下命令:

ffmpeg -i a.mp4 -i a.m4a -vcodec copy -acodec copy output.mp4

此处可以利用Python进行批量操作

这样,B站视频的下载就可以轻松搞定了

当然,你也可以用Python事先自动化

——Majjcom