前言

如本文短链接 youtube-dl 所代表的一样(后更换为 video-download 更全面),本篇文章大幅度介绍的是一款专门下载音视频的工具——youtube-dl,同时也整理这个工具的使用经验并梳理成文。

介绍

youtube-dl 是一个由 python 开发的命令行工具,使用命令行指令下载视频网站上的视频。

项目地址:youtube-dl

安装

Windows

因为自己使用的是Windows,推荐使用 GitHub 上 youtube-dl 的安装方案。

1)下载 youtube-dl.exe 文件到本地。

2)下载对应的 ffmpeg 包,在 官网 上下载对应的,解压缩后将 youtube-dl.exe 放到 ffmpeg 的 bin 目录下。

3)配置环境变量中系统环境变量到 ffmpeg 的 bin 目录。

使用

因为是命令行操作,下列指令仅为自己经常使用的指令,详细指令请参考 GitHub

下载指令

这边建议在 D:\Application\ffmpeg\bin 安装目录下进行下载。

1)打开 Windows 上 常用的 Windows Terminal,然后输入以下指令。

1
cd D:\Application\ffmpeg\bin 

更新youtube-dl 为最新版本,需要使用pip,请自行安装pip。

1
pip install --upgrade youtube-dl

简单使用:youtube-dl + 视频地址,默认以最高画质下载。

1
2
youtube-dl https://www.youtube.com/watch?v=zATthEbt4D4
youtube-dl https://www.bilibili.com/video/BV1p441177o9

复杂使用:youtube-dl + 参数1 + 参数2 + ··· + 视频地址

例如

-g 这个参数是获取这个视频的真实下载地址,但不下载视频

1
youtube-dl -g https://www.bilibili.com/video/BV1p441177o9

-F 这个参数是列举这个视频的所有分辨率

1
2
youtube-dl -F https://www.bilibili.com/video/BV1p441177o9
youtube-dl -F https://www.youtube.com/watch?v=zATthEbt4D4

执行下方命令下载你需要的质量视频(默认下载体积太大,下载需要音视频一起下载)

注意:一定要遵循视频在前音频在后的原则。

1
youtube-dl -f 399+251 https://www.youtube.com/watch?v=zATthEbt4D4

当然也可以使用以下指令下载最好的音视频

1
youtube-dl -f bestvideo+bestaudio https://www.youtube.com/watch?v=zATthEbt4D4

当需要更多参数时,使用以下指令可以得到更多帮助

1
youtube-dl -h

以下为一个成熟指令,附带将视频转换成mp4格式

1
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4  https://www.youtube.com/watch?v=zATthEbt4D4

输出指令

如果你想指定下载输出文件的名字(有时对批量下载的人来说十分重要),你可以使用-o

1
2
# 下载至文件:你要的名字 (无后缀)
youtube-dl ' https://www.youtube.com/watch?v=CrXaPA-uhKc' -o '你要的名字'

当然,请注意你选择的名字的拓展名,youtube-dl 并不会自动修改你所指定的后缀名。youtube-dl 同时也支持 OUTPUT TEMPLATE,你可以利用 %(title)s等参数(参考 Python 的字符串形式)将文件命名,例如:

1
2
3
# 下载至文件:【派大星】有何不可.mp4
youtube-dl 'https://www.bilibili.com/video/BV1AV411S7yc' -o '%(title)s.%(ext)s'
# 其中 %(title)s.%(ext)s 可以换成 【派大星】有何不可.mp4

代理下载

默认使用 youtube-dl 请使用全局代理,毕竟这样,才能非常方便地下载外网上的音视频,不是使用 –proxy 指令。

当然,如果你使用的不是 SSR,而是其他的代理软件,你可以设置对应的端口进行下载。

1
2
# 成功通过 SSR 在国内下载某不存在网站的视频
youtube-dl --proxy 127.0.0.1:1080 'https://www.youtube.com/watch?v=T4SimnaiktU'

其他下载

国内也有一个类似 youtube-dl 的项目:you-get

和前者类似,也是一个命令行下载工具,不过其对国内支持非常友好,支持更多的国内网站。

详情使用可以参考这个官方文档:

下载使用 同样还是在 D:\Application\ffmpeg\bin 中使用 Windows Terminal

1
you-get -i 'https://www.youtube.com/watch?v=zATthEbt4D4'

找到自己喜欢的格式,然后下载即可

1
you-get --itag=299 https://www.youtube.com/watch?v=zATthEbt4D4

后续

使用 you-get 下载哔哩哔哩视频还有字幕,非常不错。