显然 youtube-dl 是一款下载 Youtube 视频的工具,不过它是命令行下的工具,采用 Python 开发。另外,它具备跨平台支持,所有 Windows/Mac OS X/Linux 都可以使用。

项目仓库:https://github.com/ytdl-org/youtube-dl

安装

这里以 Linux 为例,采用 PIP 安装。

$ pip install youtube-dl

更新时添加一个 --upgrade 参数即可。

使用

最简单的用法就是命令后面直接添加 URL,会自动下载视频的最高质量版本,文件格式默认是谷歌自家的 webm。这里有个前提就是你的网络可以畅通无阻的访问 Youtube。

$ youtube-dl https://www.youtube.com/watch?v=ABCDEFGXXXXXX

列出支持的网站

$ youtube-dl --list-extractors

查看所有可下载的文件格式

$ youtube-dl -F https://www.youtube.com/watch?v=ABCDEFGXXXXXX

下载指定格式(代码)的文件

$ youtube-dl -f 136 https://www.youtube.com/watch?v=ABCDEFGXXXXXX

配置文件

全局配置文件 /etc/youtube-dl.conf,用户配置文件 ~/.config/youtube-dl/config,程序会自动从上述位置读取配置,根据需要创建一个即可。

配置文件中定义规则与命令行中保持一致,一行一个参数,# 号开头的行为注释。

例如:

$ cat .config/youtube-dl/config 
# 配置代理
--proxy socks://127.0.0.1:1080

# 保存路径及文件名规则
-o ~/视频/youtube-dl/%(title)s.%(ext)s

用法补充

很多时候,在 youtube 上的视频会分为音频文件和视频文件,往往并没有提供指定清晰度的带音频的视频文件。这种情况可以通过以下方式给定参数分别下载特定质量的音频和视频文件,然后自动合并成一个所需格式的视频文件:

$ youtube-dl -f 'bestvideo[height=1080,ext=mp4]+bestaudio[ext=m4a]' --merge-output-format mp4 

以上命令将会下载 mp4 格式,清晰度为1080p的视频文件和质量最好的m4a格式的音频文件,最后将二者合并成 mp4 文件。