简介

yt-dlp 是 youtube-dl 的一个分支,是一款强大的命令行视频下载工具,支持从YouTube、B站等1000多个网站下载视频和音频。

下载地址

https://github.com/yt-dlp/yt-dlp/releases

选择windows版本 exe格式

安装FFmpeg

点此跳转另一篇文章

基本使用方法

我的存放路径为 D:\工具\yt-dlp\yt-dlp.exe

命令格式

yt-dlp [视频URL]

常用命令

#指定格式和质量
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" [URL]

#仅下载音频
yt-dlp -x --audio-format mp3 [URL]

#下载播放列表
yt-dlp -i [播放列表URL]

#下载字幕
yt-dlp --write-subs --sub-langs en,zh [URL]

#批量下载
#创建一个文本文件 urls.txt,每行一个URL,然后运行
yt-dlp -a urls.txt

下载演示

测试url:https://www.bilibili.com/video/BV1vaT9z1E4S

yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" https://www.bilibili.com/video/BV1vaT9z1E4S

由于我没有B站大会员,下载质量最好的就是1080p低码率

也可以输入yt-dlp -F [url]查看视频内容流,再指定下载并合成

可以看到指定下载最好质量的情况下,视频流ID为f100026,并非最高码率,是因为编码是AV1,压缩率更好,故被默认使用了,单它的兼容性非常差,因为是新编码格式,支持的设备较少

指定流ID下载:视频流ID选100050、音频流ID选30280、强制输出为mp4

yt-dlp -f 100050+30280 --merge-output-format mp4 https://www.bilibili.com/video/BV1vaT9z1E4S/

potplayer导出mediainfo

D:\工具\yt-dlp\人类怎么能在这里生存?挑战在北极因纽特人的冰屋里过一夜|4K杜比视界 [BV1vaT9z1E4S].mp4
General
Complete name                  : D:\工具\yt-dlp\人类怎么能在这里生存?挑战在北极因纽特人的冰屋里过一夜|4K杜比视界 [BV1vaT9z1E4S].mp4
Format                         : MPEG-4
Format profile                 : Base Media
Codec ID                       : isom (isom/iso2/avc1/mp41)
File size                      : 273 MiB
Duration                       : 20 min 32 s
Overall bit rate               : 1 856 kb/s
Frame rate                     : 29.970 FPS
Description                    : Packed by Bilibili XCoder v2.0.2
Writing application            : Lavf61.7.100

Video
ID                             : 1
Format                         : AVC
Format/Info                    : Advanced Video Codec
Format profile                 : High@L5
Format settings                : CABAC / 7 Ref Frames
Format settings, CABAC         : Yes
Format settings, Reference fra : 7 frames
Codec ID                       : avc1
Codec ID/Info                  : Advanced Video Coding
Duration                       : 20 min 31 s
Source duration                : 20 min 31 s
Bit rate                       : 1 664 kb/s
Maximum bit rate               : 2 665 kb/s
Width                          : 1 920 pixels
Height                         : 1 080 pixels
Display aspect ratio           : 16:9
Frame rate mode                : Variable
Frame rate                     : 29.970 (29970/1000) FPS
Minimum frame rate             : 29.412 FPS
Maximum frame rate             : 30.303 FPS
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 8 bits
Scan type                      : Progressive
Bits/(Pixel*Frame)             : 0.027
Stream size                    : 244 MiB (90%)
Source stream size             : 244 MiB (90%)
Color range                    : Limited
Color primaries                : BT.709
Transfer characteristics       : BT.709
Matrix coefficients            : BT.709
mdhd_Duration                  : 1231964
Codec configuration box        : avcC

Audio
ID                             : 2
Format                         : AAC LC
Format/Info                    : Advanced Audio Codec Low Complexity
Codec ID                       : mp4a-40-2
Duration                       : 20 min 32 s
Bit rate mode                  : Constant
Bit rate                       : 182 kb/s
Channel(s)                     : 2 channels
Channel layout                 : L R
Sampling rate                  : 48.0 kHz
Frame rate                     : 46.875 FPS (1024 SPF)
Compression mode               : Lossy
Stream size                    : 26.8 MiB (10%)
Default                        : Yes
Alternate group                : 1

4K高分辨率下载

用参数读取Cookies(借了下别人的会员)

增加参数--cookies-from-browser 支持直接从浏览器读取Cookies(Chrome/Firefox/Edge等)

最新消息:直接抓取浏览器cookies报错

ERROR: Could not copy Chrome cookie database. See https://github.com/yt-dlp/yt-dlp/issues/7271 for more info

yt-dlp --cookies-from-browser chrome -F https://www.bilibili.com/video/BV1vaT9z1E4S/

用插件下载Cookies

yt-dlp只支持Netscape格式的cookies,可选插件推荐

Chrome浏览器的Get cookies.txt LOCALLY

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

Edge浏览器的Cookie-Editor

https://microsoftedge.microsoft.com/addons/detail/cookieeditor/neaplmfkghagebokkhpjpoebhdledlfi?hl=zh-CN

用谷歌浏览器安装好插件后,登录B站,随便播放一个视频,然后按图示方法导出cookies.txt

使用 -cookies [/cookies.txt路径] 参数读取url信息,可以看到4K高码视频流和DDP高码率音频了

yt-dlp --cookies "D:\工具\yt-dlp\cookies.txt" -F https://www.bilibili.com/video/BV1vaT9z1E4S/

下载命令

yt-dlp --cookies "D:\工具\yt-dlp\cookies.txt" -f 视频流ID+音频流ID https://www.bilibili.com/video/BV1vaT9z1E4S