之前用you-get、youtube-dl下载油管视频都很慢,只有几十KB最多。
于是网上找到了这个 yt-dlp 的代替工具。
项目地址:https://github.com/yt-dlp/yt-dlp
安装yt-dlp
1. 安装Python和ffmpeg
- Python:安装时把pip和添加系统环境变量都选上
- ffmpeg:下载好exe文件,把目录添加到系统环境变量就行
2. 安装yt-dlp
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://youtu.be/sKrT6mBrosc
1. 直接下载
默认格式,高于720P的格式一般是 webm 格式
yt-dlp https://youtu.be/sKrT6mBrosc
下载视频转换成mp4(用--merge-output-format参数)
yt-dlp --merge-output-format mp4 https://youtu.be/sKrT6mBrosc
2. 查看视频所有分辨率
跟用 youtube-dl命令一样,先用-F
参数查看有哪些分辨率。
yt-dlp -F https://youtu.be/sKrT6mBrosc

结果跟用 youtube-dl命令的差不多,标题行含义: > ID:文件ID > EXT:格式 > RESOLUTION:分辨率 > FPS:视频的帧率 > FILESIZE:文件大小 > VCODEC:audio only表示仅音频 > ACODEC:video only表示仅视频(没有音频);像mp4a.40.2(720p)就直接包含了音频
3. 下载指定分辨率
1.只下载音频
找m4a格式,列表越靠后越清晰。比如ID:140 | EXT:m4a | audio only
yt-dlp -f140 https://youtu.be/sKrT6mBrosc
2.下载音频转换成mp3(加上-x --audio-format参数)
yt-dlp -f140 -x --audio-format mp3 https://youtu.be/sKrT6mBrosc
3.下载视频(带音频)ID:22 | EXT:mp4 | 1280*720
yt-dlp -f22 https://youtu.be/sKrT6mBrosc
4.下载指定分辨率视频+音频(为了方便就直接下载mp4格式了)
1080及以上分辨率的音频和视频是分开的,所以一般会音频和视频一起下载
yt-dlp -f299+140 https://youtu.be/sKrT6mBrosc
5.(通用)下载最佳mp4视频+最佳m4a音频格式并合成mp4
yt-dlp -f 'bv[ext=mp4]+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 https://youtu.be/sKrT6mBrosc
6.指定文件名下载(用-o参数)
默认下载的文件格式是:title+空格+[id].格式,比如* [sKrT6mBrosc].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=sKrT6mBrosc -o '%(title)s.mp4'
最方便直接用,可以直接用最后一种通用的下载最佳视频的方式。
4. 下载播放列表所有视频
yt-dlp https://www.youtube.com/playlist?list=**
下载YouTube 4K高清视频:
yt-dlp -f 'bestvideo[height<=2160]+bestaudio/best[height<=2160]' 视频链接