本文发布于数年前,其内容有可能已经过时。此外,本文含有部分曾经存储于第三方、现已无法访问的图片,请留意。

一篇繁杂的教程,让你快速上手 you-get 类视频下载程序。

写在前面

以下是本文核心内容:

apt update
apt install python3 python3-pip ffmpeg screen
pip3 install --upgrade you-get ykdl youtube-dl
you-get https://youtube.com/playlist/xxx
screen
python3 -m http.server

明白这是什么的可以直接复制粘贴;本文终结。以下正文:


挺久以前写过一篇含有 you-get, youtube-dlykdl 三个常用命令行视频下载软件在 Windows 上安装教程的博文;很多阅读了的人都觉得太繁琐了,安装不易。当时并没有想到(似乎也不知道)同样的事情是可以用更为简单的方式完成的。这就需要提到我们今天的主角:Ubuntu 系统(或者任何相似的 Linux 系系统,例如 Debian)。

拥有一个 Ubuntu 系统

Ubuntu 是完全开源免费的,基于 Debian 的 Linux 发行版,由英国的 Canonical 公司开发。Ubuntu Server 是 Ubuntu 系统的分支,仅包含命令行页面。 初识 Ubuntu,是在 Steam 的下载页面上。这个页面如今已经没有了,因为在一次 UI 更新中(Steam Chat),Steam 重新制作了他们的下载页面。但是通过网页时光机,我们还是能找到这一段文字。 后来有了自己的服务器,一直在用 CentOS 的我禁不住本站友链 - 樱花庄的白猫的博主 - Mashiro 的疯狂安利,于某一次重装服务器的时候毅然决然选择了尝试 Ubuntu Server。 再后来发现,Ubuntu 的生态远比 CentOS 成熟,而对于操作系统的维护,以及其本身的精致程度,都远超 CentOS。虽然偶尔能听到 CentOS 远比 Ubuntu 稳定的观点,但是本站这样小门小户的,似乎也不需要考虑什么稳定性(笑)。能用,够用,好用,就好了。 感叹先放一边,我们看看如何拥有一个 Ubuntu 系统。方式大致有三种:使用虚拟机安装,WSL(Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统)以及一台 Linux 服务器。

虚拟机安装 Ubuntu

首先我们需要一个虚拟机软件。以 Windows 为例,最常见的虚拟机软件是 VMware Workstation,在 macOS 上则为 VMware Fusion。当然,有一些其他的选择,比如免费的 VirtualBox。 截止至 2020.05.13,Ubuntu 最新的 LTS(Long-term Support,长期支持)版本是 20.04 Focal Fossa,官方下载地址是这里。 由于可能会分配到国外的下载节点(镜像),可以使用阿里云的下载源代替:https://mirrors.aliyun.com/ubuntu-releases/20.04/ubuntu-20.04-live-server-amd64.iso。 至于安装,这里有一篇来自 CSDN 的教程:https://blog.csdn.net/github_38336924/article/details/82427252,可以作为参考。过程就不再赘述。

WSL 安装 Ubuntu

WSL 仅在版本 1607 之后的 64 位版本的 Windows 10 或者 Windows Server 2019 中可用;如果达到系统要求,你可以参考这篇来自微软的官方教程以使用 WSL 安装 Ubuntu Server:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10。 教程里并没有列出 Ubuntu 的 20.04 版本,你可以在 Windows Store 的这里:https://www.microsoft.com/zh-cn/p/ubuntu-2004-lts/9n6svws3rx71 找到它;默认的 18.04 Bionic Beaver 版本也能用。 如果你想使用本地机器(虚拟机,WSL)下载国外视频,你可能需要全局魔法;可能可以通过 SStap 实现。

在 Linux 服务器上使用 Ubuntu

除非你拥有物理服务器,你需要向各类云服务厂商租用一台。除非你只打算使用服务器来下载国内的视频,并且能够忍受较低的服务器带宽(1-20 Mbps 对比几乎人均 1 Gbps 的国外服务器),你应当考虑国外的服务器。 对于最基础的 1C1G (1个 CPU 核心,1G 运行内存)的服务器配置,价格一般为 $3 - 5 (合 21 - 35 人民币)每月,并且有一部分支持按小时计费。 说到服务器,就免不了老生常谈,提及一些常见、简单易用的服务器厂商(或者叫服务提供者?),也免不了各种引荐链接。下面会对它们进行简单的介绍,以及阐明这里给出的引荐链接的效果。


  • 首当其冲的当然是 Vultr。
  • Vultr 虽然中国用户众多,造成大陆地区网络连通性大幅下降,且较多 IP 被封锁,依然是对入门玩家而言最有代表性的服务商。部分地区有 IPv6 Only(仅有 IPv6 IP) $2.5 每月 1C 0.5G 的小鸡(例如 Atlanta 亚特兰大和 New York 纽约,而在这些地区可以通过 Bug 开出来同样配置价格但是带有 IPv4 的小鸡,不一定有效)。
  • 在所有地区都有 $5 / 月,1C1G 按小时计费的小鸡可用。对于你家网络对 Vultr 的多个可用去的连通性,可以打开 https://www.msmbps.com 进行测试。延迟越低越好。注意 Vultr 有可能开到被封锁 IP,这个时候就需要删除机器重新创建。会扣 $0.01(因为已经开始使用第一个小时)。
  • 引荐链接方面,使用这个链接注册并绑定支付方式,即可获得有效期一个月的 $100 用来试用服务器。

  • 紧随 Vultr 之后的是 Digital Ocean。
  • 这家有一个好处就是开机超级快,并且可以创建一个 Float IP,相当于能免费赠送多一个 IP,并且就算开出来的默认 IP 被封锁,也可以通过创建 Float IP 多赌一次。个人经验是 DO 家的 IP 并不经常被封锁,且创建小鸡很快(20s)。可用区有伦敦德国阿姆斯特丹新加坡等等,依然建议使用 https://www.msmbps.com 测试。
  • 价格方面最低配置只有 1C1G $5 可选;本站的源服务器就是 Digital Ocean 家的。
  • 引荐链接方面,使用这个链接注册并绑定支付方式,即可获得有效期_两_个月的 $100 用来试用服务器。

还有一些类似的服务商,例如 Linode, BuyVM, Vmhaus, AWS Lightsail 等等。这些个人没使用过 / 深入体验过,就只作列举。Oracle 也提供免费(但是性能很弱)的 1/8C 1G 50G 20T 的服务器,但是需要信用卡申请;如果感兴趣可以自行搜索。 在云服务器上使用 Ubuntu Server 很简单:安装时选择就好了。在创建服务器以后,服务商都会通过直接显示或者电子邮件的方式告知你服务器的预设密码,或者让你直接创建。系统创建的默认密码在登陆后可以使用 passwd 命令重置。

登陆云服务器

创建完小鸡以后,会分配一个公网 IP。这时,我们需要使用 ssh 协议登陆服务器,进行远程操作。 目前,我所使用的方法是直接从 Windows 程序和功能安装 openssh 组件,可以直接在 cmd(命令提示符)内使用。你也可以使用 Windows Terminal 代替 cmd。 对于如何安装 Openssh 组件,你可以参考这篇来自微软的官方教程:https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse 按照上方教程安装完毕后,你可以打开 cmd,使用以下命令进行登陆:

ssh root@{你的IP}

通常在初次连接服务器的时候会询问如下内容:

The authenticity of host ‘167.172.165.188 (167.172.165.188)’ can’t be established. ECDSA key fingerprint is SHA256:v4oQMSS9zrxzbzi2lQNSt6nzm5JNriYlAjkmBeQaPDA. Are you sure you want to continue connecting (yes/no)?

输入 yes 然后回车即可。然后会显示:

root@167.172.165.188‘s password:

输入预设密码(不会显示)回车即可登陆。登陆后可使用 passwd 命令更改密码。

更换 apt 源

如果在国内使用 Ubuntu 系统(服务器 / 系统本身物理在国内),那么你需要对 Ubuntu 系统的包管理器 apt 使用镜像以加快下载速度。 你可以参考这篇来自阿里云的官方教程:https://developer.aliyun.com/mirror/ubuntu 以 Ubuntu 20.04 为例:

cp /etc/apt/sources.list /etc/apt/sources.list.bak 
# 备份
rm /etc/apt/sources.list
vim /etc/apt/sources.list

按下键盘上的 ‘insert’,复制以下内容,右键粘贴

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

然后按 ‘esc’, 输入 ‘:wq’ 保存。

安装 pip3

apt update
apt install python3-pip

即可完成安装。

更换 pip 源

pip 使用 https://files.pythonhosted.org 分发,国内访问较慢。使用以下命令更换 pip 源到阿里云镜像:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

安装 you-get 和其他

因为视频下载时常涉及到视频分片合并,所以 ffmpeg 是必须的。使用以下命令安装:

apt install ffmpeg

然后安装 you-get, ykdl 和 youtube-dl:

pip install --upgrade you-get ykdl youtube-dl

稍等片刻即可完成安装。 使用方式:you-get https://youtube.com/playlist/xxx,其余两个程序同理。

取回文件

使用海外服务器有一个好处:下载海外视频非常快。但是下载了还需要取回到本地;我们可以使用 python3 的 http.server 功能快速解决:

apt update
apt install python3

然后

python3 -m http.server

如果需要长时间下载、取回多个或者大量视频,可以先使用 screen 创建一个会话,这样可以一直保持 http.server 运行:

apt update
apt install screen
screen
python3 -m http.server

在浏览器内打开 http://{你的IP}:8000 即可看到目录下所有文件: 右键选择复制链接地址,即可使用各类多线程下载工具(如 IDMFDM)快速下载