缘起
最近 youtube 对于下载工具进行了限速, youtube-dl
下载仅有几十 k 的速度.
为了突破限制, 找到一个开源工具, yt-dlp. 不限速 且 语法与 youtube-dl
相似. 本文主要介绍其用法.
Installation
Mac 直接用 homebrew 即可安装。其他系统参考官方 wiki
brew install yt-dlp
brew install ffmpeg
Usage
Basic
最基本用法
yt-dlp [url]
相当于 yt-dlp -f "bv*+ba/b" [url]
, 下载带含音频的、质量最好的视频。如果没有,则下载最好的视频、音频,再合并。
带字幕
- 最佳格式视频 (webm 扩展名)
- 最佳格式音频 (m4a 扩展名)
- 自动合并
- 下载自动生成的字幕,不写入文件
yt-dlp -f 'bv[ext=webm]+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 --write-auto-subs [url]
如果想下载对应语言的字幕, 可以执行如下命令:
yt-dlp -f 'bv[ext=webm]+ba[ext=m4a]' --embed-metadata --merge-output-format mp4 --sub-langs [lang-name] [url]
Advanced
下载指定格式视频/音频
列出视频所有格式
yt-dlp -F [url]
获取到格式列表如下:
其中:
- 248 为质量最好的视频
- 137 为质量最好的,avc 编码视频(mac 可预览)
- 399 为质量最好的,av01 编码视频(mac 可预览,且体积更小)
- 251 为质量最好的音频
- 140 为质量最好的 m4a 格式音频
# 下载(仅视频, 无音频):
yt-dlp -f248 [url]
# 指定视频248+指定音频140
yt-dlp -f248+140 [url]
# 指定视频248+最好音频
yt-dlp -f248+137 [url]
# mac 可预览的, 1080P+最好音频
yt-dlp -f399+ba --merge-output-format mp4 [url]
仅下载字幕
获取字幕列表:
yt-dlp --list-subs [url]
当字幕存在时,可以在列表的结尾看到对应语言:
下载对应语言的字幕, 此处为 zh-CN
:
yt-dlp --write-subs --sub-langs zh-CN --skip-download [url]
如果视频没有对应语言的字幕, 下载自动生成的字幕
yt-dlp --write-auto-subs --skip-download [url]
携带浏览器缓存
--cookies-from-browser edge