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=**********

6.yt-dlp无法使用–cookies-from-browser解决方法

安装扩展插件Get cookies.txt LOCALLY:

打开Chrome,输入网址

https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc?pli=1

之后点击安装扩展。

安装后可以将插件固定在浏览器显示中

使用插件手动获取youtube的相关cookies:

打开youtube,点击Export,就可以成功导出并下载与youtube相关的cookies文件。

image-20250107214027574

使用cookies文件下载相关视频:

下载好cookies文件后,将原代码中的–cookies-from-browser chrome替换成–cookies [下载的cookies所在的文件路径]

1
yt-dlp --cookies /root/www.youtube.com_cookies.txt https://www.youtube.com/watch?v=XXX

7.常用命令总结

  1. 下载视频:

    1
    yt-dlp https://www.youtube.com/watch?v=example
  2. 下载音频:

    1
    yt-dlp -x --audio-format mp3 https://www.youtube.com/watch?v=example
  3. 下载播放列表:

    1
    yt-dlp https://www.youtube.com/playlist?list=example
  4. 选择视频格式:

    1
    yt-dlp -f best https://www.youtube.com/watch?v=example
  5. 保存到特定文件夹:

    1
    yt-dlp -o '/path/to/directory/%(title)s.%(ext)s' https://www.youtube.com/watch?v=example
  6. 限制下载速度:

    1
    yt-dlp --rate-limit 500K https://www.youtube.com/watch?v=example
  7. 下载字幕:

    1
    yt-dlp --write-sub --sub-lang en https://www.youtube.com/watch?v=example

yt-dlp 还有更多高级选项,你可以通过运行 yt-dlp --help 来查看详细的帮助文档


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