yt-dlp是youtube-dlp的一个fork,youtube-dlp曾经也较为活跃,但后来被众多网站屏蔽,于是大家转而在其基础上开发yt-dlp。yt-dlp的github项目地址为:GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloaderA feature-rich command-line audio/video downloader - yt-dlp/yt-dlphttps://github.com/yt-dlp/yt-dlp
以下为相关依赖,需要分别安装:
推荐使用PyPI镜像中的pip包管理器安装:
pip3 install yt-dlp
如果需要升级,可使用以下命令:
# 可使用如下命令升级
yt-dlp --update
# 或者简单的大写字母U
yt-dlp -U
上述是默认升级stable(稳定版),官方额外提供了两种可升级版本nightly(夜间版)和master(主版本)。
# 稳定版,该版本为默认版本,其中的功能成熟完善,完全经过测试
# (如果不是极客编程大佬,推荐普通用户使用该版本)
yt-dlp --update-to stable
# 夜间版,在世界协调时间(UTC)午夜0点左右进行更新,该版本主要是对当前的稳定版打最新补丁
yt-dlp --update-to nightly
# 主版本,正在开发中的下一代稳定版,主版本包含一些创新功能,但也可能出现未经测试的bug
yt-dlp --update-to master
1.最省事的下载默认格式的视频,直接输入“yt-dlp 视频链接”即可。
C:\Users\hp>yt-dlp https://www.bilibili.com/video/BV1jy4y1c7ia/
[BiliBili] Extracting URL: https://www.bilibili.com/video/BV1jy4y1c7ia/
[BiliBili] 1jy4y1c7ia: Downloading webpage
[BiliBili] BV1jy4y1c7ia: Extracting videos in anthology
[BiliBili] 790398302: Extracting chapters
[BiliBili] Format(s) 1080P 高码率, 1080P 高清, 720P 高清 are missing; you have to login or become premium member to download them. Use --cookies-from-browser or --cookies for the authentication. See https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp for how to manually pass cookies
[info] BV1jy4y1c7ia: Downloading 1 format(s): 30033+30280
[download] Destination: 国外街头整蛊路人,他发的传单你敢不接吗 [BV1jy4y1c7ia].f30033.mp4
[download] 100% of 5.41MiB in 00:00:00 at 10.69MiB/s
[download] Destination: 国外街头整蛊路人,他发的传单你敢不接吗 [BV1jy4y1c7ia].f30280.m4a
[download] 100% of 891.47KiB in 00:00:00 at 12.13MiB/s
[Merger] Merging formats into "国外街头整蛊路人,他发的传单你敢不接吗 [BV1jy4y1c7ia].mp4"
Deleting original file 国外街头整蛊路人,他发的传单你敢不接吗 [BV1jy4y1c7ia].f30280.m4a (pass -k to keep)
Deleting original file 国外街头整蛊路人,他发的传单你敢不接吗 [BV1jy4y1c7ia].f30033.mp4 (pass -k to keep)
2.如果需要下载字幕,可以先用“yt-dlp --list-subs 视频链接”查看当前网站的字幕都有什么语言都有什么格式。例如某个youtube视频支持以下字幕:
D:\Desktop\0>yt-dlp --list-subs https://www.youtube.com/wat8EfWlU&t=23s
[youtube] Extracting URL: https://www.youtube.com/watU
[youtube] 8EfW1OCK8lU: Downloading webpage
[youtube] 8EfW1OCK8lU: Downloading ios player API JSON
[youtube] 8EfW1OCK8lU: Downloading player 389
[youtube] 8EfW1OCK8lU: Downloading m3u8 information
[info] Available automatic captions for 8EfW:
Language Name Formats
zh-Hans Chinese (Simplified), Chinese (Simplified), Chinese (Simplified), Chinese (Simplified), Chinese (Simplified), Chinese (Simplified), unknown vtt, ttml, srv3, srv2, srv1, json3, vtt
en English, English, English, English, English, English, unknown vtt, ttml, srv3, srv2, srv1, json3, vtt
af-zh-Hans Afrikaans from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
ak-zh-Hans Akan from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
sq-zh-Hans Albanian from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
am-zh-Hans Amharic from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
ar-zh-Hans Arabic from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
et-zh-Hans Estonian from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
ee-zh-Hans Ewe from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
fil-zh-Hans Filipino from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
fi-zh-Hans Finnish from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
fr-zh-Hans French from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
gl-zh-Hans Galician from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
lg-zh-Hans Ganda from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
ka-zh-Hans Georgian from Chinese (Simplified) vtt, ttml, srv3, srv2, srv1, json3
然后你就可以选择需要的语言或格式进行下载,输入“yt-dlp --write-subs en --sub-format json3 视频链接”,这时就会把视频和字幕一起下载。
D:\Desktop\0>yt-dlp --write-subs en --sub-format json3 https://www.youtube.com/watch?v=8Edfh
[generic] Extracting URL: en
[youtube] Extracting URL: https://www.youtube.com/watch?v=8EfhetedlU
[youtube] 8EfW1OCK8lU: Downloading webpage
[youtube] 8EfW1OCK8lU: Downloading ios player API JSON
[youtube] 8EfW1OCK8lU: Downloading player 38gbwsghc9
[youtube] 8EfW1OCK8lU: Downloading m3u8 information
[info] 8ghygu8lU: Downloading subtitles: en
[info] 8ghygu8lU: Downloading 1 format(s): 625+140
[info] Writing video subtitles to: AUTHENTIC Chinese Street Food.en.json3
[download] Destination: AUTHENTIC Chinese Street Food.en.json3
[download] 100% of 38.71KiB in 00:00:00 at 152.81KiB/s
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 268
[download] Destination: AUTHENTIC Chinese Street Food.f625.mp4
[download] 100% of 1.95GiB in 00:04:10 at 7.98MiB/s
[download] Destination: AUTHENTIC Chinese Street Food.f140.m4a
[download] 100% of 21.28MiB in 00:00:02 at 9.30MiB/s
[Merger] Merging formats into "AUTHENTIC Chinese Street Food.mp4"
Deleting original file AUTHENTIC Chinese Street Food.f625.mp4 (pass -k to keep)
Deleting original file AUTHENTIC Chinese Street Food.f140.m4a (pass -k to keep)