yt-dlp
yt-dlp 是一个命令行程序,可以让你轻松地从一千多个网站下载视频和音频。请参阅支持网站列表。
安装
安装 yt-dlp 软件包,或 yt-dlp-gitAUR 以获取开发版本。建议同时安装 FFmpeg,因为它用于某些网站的混流。请参阅可选依赖项。
还有各种 yt-dlp 的图形化前端,例如 parabolic-gtkAUR、tartubeAUR 和 yt-dlg-gitAUR。
你也可以安装 yt-dlp-drop-inAUR,它提供了一个虚拟的 /usr/bin/youtube-dl
可执行文件(只是重定向到 yt-dlp),用于仍然寻找 youtube-dl 可执行文件的过时程序。
配置
系统范围的配置文件是 /etc/yt-dlp.conf
,用户特定的配置文件是 ~/.config/yt-dlp/config
。语法很简单,每行一个命令行选项。配置示例
--ignore-errors # --no-playlist # Save in ~/Videos -o ~/Videos/%(title)s.%(ext)s # Prefer 1080p or lower resolutions -f bestvideo[height<=?1080]+bestaudio/best
有关更多信息,请参阅 [1]。
也可以使用以下命令指定自定义配置文件
$ yt-dlp URL --config-locations PATH
用法
请参阅手册 yt-dlp(1)。
$ yt-dlp [OPTIONS] URL
URL
可以替换为视频 ID。格式选择
当视频有多种格式可用时,youtube-dl 默认会下载最佳格式。
要获取可用格式的列表
$ yt-dlp -F URL
要选择特定的格式进行下载
$ yt-dlp -f format URL
提取音频
使用 -x
进行纯音频下载(需要 FFmpeg)
$ yt-dlp -x -f bestaudio URL
根据可用的源流,这通常会更正纯音频容器。如果纯音频流不可用,请从上面的示例中排除 -f bestaudio
。这将下载视频并复制其音频作为后处理。默认情况下,这将删除下载的视频,包含 -k
以保留它。
也要包含专辑封面(需要 atomicparsley)
$ yt-dlp -x -f bestaudio[ext=m4a] --add-metadata --embed-thumbnail URL
字幕
要查看哪些语言可用
$ yt-dlp --list-subs URL
要下载带有选定字幕的视频(逗号分隔)
$ yt-dlp --write-sub --sub-lang LANG URL
对于自动生成的字幕
$ yt-dlp --write-auto-sub --sub-lang LANG URL
添加 --skip-download
以仅获取字幕。
Cookies
要导入 cookies,请添加 --cookies-from-browser <browser>
从 chromium 导入 cookies 的示例
$ yt-dlp --cookies-from-browser chromium URL
技巧与诀窍
更快的下载速度
某些网站会限制传输速度。通常,你可以通过选择非 DASH 流或使用 aria2(一个支持多连接下载的外部下载器)来绕过此限制。例如
$ yt-dlp --downloader aria2c --downloader-args '-c -j 3 -x 3 -s 3 -k 1M' URL
播放列表
对播放列表使用 youtube-dl 通常归结为以下选项
$ yt-dlp --ignore-errors --continue --no-overwrites --download-archive progress.txt usual options URL
这组选项允许下载即使在中断后也能有效地继续。如果要进行归档,请添加你可能拥有的常用 --write-xxx
和 --embed-xxx
选项。
剪辑(部分下载)
可以通过使用 yt-dlp -g -f format URL
的输出作为 ffmpeg 的输入以及 -ss
(用于输入)、-t
和 -c copy
选项来下载视频的某些部分。
来自剪贴板的 URL
可以设置 shell 别名、桌面启动器 或键盘快捷键,以通过从 X 选择输出选定(或复制)的 URL 来下载视频(或音频)。请参阅 剪贴板#工具。
参见
- GitHub 仓库 以获取文档。