如何通过 youtube-dl 下载带有编号前缀的 youtube 播放列表?

Ima*_*adi 83 command-line youtube youtube-dl

我有一个 Youtube 播放列表,我想下载它,但我希望 youtube-dl 将文件命名为 1-{name}, 2-{name}, ... n-{name} 以便能够观看它们与原始 Youtube 播放列表的顺序相同。换句话说,我需要我下载的视频以数字为前缀。我怎样才能做到这一点?

Ima*_*adi 126

我发现的最佳解决方案是:

youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" <playlist_link>
Run Code Online (Sandbox Code Playgroud)

  • @Flimm 自动编号使用您下载队列中的编号,如果您重新启动下载,它将被重置。playlist_index 使用播放列表中的视频索引,如果您想稍后停止和恢复下载,这是一个更好的选择。 (8认同)
  • 对于长度为 10-99 项的播放列表,我什至会使用“%(playlist_index)02d”。 (6认同)

Sar*_*STA 18

我认为使用

youtube-dl --auto-number url
Run Code Online (Sandbox Code Playgroud)

会做的。

  • “警告:--auto-number 已被弃用。使用 -o "%(autonumber)s-%(title)s.%(ext)s" 代替。" (6认同)
  • 这是炉排,只有一个问题,那就是它混淆了名称并用数字替换了部分名称。我通过从您的答案中获取主要思想来解决我的问题。 (2认同)

Nab*_*imi 13

使用-o选项playlist_index和格式<n>d如下:

youtube-dl -o "%(playlist_index)2d - %(title)s.%(ext)s"
#                               .
#                              /|\
#                               |
Run Code Online (Sandbox Code Playgroud)

3d4d等等,如在 C 中printf

  • 使用2d,你会得到从 01 开始的数字
  • 使用3d,你会得到从 001 开始的数字
  • 等等...

  • 最好用“02d”替换“2d”以获得例如“01 - title”而不是“1 - title”名称。 (7认同)
  • 它也不适合我。我的 youtube-dl 版本是 2019.06.27。使用“02d”有效。 (3认同)
  • @atmin - `2d` 已经做到了。 (2认同)
  • 它不适合我,`youtube-dl --version` → `2018.12.09` (2认同)

小智 9

请使用下面的链接首先以数字递增的方式下载播放列表,然后是内容的标题

youtube-dl -cio '%(autonumber)s-%(title)s.%(ext)s' 'Paste your playlist link'
Run Code Online (Sandbox Code Playgroud)

  • 这个答案如何比接受的答案更好? (2认同)
  • c:强制恢复下载--i:忽略错误(如不可用的视频)--o:输出位置 (2认同)