yt-dlp
yt-dlp 是一款命令行程序,可轻松从一千多个网站下载视频和音频。请参阅 支持的网站列表。
安装
- yt-dlp-ejs 以获得更好的支持,因为它已经弃用 YouTube 提取,并且某些格式可能会丢失 [1]。
- FFmpeg 用于一些网站的混流。
还有各种 图形前端 可用于 yt-dlp,例如 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
有关更多信息,请参阅 [2]。
也可以通过以下方式指定自定义配置文件
$ 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 selection 输出 URL 来下载选定(或复制)URL 的视频(或音频)。请参阅 Clipboard#Tools。
参见
- GitHub 仓库 提供文档。