命令行下载 YouTube 视频

引言

哪个男孩不想使用命令行运行一些东西装逼呢。之前有所了解 youtube-dl,但看着过于复杂没去使用,今日尝试使用发现甚是好用啊!

环境

安装 Python3.7+

直接到 Python 官网 下载安装即可,安装时勾选Add Python x.x to PATH

安装 yt-dlp

yt-dlp 基于 youtube-dl 修改,实测下载速度较快

下载

进入 releases 下载 yt-dlp.exe

配置

将下载的文件放入一固定位置,打开 我的电脑属性,进入 高级系统设置-环境变量-系统变量,选中 Path,点击编辑,新窗口点击新建,将 yt-dlp.exe 文件所在路径输入

然后连点三个 确定 将所有窗口关闭

测试

按下 Win+R 输入 cmd,回车

在 cmd 中输入 yt-dlp,若出现 Usage: yt-dlp [OPTIONS] URL [URL...] 则代表配置成功

更新

cmd 中输入 yt-dlp -U 即可

下载视频

直接在 cmd 中输入 yt-dlp+空格+YouTube 视频链接 即可开始下载

默认下载是 720P,保存位置在 C:/Users/%UserName%/

修改下载保存位置

C:\Users\%UserName%\AppData\Roaming 新建一个文件夹并命名为 yt-dlp,然后进入新建的文件夹内,新建文件 config.txt

在文件内输入以下代码

-o 'C:/Users/%UserName%/Downloads/Video/%(title)s.%(ext)s'

其中 C:/Users/%UserName%/Downloads/Video/ 为下载目录

%(title)s.%(ext)s 为保存文件名形式,此处为视频标题.视频拓展名

下载 1080P

因为 1080P 及以上视频是音视频分离的,所以需要先下载 ffmpeg

ffmpeg

进入 官网 ,左下角选择系统类型,然后选择下载

我选择的是 Releases · BtbN/FFmpeg-Builds ,下载 ffmpeg-n5.0-latest-win64-gpl-5.0.zip

然后放到一个固定文件夹并将 bin 文件目录放到系统变量里

测试

打开 cmd,输入 ffmpeg -version,若出现版本号则配置成功

查询命令

输入 yt-dlp -D [URL] 即可查看当前视频的全部形式(仅查询,不下载)

下载命令

输入 yt-dlp -f [ID] [URL] 以下载指定形式视频,可以使用 [ID]+[ID] 组合以下载视频和音频,即 yt-dlp -f [ID]+[ID] [URL],下载完成后会自动合并

注:下载最高画质与音频:-f "bv+ba/b"

调用 aria2

在下载命令后加入 --external-downloader aria2c --external-downloader-args "-x 16 -k 1M" 即可

下载字幕

outube-dl --write-sub [url] // 这样会下载一个 vtt 格式的英文字幕和 mkv 格式的 1080p 视频下来

youtube-dl --write-sub --skip-download [url] // 下载单独的 vtt 字幕文件,而不会下载视频

youtube-dl --write-sub --all-subs [url] // 下载所有语言的字幕 (如果有的话)

youtube-dl --write-auto-sub [url] // 下载自动生成的字幕 (YouTube only)

下载视频列表

youtube-dl -f [format code] [palylist_url] // 这种方式可以下载制定清晰度的 mp4 视频

youtube-dl [playlist_url] // 下载视频列表,这种方式下载的视频可能是 mkv 格式或者 webm 格式

youtube-dl -cit [playlist_url] // 下载视频列表,这种方式下载的视频可能是 mkv 格式或者 webm 格式

youtube-dl --yes-playlist [url] // 当链接为视频列表,则下载该列表视频,跟上面的一样,可能是 mkv 或者 webm 格式

可视化

Releases · jely2002/youtube-dl-gui

参考文章

yt-dlp 的 Github 页面

【备份】youtube-dl 使用介绍 - 简书

一文搞懂 Windows 系统【目录变量】的相关知识_黑就黑到底的博客-CSDN博客_username变量

This post is licensed under CC BY-NC-SA 4.0 by the author.