Skip to main content

yt-dlp 下载视频

· 3 min read

缘起

最近 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]

获取到格式列表如下: image

其中:

  • 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]

当字幕存在时,可以在列表的结尾看到对应语言: image

下载对应语言的字幕, 此处为 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