Yt-dlp命令:初学者完全指南(2024)

你曾经想过要保存你在互联网上喜欢的视频吗?无论是有趣的猫咪视频还是你想稍后观看的教程,Yt-dlp都可以帮到你!在这个详尽的yt-dlp教程中,我们将解释yt-dlp是什么,如何在Linux上安装它,以及用于从各种网站下载音频和视频的最常用的yt-dlp命令。


免责声明和警告:

yt-dlp 是一个强大的工具,可以从各种网站下载视频和音频。然而,需要注意的是,yt-dlp 不应该用于下载非法或盗版内容。未经版权持有人许可下载受版权保护的材料是违法的,可能会带来严重的法律后果。

如果你不确定某个视频或音频文件是否受版权保护,最好谨慎处理,不要下载它。在网上有许多合法的、受版权保护的免费内容来源。

在使用 yt-dlp 时避免侵犯版权的一些提示:

  1. 只下载你有权下载的视频和音频文件。
  2. 了解你所在国家的版权法律。
  3. 如果你不确定某个视频或音频文件是否受版权保护,不要下载它。
  4. 在网上有许多合法的、受版权保护的免费内容来源。

请负责任和合法地使用 yt-dlp。本站站对盗版行为不负责任。


1.什么是 yt-dlp?

yt-dlp 是一个免费开源的命令行工具,可以用来从 YouTube 和其他视频托管网站下载视频。yt-dlp 是已停止维护的 youtube-dlc 的一个分支,旨在添加新功能和修补程序,同时保持与原始项目的兼容性。

它支持广泛的视频和音频格式,并且还可以用来下载字幕和元数据。yt-dlp 可在 Windows、macOS 和 Linux 上使用。

2.yt-dlp 和 youtube-dl/youtube-dlc 的主要区别

yt-dlp 的默认选项与 youtube-dl youtube-dlc 不同。以下是其中一些主要区别:

  • youtube-dlyoutube-dlc 不同,yt-dlp 仅支持 Python 3.7 及以上。相比之下,youtube-dl 支持 Python 2.6+ 和 3.2+。
  • 尽管 ffmpeg 是处理媒体的推荐选项,但在 yt-dlp 中不支持将 avconv 作为 ffmpeg 的替代选项。
  • yt-dlp 在配置文件存储方面与 youtube-dl 稍有不同。
  • yt-dlp 中的 -F 输出格式已更改。
  • 选项 --auto-number (-A)--title (-t) --literal (-l) 已被弃用,不再按预期工作。
  • 默认情况下,yt-dlp 启用 –no-abort-on-error。
  • yt-dlp 的默认输出模板与 youtube-dl 不同。yt-dlp 默认使用 %(title)s [%(id)s].%(ext)s,而 youtube-dl 使用 %(title)s-%(id)s.%(ext)s
  • yt-dlp 的默认格式排序优先考虑更高分辨率和更好的编解码器,而不是更高的比特率,这与 youtube-dl 不同。
  • yt-dlp 中默认的格式选择器是 bv*+ba/b,意味着首选包含视频和音频的格式,而不是仅视频格式。
  • youtube-dlc 不同,yt-dlp 默认情况下不允许将多个音频/视频流合并为一个文件(以避免与 -f bv*+ba 冲突)。
  • 使用 yt-dlp 时,对于播放列表,还会写入元数据文件,例如缩略图、描述或 infojson。
  • yt-dlp 会为 YouTube 播放列表列出不可用的视频。
  • yt-dlp 提取的 YouTube 上传日期为协调世界时 (UTC) 时间。
  • 默认情况下,yt-dlp 在 infojson 中排除了一些内部元数据(例如文件名)。
  • yt-dlp 中文件名中无效字符的清理方法不同,通常被认为更智能,与 youtube-dl 不同。
  • yt-dlp 尝试将外部下载器的输出解析为标准进度输出,目前已在 aria2c 中实现。若要保留下载器的原始输出,请使用 --compat-options no-external-downloader-progress

更多主要区别,请访问 yt-dlp 的 GitHub 存储库。本指南末尾提供了链接。

3.在Linux上安装yt-dlp

yt-dlp可通过多种方式安装。

3.1 官方推荐的安装 yt-dlp 的方式

如果您使用的是类 UNIX 操作系统,例如 Linux、MacOS 或 BSD,则可以通过以下方法之一轻松安装 yt-dlp:

方法一: 使用 Curl

$ sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp

$ sudo chmod a+rx /usr/local/bin/yt-dlp

方法二: 使用 wget

$ sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp

$ sudo chmod a+rx /usr/local/bin/yt-dlp

方法三: 使用 aria2c

$ sudo aria2c https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp --dir /usr/local/bin -o yt-dlp

$ sudo chmod a+rx /usr/local/bin/yt-dlp

更新 yt-dlp:

要使 yt-dlp 保持最新,只需运行以下命令:

$ sudo yt-dlp -U

3.2 通过Pip来安装 yt-dlp

要启动并运行 yt-dlp,您可以使用 Python 的包管理器 Pip。以下是各种安装方法:

方法一:标准安装

$ python3 -m pip install -U yt-dlp

此命令将安装 yt-dlp 并确保它是最新版本。

方法二:最小安装

如果您更喜欢没有可选依赖项的最小化安装:

$ python3 -m pip install --no-deps -U yt-dlp

此命令安装 yt-dlp,将不带任何可选组件。

方法三:切边(主分支)

对于那些想要从 master 分支获取最新功能和更新的人可以通过下面的命令来安装:

$ python3 -m pip install -U pip setuptools wheel

$ python3 -m pip install --force-reinstall https://github.com/yt-dlp/yt-dlp/archive/master.tar.gz

请注意,在某些系统上,您可能需要使用 py 或 python 而不是 python3。如果你在此处出现了问题,不妨尝试做相应的修改。

更新 yt-dlp:

要使 yt-dlp 保持最新状态,请运行以下命令:

$ python3 -m pip install -U yt-dlp

3.3 通过官方 Linux 存储库安装 Yt-dlp

可能有一些 Linux 发行版在其官方存储库中提供 Yt-dlp,允许您使用默认包管理器安装它。以下是不同 Linux 发行版的 yt-dlp 安装说明:

Alpine Linux:

$ doas apk -U add yt-dlp

Arch Linux, EndeavourOS, Manjaro Linux:

$ sudo pacman -S yt-dlp

Debian, Ubuntu, Linux Mint, Pop!_OS:

$ sudo apt install yt-dlp

Fedora:

$ sudo dnf install yt-dlp

openSUSE:

$ sudo zypper install yt-dlp

需要注意的是官方存储库中提供的版本有时可能会稍微过时。为了获取最新的功能和更新,通常建议使用官方推荐的方法,包括curlwget,如前文所示。这些方法可确保您获得最新版本的 yt-dlp

3.4 在 Linux 上安装 FFmpeg

为了让Yt-dlp顺利地从YouTube下载720p视频并进行视频格式转换,它依赖于FFmpeg。要在 Linux 系统上设置 FFmpeg,请参阅以下指南(暂无):

  • 如何在 Linux 上安装 FFmpeg

3.5 使用 Termux 在 Android 上安装 yt-dlp

我们可以通过 Termux 在 Android 设备上安装 yt-dlp

首先,在您的 Android 手机上安装 Termux。

然后,打开 Termux 应用程序并运行以下命令,授予 Termux 访问手机存储空间的权限,从而允许下载文件。

termux-setup-storage

更新 Termux 中的所有软件包以确保您拥有最新版本。

pkg update && pkg upgrade

安装必要的依赖项,包括 Python、libexpat 和 OpenSSL。

pkg install libexpat openssl python

安装 yt-dlp 并确保其是最新的。 Pip 是 Python 的包管理器,将为您处理安装。

pip install -U yt-dlp

如果您打算进行相关的视频操作,建议安装 FFmpeg。此步骤是可选的,但对于视频相关任务很有用。

pkg install ffmpeg

要使 yt-dlp 保持最新,请定期运行以下命令:

pip install -U yt-dlp

这可确保您始终通过 Termux 在 Android 设备上使用最新版本的 yt-dlp。您现在可以轻松地在 Android 上下载您喜爱的内容!

3.6 更新 yt-dlp

如果您使用curlwgetaria2c手动安装了yt-dlp,则可以通过执行以下命令来更新它:

$ sudo yt-dlp -U

对于使用 pip 安装 yt-dlp 的用户,请使用以下命令进行更新:

$ python3 -m pip install -U yt-dlp

如果您使用发行版的包管理器安装 yt-dlp,请根据系统的包管理器更新 yt-dlp。例如,在 Arch Linux 上,使用以下命令更新 yt-dlp

$ sudo pacman -Syu

在 Debian 和 Ubuntu 系统上,您可以使用以下命令更新 yt-dlp:

$ sudo apt update

保持 yt-dlp 最新可确保您能够访问最新的功能和错误修复。

4. yt-dlp 教程与示例

yt-dlp 的用法几乎与 youtube-dl 相同,只有一些细微的差别。在本指南中,我们将学习一些最常用的 yt-dlp 命令,用于从 YouTube 和其他网站下载视频和播放列表。针对使用代理的用户可能需要在命令的最后加上代理信息。

4.1.下载视频或播放列表

要从 YouTube 下载单个视频或整个播放列表,只需按以下格式输入 URL:

$ yt-dlp https://www.youtube.com/watch?v=t5b20oLaIaw

要下载具有自定义名称的视频或播放列表,请使用 -o 标志,后跟所需的名称。例如:

$ yt-dlp -o 'Abdul Kalam Wings of Fire Autobiography' https://www.youtube.com/watch?v=t5b20oLaIaw

要将视频或播放列表下载到特定位置,请使用 -o 标志,后跟目标目录。例如:

$ yt-dlp -o '~/Downloads/Abdul Kalam Biography' https://www.youtube.com/watch?v=t5b20oLaIaw

要在文件名中包含其他详细信息,例如标题、上传者名称、上传日期和播放列表名称,请使用以下格式:

$ yt-dlp -o '%(title)s by %(uploader)s on %(upload_date)s in %(playlist)s.%(ext)s' https://www.youtube.com/watch?v=t5b20oLaIaw

以下是上述命令中使用的不同选项的介绍:

  • yt-dlp:用于下载视频和播放列表的命令行工具的名称。
  • -o:用于指定输出文件名或目录的标志。
  • %(title)s:视频或播放列表的标题。
  • %(uploader)s:视频或播放列表上传者的名称。
  • %(upload_date)s:上传视频或播放列表的日期。
  • %(playlist)s:播放列表的名称(如果视频是播放列表的一部分)。
  • %(ext)s:下载的视频或音频文件的文件扩展名。

4.2 并行下载多个视频

在某些情况下,您可能需要从网站或任何其他来源下载多个视频。在这种情况下,您有几个方便的选择:

选项 1:通过在命令中包含多个 URL 进行下载

您可以通过在命令中指定 URL 来下载多个视频,并用空格分隔,如下所示:

$ yt-dlp <url1> <url2>

此方法允许您一次性获取多个视频,只需列出它们的 URL。

选项 2:使用文本文件

您可以创建一个包含要下载的所有视频 URL 的文本文件,然后将此文件作为参数传递给 yt-dlp:

$ yt-dlp -a url.txt

通过使用此命令,yt-dlp 将自动下载 url.txt 文件中列出的所有视频。这种方法在处理大量视频时特别方便,因为它可以为您简化流程。

4.3 从视频下载纯音频

要将视频下载为音频,即从视频中提取音频,请使用 -x 标志,如下所示。

$ yt-dlp -x https://www.youtube.com/watch?v=t5b20oLaIaw

您还可以使用 -x --audio-format 标志指定输出音频格式。

$ yt-dlp -x --audio-format mp3 https://www.youtube.com/watch?v=t5b20oLaIaw

此命令仅提取并下载给定视频中的音频。

[youtube] Extracting URL: https://www.youtube.com/watch?v=t5b20oLaIaw
[youtube] t5b20oLaIaw: Downloading webpage
[youtube] t5b20oLaIaw: Downloading ios player API JSON
[youtube] t5b20oLaIaw: Downloading android player API JSON
[youtube] t5b20oLaIaw: Downloading m3u8 information
[info] t5b20oLaIaw: Downloading 1 format(s): 251
[download] Destination: Dr. Apj Abdul Kalam | Wings of Fire | Autobiography | English | Inspiring Audio Story [t5b20oLaIaw].webm
[download] 100% of   71.04MiB in 00:00:21 at 3.32MiB/s
[ExtractAudio] Destination: Dr. Apj Abdul Kalam | Wings of Fire | Autobiography | English | Inspiring Audio Story [t5b20oLaIaw].mp3
Deleting original file Dr. Apj Abdul Kalam | Wings of Fire | Autobiography | English | Inspiring Audio Story [t5b20oLaIaw].webm (pass -k to keep)
Download Audio-only from a Video
Download Audio-only from a Video

4.4 下载带有描述、元数据、注释、字幕和缩略图的视频

要下载视频及其随附的详细信息(包括描述、元数据、注释、字幕和缩略图),请使用以下命令:

$ yt-dlp --write-description --write-info-json --write-annotations --write-sub --write-thumbnail <URL>

使用此命令,您不仅可以捕获视频本身,还可以捕获所有增强您的观看体验的相关元素。

4.5 显示所有可用的视频或播放列表格式

要查看视频或播放列表的所有可用格式的完整列表,请使用以下命令:

$ yt-dlp --list-formats https://www.youtube.com/watch?v=t5b20oLaIaw

或者,您可以使用 -F 标志获得相同的结果:

$ yt-dlp -F https://www.youtube.com/watch?v=t5b20oLaIaw

这些命令为您提供了可访问内容的各种格式的概述,帮助您做出明智的选择。

Display All Available Formats of a Video

正如您从输出中看到的,yt-dlp 在有组织的表格列中全面显示了所有可访问的视频格式。从左到右,该显示包括基本细节,例如:

  • ID,
  • Extension (EXT),
  • Resolution,
  • Frames Per Second (FPS),
  • Channel (CH),
  • Filesize,
  • Total Bitrate (TBR),
  • Protocol (PROTO),
  • Video Codec (VCODEC),
  • Video Bitrate (VBR),
  • Audio Codec (ACODEC),
  • Audio Bitrate (ABR),
  • Audio Sampling Rate (ASR),

当您需要下载特定质量或格式的视频时,这种格式特别有用。在选择最适合您需求的格式时,它可以帮助您做出快速、明智的决策。

4.6 查看 YouTube 视频的大小

要在下载视频之前获取视频的文件大小,请使用 -F 标志,如下所示:

$ yt-dlp -F https://www.youtube.com/watch?v=t5b20oLaIaw
View the Size of YouTube Videos

在输出中,文件大小显示在第 6 列中,使您可以轻松识别视频的存储要求。

4.7 下载特定质量和格式的视频

默认情况下,如果您不传递任何选项,yt-dlp 将以最佳可用质量下载视频。但是,您可以根据自己的喜好灵活地下载特定质量或格式的视频或播放列表。

YouTube 提供以下视频下载质量选项:

  • best: 这将选择可用的最高质量格式,包括视频和音频。
  • worst: 它为视频和音频选择最低质量的格式。
  • bestvideo: 此选项选择最佳质量的纯视频格式(例如,DASH 视频)。
  • worstvideo: 与 bestvideo 类似,但选择质量最低的纯视频格式。
  • bestaudio: 这将选择最佳质量的纯音频格式。
  • worstaudio: 与 bestaudio 类似,但选择最低质量的纯音频格式。

例如,如果您想以音频和视频的最佳可用质量下载视频,请使用以下命令:

$ yt-dlp -f best https://www.youtube.com/watch?v=t5b20oLaIaw

同样,要下载最佳质量的纯音频:

$ yt-dlp -f bestaudio <URL>

要下载最低质量的纯视频格式,请使用以下命令:

$ yt-dlp -f worstvideo <URL>

您还可以组合不同的格式选项,如下所示:

$ yt-dlp -f bestvideo+bestaudio <URL>

此命令下载最佳质量的纯视频和纯音频格式,并使用 ffmpeg 或 avconv 合并它们。确保您的系统上安装了这些工具之一。

如果您不想合并音频和视频,请将加号 (+) 运算符替换为逗号 (,),如下所示:

$ yt-dlp -f 'bestvideo,bestaudio' https://www.youtube.com/watch?v=t5b20oLaIaw -o '%(title)s.f%(format_id)s.%(ext)s'

此命令会分别下载最佳质量的视频和音频,从而生成两个文件。在这种情况下,建议使用输出模板(-o 选项),因为 bestvideo 和 bestaudio 可能具有相同的文件名。

您甚至可以以指定的分辨率下载特定质量的视频或播放列表。例如,要下载分辨率为 480 像素或更低(小于或等于 480p)的最佳质量视频,请使用以下命令:

$ yt-dlp -f "best[height<=480]" <URL>

如前所述,您可以组合格式选择器来定位特定的视频质量。以下命令下载最佳可用格式(音频和视频),但不高于 480p:

$ yt-dlp -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' <URL>

您可以通过使用 mediainfo 等工具检查媒体文件信息来确认 yt-dlp 是否以所需的质量下载了视频。

您还可以灵活地使用缩写的标志名称。例如,您可以使用“bv”,而不是输入“bestvideo”。同样,您可以使用“w”表示“worst”,使用“wv”表示“worstvideo”。

例如:

要下载最佳的纯视频格式和最佳的纯音频格式或最佳组合格式(如果纯视频不可用),请运行:

$ yt-dlp -f "bv+ba/b" https://www.youtube.com/watch?v=t5b20oLaIaw

下载可用的最差视频质量:

$ yt-dlp -f "wv*+wa/w" https://www.youtube.com/watch?v=t5b20oLaIaw

有关更多缩写标志示例,请查看格式选择页面。这种速记符号可以简化您的命令,从而更有效地使用。

4.8 交互式下载视频

您可以使用 -f – 标志以交互方式选择每个视频的格式。这将提示您提供可用格式的列表,以及它们的 ID、扩展名、分辨率、文件大小和音频/视频编解码器。要下载特定格式,请键入文件的 ID,然后按 Enter。

Interactive Format Selection

要下载默认选择,请按 Enter 键而不键入任何内容。要退出交互式格式选择提示,请按 Ctrl+C。

4.9 使用格式 ID 下载视频

如果您想下载同一视频的多种格式,可以使用逗号作为分隔符。例如,使用 -f 22,17,18 将下载所有这三种格式(前提是它们可用)。数字22、17和18对应于各个视频格式的ID。这些 ID 在 yt-dlp 的输出中称为“格式代码”。您可以使用以下任一命令列出可用格式来发现这些 ID:

$ yt-dlp --list-formats https://www.youtube.com/watch?v=t5b20oLaIaw

或者是

$ yt-dlp -F https://www.youtube.com/watch?v=t5b20oLaIaw

第一列中列出了可用格式的 ID。最佳质量格式通常在末尾找到,通常带有 247 这样的 ID。因此,要下载最佳质量格式,您可以使用以下命令:

$ yt-dlp -f 247 https://www.youtube.com/watch?v=t5b20oLaIaw

如果您打算下载多个视频,并且它们不共享相同的可用格式,您可以使用斜杠指定优先顺序。需要注意的是,左侧的格式优先。例如,使用 -f 22/17/18 意味着它将尝试下载格式 22(如果可用),然后尝试下载格式 17(如果格式 22 不可用),依此类推。如果没有指定的格式可用,它会通知您没有找到合适的下载格式。请记住,斜杠是左关联的,这意味着在选择过程中优先考虑左侧的格式。

4.10 按文件扩展名下载视频

要下载您喜欢的格式(例如 MP4)的视频,只需执行以下命令:

$ yt-dlp --format mp4 https://www.youtube.com/watch?v=t5b20oLaIaw

或者,您可以使用简写版本:

$ yt-dlp -f mp4 https://www.youtube.com/watch?v=t5b20oLaIaw

如上一节所述,需要注意的是,并非所有视频都可以您所需的格式提供。在这种情况下,yt-dlp 将自动下载最佳可用格式。

例如,以下命令将下载最佳质量的 MP4 格式文件。如果给定视频的 MP4 格式不可用,它将下载最佳的替代格式:

$ yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' https://www.youtube.com/watch?v=t5b20oLaIaw

如果您希望使用自定义文件名保存这些文件,可以使用以下命令来执行此操作:

$ yt-dlp -f mp4 -o '%(title)s.f%(format_id)s.%(ext)s' https://www.youtube.com/watch?v=t5b20oLaIaw

4.11 设置视频下载的大小限制

从播放列表下载多个视频时,您可能会偏好特定大小范围内的视频。例如,要确保不下载小于指定大小(例如 100MB)的视频,请使用以下命令:

$ yt-dlp --min-filesize 100M <playlist_url>

相反,如果您希望避免下载大于给定大小的视频,您可以使用:

$ yt-dlp --max-filesize 100M <playlist_url>

您还可以选择组合格式选择运算符来下载特定大小的视频。例如,后续命令将下载最佳的纯视频格式,只要它不超过 100MB:

$ yt-dlp -f 'best[filesize<100M]' https://www.youtube.com/watch?v=t5b20oLaIaw

4.12 按日期下载视频

yt-dlp 提供了根据上传日期过滤和下载视频或播放列表的功能,这在处理包含数百个视频的播放列表时非常有用。例如:

# 要下载在确切日期(例如 2023 年 9 月 30 日)上传的视频
$ yt-dlp --date 20230930 <URL>

# 要下载在特定日期或之前上传的视频:
$ yt-dlp --datebefore 20230930 <URL>

# 如果您想获取在特定日期或之后上传的视频:
$ yt-dlp --dateafter 20230930 <URL>

# 仅下载最近 6 个月内上传的视频:
$ yt-dlp --dateafter now-6months <URL>

# 要下载指定日期范围内的视频,例如2022年9月30日到2023年9月30日,请使用以下命令:
$ yt-dlp --dateafter 20220930 --datebefore 20230930 <URL>

4.13 从播放列表下载特定视频

这是 yt-dlp 提供的另一个有价值的功能,允许您从可能包含数百个条目的播放列表中下载特定的歌曲或视频。

例如,要从播放列表下载第 20 个视频,请执行以下命令:

$ yt-dlp --playlist-items 20 <playlist_url>

您还可以同时下载视频并将其转换为其他格式。在以下示例中,该命令将从播放列表中下载第一个视频并将其转换为 .mp3 格式:

$ yt-dlp --playlist-items 1 -x --audio-format mp3 <playlist_url>

同样,要下载多个随机视频,只需指定播放列表中的视频索引,以逗号分隔,如下所示:

$ yt-dlp --playlist-items 2,3,7,10 <playlist_url>

您还可以定义要下载的视频范围。要下载从特定视频开始的视频播放列表,例如第 10 个视频,一直持续到最后:

$ yt-dlp --playlist-start 10 <playlist_url>

要仅下载播放列表中第二到第五位置的视频,请使用:

$ yt-dlp --playlist-start 2 --playlist-end 5 <playlist_url>

4.14 根据年龄适合性下载视频

yt-dlp 提供了另一个有价值的功能,允许您下载适合特定年龄段的视频。

例如,如果您想从播放列表中下载所有未标记为“NSFW”或没有 7 岁儿童年龄限制的“Let’s Play”视频,您可以使用以下命令:

$ yt-dlp --match-title "let's play" --age-limit 7 --reject-title "nsfw" <playlist_url>

此命令可确保仅下载适合 7 岁观众的视频,并过滤掉任何“NSFW”或有年龄限制的内容。

4.15 设置下载速度限制

要控制下载速度,您可以使用 -r 选项。例如,以下命令将速度限制为每秒 50 KB:

$ yt-dlp -r 50K <URL>

请注意,速度以每秒字节数指定。

4.16 恢复下载

Yt-dlp 通常会自动从之前中断的位置恢复下载。但是,如果由于任何原因它没有恢复下载,您可以使用 -c--continue 标志强制继续下载部分完成的文件:

$ yt-dlp -c <URL>

此标志可确保下载从中断处继续,即使之前已中断。

4.17 将视频直接流式传输到媒体播放器

要将媒体直接流式传输到媒体播放器,您需要使用“-o -”选项指示 yt-dlp 流式传输到标准输出。此外,您的媒体播放器应该能够从标准输入读取。

您可以通过将 yt-dlp 的输出通过管道传输到媒体播放器来实现此目的。例如,要流式传输到 VLC,您可以使用以下命令:

$ yt-dlp -o - "https://www.youtube.com/watch?v=t5b20oLaIaw" | vlc -

如果您安装了 ffmpeg,则在流式传输到标准输出时可以使用“-o - --downloader ffmpeg -f "bv*+ba/b"选项以获得最佳可用质量。

4.18 访问 yt-dlp 帮助

$ yt-dlp --help

5. yt-dlp 故障排除

下面列出了您偶尔可能遇到的常见错误。大多数这些问题可以通过将 yt-dlp 更新到最新版本来解决。但是,即使使用更新版本的 yt-dlp,也可能存在一些错误,例如下面列出的错误:

5.1 修复”Unable to download video data: HTTP Error 403: Forbidden”错误

从 YouTube 下载视频时,有时会出现如下错误。

ERROR: unable to download video data: HTTP Error 403: Forbidden

要修复此错误,只需使用以下命令清除 yt-dlp 缓存即可:

$ yt-dlp --rm-cache-dir

5.2 错误: Unable to Open for Writing: [Errno 36] File Name Too Long

如果您在尝试下载名称过长的 YouTube 视频时遇到此错误,请按照以下步骤解决该问题:

您可能会看到类似于此的错误消息:

[youtube] _XEgknKEBws: Downloading webpage
 ERROR: unable to open for writing: [Errno 36] File name too long: '\xe0\xae\xa8\xe0\xaf\x8b
[...]
\xe0\xaf\x8d\xe0\xae\x95\xe0\xae\xae\xe0\xaf\x8d-_XEgknKEBws.f136.mp4.part

要解决此错误,只需使用“-o”标志下载您选择的较短名称的视频即可。例如:

$ yt-dlp -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]' -o video.mp4 <URL>

在此命令中,“-o”标志允许您为下载的视频指定自定义名称,确保其文件名较短。

6. yt-dlp 备忘单

此备忘单为您提供了一些基本的 yt-dlp 命令,可帮助您开始高效下载视频和播放列表。

6.1 基本下载命令:

# 下载视频:
$ yt-dlp <video_url>

# 下载播放列表
$ yt-dlp <playlist_url>

# 选择最佳品质:
$ yt-dlp -f best <video_url>

# 选择具体格式:
$ yt-dlp -f <format_id> <video_url>

# 纯音频格式:
$ yt-dlp -f bestaudio <video_url>

6.2 下载选项:

# 限制下载速度:
$ yt-dlp -r 50K <video_url>

# 恢复下载
$ yt-dlp -c <video_url>

# 按日期过滤
$ yt-dlp --date 20230101 <video_url>

# 按年龄限制过滤:
$ yt-dlp --age-limit 18 <video_url>

# 按标题过滤:
$ yt-dlp --match-title "keyword" <playlist_url>

# 按格式代码下载:
$ yt-dlp -f 22,17,18 <video_url>

# 按文件扩展名下载:
$ yt-dlp --format mp4 <video_url>

# 设置大小限制:
$ yt-dlp --min-filesize 100M <playlist_url>

# 从播放列表下载特定视频:
$ yt-dlp --playlist-items 1,3,5 <playlist_url>

请记住将 <video_url> 和 <playlist_url> 替换为您要从中下载的实际 URL。

综述

在本教程中,我们学习了一些最常用的 yt-dlp 命令,用于从 YouTube 和其他各种网站下载视频和音频。yt-dlp 是我最喜欢的 Linux 下载程序之一。它提供了一套多功能且全面的功能,用于从数百个网站下载视频和播放列表。如果您正在寻找适用于 Linux 的最佳音频/视频下载器,yt-dlp 值得尝试!

相关资源:


4 comments

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据