这个工具是用来取代youtube-dl的,因为youtube-dl基本上不可用了
yt-dlp不仅可以用来下载youtube视频,bilibili等流媒体网站都是可以使用的。
本文章内容都是关于yt-dlp在windows命令行中使用。
项目地址:https://github.com/yt-dlp/yt-dlp
安装yt-dlp
1. 安装Python和ffmpeg
- Python:安装时把pip和添加系统环境变量都选上
- ffmpeg:下载好exe文件,把目录添加到系统环境变量就行
2. 安装yt-dlp
pip install yt-dlp -i https://pypi.tuna.tsinghua.edu.cn/simple
如果不想用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 --list-formats https://youtu.be/sKrT6mBrosc
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://www.bilibili.com/video/BV1He411o7JF/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source=42441ea049f032747fdfaff133dedf01" --cookies "..\cookies.txt"
cookies.txt内容
# Netscape HTTP Cookie File
# This file is generated by yt-dlp. Do not edit.
.bilibili.com TRUE / FALSE 1729839637 b_nut 1698303637
.bilibili.com TRUE / FALSE 1784703637 buvid3 1164F63B-3E15-A3AA-A41D-06186037327F37789infoc
.bilibili.com TRUE / FALSE 0 sid gk7cf4gg
6.指定文件名下载(用-o参数)