yt-dlp使用教程

很久没用youtube-dl这个工具了,然后在油管上看到想下载的视频,发现下载速度超慢,只有几十KB最多。

于是,搜一下,发现可能是被限速了吧。

找到了这个 yt-dlp 的代替工具。
项目地址:https://github.com/yt-dlp/yt-dlp

这个下载,就看个人网速了,因为我晚上下载有时候1M/s、几百K/s都有,白天下载有时候10几M/s、20~30M/s来回跳,几M/s都有。

发现它就是从youtube-dl fork过来的,就理解为是从youtube-dl复制过来的,做了一些修复和添加了一些东西。

安装yt-dlp

1.安装Python和ffmpeg

是从youtube-dl复制过来的,所以,原来如果有使用youtube-dl的话,就简单了,原来都已经安装过了。就直接安装yt-dlp就可以了,用法都一样。

安装:

  • Python:安装时把pip和添加系统环境变量都选上
  • ffmpeg:下载好exe文件,把目录添加到系统环境变量就行

2.安装yt-dlp

1
pip install yt-dlp

如果不想用pip安装的,就去项目地址下载exe版本:
https://github.com/yt-dlp/yt-dlp#release-files

然后把yt-dlp.exe 也一样放到系统环境的目录下就行。比如就放到ffmpeg的bin目录下,跟ffmpeg.exe和youtube-dl.exe放一起就行。

下载视频

支持下载哪些网站,项目文档上也有:
https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md

我这里就有下载油管的视频举例。

比如我想下载这个视频:https://www.youtube.com/watch?v=kNU2WCHVVBk
视频格式为:https://www.youtube.com/watch?v=*************

1.直接下载

1
2
3
4
5
# 默认格式,高于720P的格式一般是 webm 格式
yt-dlp https://www.youtube.com/watch?v=kNU2WCHVVBk

# 下载视频转换成mp4(用--merge-output-format参数)
yt-dlp --merge-output-format mp4 https://www.youtube.com/watch?v=kNU2WCHVVBk

2.查看视频所有分辨率

跟用 youtube-dl命令一样,先用 -F参数查看有哪些分辨率。

1
yt-dlp -F https://www.youtube.com/watch?v=kNU2WCHVVBk

结果跟用 youtube-dl命令的差不多,标题行含义: > ID:文件ID > EXT:格式 > RESOLUTION:分辨率 > FPS:视频的帧率 > FILESIZE:文件大小 > VCODEC:audio only表示仅音频 > ACODEC:video only表示仅视频(没有音频);像mp4a.40.2(720p)就直接包含了音频

3.下载指定分辨率

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 1.只下载音频
# 找m4a格式,列表越靠后越清晰。比如ID:140 | EXT:m4a | audio only
yt-dlp -f140 https://www.youtube.com/watch?v=kNU2WCHVVBk

# 2.下载音频转换成mp3(加上-x --audio-format参数)
yt-dlp -f140 -x --audio-format mp3 https://www.youtube.com/watch?v=kNU2WCHVVBk

# 3.下载视频(带音频)ID:22 | EXT:mp4 | 1280*720
yt-dlp -f22 https://www.youtube.com/watch?v=kNU2WCHVVBk

# 4.下载指定分辨率视频+音频(为了方便就直接下载mp4格式了)
# 1080及以上分辨率的音频和视频是分开的,所以一般会音频和视频一起下载
yt-dlp -f299+140 https://www.youtube.com/watch?v=kNU2WCHVVBk

# 5.(通用)下载最佳mp4视频+最佳m4a音频格式并合成mp4
yt-dlp -f 'bv[ext=mp4]+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 https://www.youtube.com/watch?v=kNU2WCHVVBk

# 6.指定文件名下载(用-o参数)
# 默认下载的文件格式是:title+空格+[id].格式,比如***** [kNU2WCHVVBk].mp4
# 文件名只要标题,不要id,加上 -o '%(title)s.mp4'
yt-dlp -f 'bv[ext=mp4]+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 https://www.youtube.com/watch?v=kNU2WCHVVBk -o '%(title)s.mp4'

最方便直接用,可以直接用最后一种通用的下载最佳视频的方式。

5.下载播放列表所有视频

1
yt-dlp https://www.youtube.com/playlist?list=**********

yt-dlp使用教程
https://blog.quickso.cn/2023/12/16/yt-dlp使用教程/
作者
木子欢儿
发布于
2023年12月16日
许可协议