Youtube-dl 问题:如何批量下载文件(同时为输出文件分配不同的标题)?

Youtube-dl 问题:如何批量下载文件(同时为输出文件分配不同的标题)?

我有一个.txt包含链接列表的文件.m3u8。我想批量下载所有这些链接(视频),而不必手动逐个输入。

我遇到的问题是:youtube-dl给输出文件相同的名称,这阻止我批量下载文件,因为在下载第一个文件后,我收到错误消息(针对以下文件)this file already exists.

因此,由于任何下载都应用了相同的名称,所以我无法一次下载多个文件。

有人可以帮忙解决吗?

答案1

使用-o选项:

youtube-dl -a batch_file \
 -o "%(title)s by %(uploader)s on %(upload_date)s in %(playlist)s.%(ext)s" 

-o,--输出模板

输出文件名模板,请参阅“输出模板”了解所有信息

您可以使用多种模式来区分各个文件。

id (string): Video identifier
display_id (string): An alternative identifier for the video
timestamp (numeric): UNIX timestamp of the moment the video became available
duration (numeric): Length of the video in seconds
view_count (numeric): How many users have watched the video on the platform
like_count (numeric): Number of positive ratings of the video
...

https://www.mankier.com/1/youtube-dl#Output_Template

答案2

如果文件名不是主要关注点,特别是在测试时,我建议使用自动编号变量和简单的 id:

youtube-dl --batch-file batch_file.txt -o "File %(autonumber)s (%(id)s).%(ext)s"

正如上面的评论所述,在文件名中使用 url 变量可能会很麻烦。

相关内容