通过youtube-dl下载视频时更改视频名称的方法

23
我想在YouTube上下载完整的播放列表,同时在下载视频时要在标题前输入序列号。
例如,如果一个播放列表有以下视频:
A.mp4
E.mp4
K.mp4
C.mp4
B.mp4

我希望它能够实现

1. A.mp4
2. E.mp4
3. K.mp4
4. C.mp4
5. B.mp4.

我尝试了类似以下的命令:

i=0;youtube-dl -cti https://www.youtube.com/playlist?list={(Any Playlist)} -o "{{$i++}%(title)s.%(ext)s}"

但是它给我这个错误:

youtube-dl:错误:使用输出模板与使用标题、视频ID或自动编号冲突

此外,下载整个播放列表,然后一个一个重命名也不是我正在寻找的。

是否有任何命令可以下载播放列表并根据我的愿望依次重新命名每个视频?

6个回答

33
有时我会因为按顺序重命名和排序文件而感到头痛。
因此,要添加自动编号,请使用 -A ,例如,
youtube-dl https://www.youtube.com/playlist?list=PLOU2XLYxmsILe6_eGvDN3GyiodoV3qNSC -A

要保留播放列表索引,

youtube-dl -o '%(playlist_index)s. %(title)s.%(ext)s' https://www.youtube.com/playlist?list=PLOU2XLYxmsILe6_eGvDN3GyiodoV3qNSC

这将为下载的文件添加漂亮的编号。

如果您下载的文件不是播放列表中的文件,您可以手动为文件添加编号。

youtube-dl -o "1-%(uploader)s%(title)s.%(ext)s" https://youtu.be/862r3XS2YB0

我在下载时手动在文件名中添加了 1-


只是说,-A选项已被弃用,现在建议使用-o。 - Eray Erdin
如果你已经下载了一个1TB长的播放列表,并想相应地重命名文件,怎么办呢?youtube-dl可以下载播放列表元数据,但如何获取此元数据以便从脚本中使用来匹配已下载的文件并将它们重命名呢? - Andrew Savinykh

8
使用 youtube-dl -o '%(playlist_index)s. %(title)s.%(ext)s' https://www.youtube.com/playlist?list=... 命令。

1
先生,谢谢,它起作用了,但是您添加了播放列表索引,如果我要在前面添加自己的数字而不是播放列表索引,我该怎么办? - Desmnd

4
我找到的最佳解决方案是:
youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" <playlist_link>

例如:

youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" https://www.youtube.com/playlist?list=PLf8i4fc0zJBzLhOe6FwHpGhBDgqwInJWZ

如果我已经下载了视频并想要重命名它,该怎么办? - rkscodes

1
'outtmpl': 'temp/' + str(i) +'.%(ext)s' 

0

这是我最近一直在使用的东西。

youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" -f best "https://www.youtube.com/playlist?list=YOUR_PLAYLIST_ID"

0

你必须将 YouTube 链接放在引号 "" 中

例如

youtube-dl -o "%(playlist_index)s-%(title)s.%(ext)s" "https://www.youtube.com/watch?v=ZNObiptSMSI&list=PL08903FB7ACA1C2FB"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接