yt-dlp Cheatsheet
2 min
由于yt-dlp的许多功能依赖ffmpeg,建议安装ffmpeg。
下载B站视频与弹幕
yt-dlp支持下载弹幕但是不会默认下载。
yt-dlp $url --sub-lang danmuku --embed-metadata如果要加章节可以加上--embed-chapters,如果要下载分P视频用-I选项。
function downloadBilibili() {
yt-dlp $1 --sub-lang danmuku --embed-metadata
}Powershell版:
function Download-Bilibili($url) {
yt-dlp $url --sub-lang danmuku --embed-metadata
}下载网易云音乐(包括歌词与元数据)
这个方面yt-dlp做得比洛雪音乐更好,不但支持加入元数据,还支持在元数据增加专辑发行年份信息。
yt-dlp $url --sub-lang lyrics --write-subs --embed-thumbnail --embed-metadata -o "%(title)s - %(creator)s.%(ext)s"其中--sub-lang lyrics --write-subs用来下载歌词,如果原音乐无歌词可以去掉。歌词有三种类型,将上面的lyrics替换即可:
lyrics原歌词lyrics_translated翻译后的歌词lyrics_merged原歌词与翻译
另外,yt-dlp默认给音乐里的元数据不包含轨道编号,但这很好解决,只要对于音乐专辑的链接(或网易云电台)用下面的命令下载就能按顺序编号:
yt-dlp $url --parse-metadata "playlist_index:%(track_number)s" --add-metadata --embed-metadata --embed-thumbnail -o "%(title)s - %(creator)s.%(ext)s"function downloadNetease() {
yt-dlp $1 --sub-lang lyrics --write-subs --embed-thumbnail --embed-metadata -o "%(title)s - %(creator)s.%(ext)s"
}Powershell版:
function Download-Netease {
param (
[string] $url,
[switch] $lyrics
)
if ($lyrics) {
yt-dlp $url --sub-lang lyrics --write-subs --embed-thumbnail --embed-metadata -o "%(title)s - %(creator)s.%(ext)s"
} else {
yt-dlp $url --embed-thumbnail --embed-metadata -o "%(title)s - %(creator)s.%(ext)s"
}
}