Youtube-dl - 通过一个命令一次下载多个 YouTube 视频

问题描述 投票:0回答:4

我知道如何下载 1 个 youtube 视频命令、1 个 youtube 播放列表命令,但我不知道如何在一个命令中一次下载多个 youtube 视频。我该怎么办?

download youtube-dl
4个回答
9
投票

只需在调用 youtube-dl 之后添加所有 URL,如下所示:

youtube-dl "https://www.youtube.com/watch?v=BaW_jenozKc" http://vimeo.com/56015672 "https://www.youtube.com/playlist?list=PLEBDE1E42B3A9BC37" "https://www.youtube.com/watch?v=IEge830cgHs"

大多数 shell 还允许多行命令,如下所示:

youtube-dl \
  "https://www.youtube.com/watch?v=BaW_jenozKc" \
  http://vimeo.com/56015672 \
  "https://www.youtube.com/playlist?list=PLEBDE1E42B3A9BC37" \
  "https://www.youtube.com/watch?v=IEge830cgHs"

不要忘记引用包含与号 (

&
) 或(在某些 shell 上)问号 (
?
) 的 URL。引用方式取决于您的 shell - 在大多数 shell 上,包括
'
"
中的 URL 就足够了。


4
投票

您可以将所有网址写入一个文本文件中(用新行分隔)。例如,让我们编写一个名为“urls”的文本文件,其中包含以下内容:

https://www.youtube.com/watch?v=c7DpRIk4lKY
https://www.youtube.com/playlist?list=PLx_tr69QV8CDB-nn-pc5YZbDsdgjIQSII
https://www.youtube.com/watch?v=kh1sF-sbkbw

然后在shell中写入:

youtube-dl -a urls

但是,这是如果您在与 urls 文件相同的路径中运行此命令的情况。 如果您想从其他位置运行它,只需在文件名后面添加路径,例如:

youtube-dl -a path/to/file/urls

另外,在这个例子中我没有包含任何文件扩展名,但它也可以有像“.txt”这样的文件扩展名


2
投票

虽然现有的答案涵盖了按顺序下载多个视频,但使用 xargs 您可以并行下载多个视频,这样可以更快地完成,如 github 上的 alexanderluna 所描述的那样。

例如,要并行运行 10 个下载,请使用以下命令

xargs -n 1 -P 10 youtube-dl < urls.txt
其中 urls.txt 文件包含要下载的视频链接列表,每行一个。


0
投票
在 Twitter 上,您经常使用太长的文件名。在这种情况下 - 显然也适用于播放列表 - 您可以使用

playlist_index

 占位符:

ytdlp -o 'Some title %(playlist_index)s.mp4'
其他占位符是 

title

ext
。不知道从哪里可以获得完整列表。

© www.soinside.com 2019 - 2024. All rights reserved.