我知道如何下载 1 个 youtube 视频命令、1 个 youtube 播放列表命令,但我不知道如何在一个命令中一次下载多个 youtube 视频。我该怎么办?
只需在调用 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 就足够了。
您可以将所有网址写入一个文本文件中(用新行分隔)。例如,让我们编写一个名为“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”这样的文件扩展名
虽然现有的答案涵盖了按顺序下载多个视频,但使用 xargs 您可以并行下载多个视频,这样可以更快地完成,如 github 上的 alexanderluna 所描述的那样。
例如,要并行运行 10 个下载,请使用以下命令
xargs -n 1 -P 10 youtube-dl < urls.txt
其中 urls.txt 文件包含要下载的视频链接列表,每行一个。
playlist_index
占位符:
ytdlp -o 'Some title %(playlist_index)s.mp4'
其他占位符是 title
、
ext
。不知道从哪里可以获得完整列表。