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

Changing name of the video while downloading via youtube-dl

我想在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: error: using output template conflicts with using title, video ID or auto number

另外,下载整个播放列表然后一个一个重命名也不是我在搜索。

有没有命令可以下载播放列表并根据我的意愿并排重命名每个视频?

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

有时我很头疼根据顺序重命名和排序文件。

所以要添加自动编号,请使用 -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-

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

我找到的最佳解决方案是:

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

你必须将 youtube link 放在引号 ""

例子

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

这是我最近一直在用的

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