开源工具YT-DLP下载YouTube视频
1 简介
工具yt-dlp是github上另一个下载工具youtube-dlc的一个分支,后者现已不活跃,而前者在其基础上添加了额外的特性和修复。yt-dlp支持多个网站的下载,本文只涉及视频网站YouTube(以下简称YT)。
更多用法可以在其项目的github主页查看,参数还是比较丰富的。下文也只是涉及了非常基础的功能,并对站内其它类似的文章或视频也作了一些补充。
2 获取途径
在该项目的release中可以下载最新版本,项目的github地址请自行搜索。项目采用Python编写,Windows用户直接下载二进制文件yt-dlp.exe即可(Win7 SP1+以上版本)。
除了该工具外,还要准备FFMpeg,用于合并下载得到的音频和视频文件。FFMpeg也是开源工具,自行搜索下载。
最基础的一点,你要知道Windows下怎么使用命令行工具,即通过cmd或者powershell,具体方法请自行搜索。
3 方法
这里以下载高岭抚子的《生而可爱我很抱歉》MV为例,介绍一下yt-dlp下载YT视频的基本方法。
在浏览器中复制MV的URL地址https://www.youtube.com/watch?v=MPywGQPLJPo,复制到命令行中,这里我用了VSCode的Terminal,本质还是Powershell。第一步要查看有哪些格式供我们下载:

从结果列表中可以找到各种分辨率、扩展名和编码方式等,这里我想下载1920x1080的mp4(ID为137)视频和129kbps的m4a音频(ID为140):
参数-f指定格式,参数的值为待下载文件的ID,即137和140。参数-v显示下载过程详情,在下载前会打印解析得到的文件下载地址,即在有“[debug] Invoking http downloader on”字样的行之中。如果不想用yt-dlp内嵌的下载工具,可以将该地址复制后用其它工具下载。
下载完成后用FFMpeg合并:
参数-i为输入文件,-codec为编码,这里直接copy输入文件的编码即可。
上文给出的是人工筛选下载格式的示例,而yt-dlp也支持自动筛选的参数,比较复杂,项目Readme提供了一些示例,比如选择最佳的mp4格式文件:
但结果有时可能不尽如人意,如果是个人偶尔下载喜欢的视频,人工筛选格式即可。如果有批量下载需求,还请自行研究如何编写格式选择参数。