YouTube-下载播放列表-youtube-dl


113

我正在尝试从播放列表下载所有视频:

我为此使用youtube-dl,命令为:

youtube-dl -citk –format mp4 –yes-playlist https://www.youtube.com/watch?v=7Vy8970q0Xc&list=PLwJ2VKmefmxpUJEGB1ff6yUZ5Zd7Gegn2

但这只会下载第一个视频。不知道我在做什么错。

Answers:


195

在外壳程序中,&是一个特殊字符,建议外壳程序在后台启动直到&的所有过程。为避免这种情况,可以将URL放在引号中。有关更多信息,请参见youtube-dl常见问题解答

也要当心-citk。除了之外-i,这些选项没有什么意义。有关更多信息,请参见youtube-dl常见问题解答。甚至-f mp4看起来很奇怪。

因此,您想要的是:

youtube-dl -i -f mp4 --yes-playlist 'https://www.youtube.com/watch?v=7Vy8970q0Xc&list=PLwJ2VKmefmxpUJEGB1ff6yUZ5Zd7Gegn2'

另外,您也可以使用播放列表ID:

youtube-dl -i PLwJ2VKmefmxpUJEGB1ff6yUZ5Zd7Gegn2

1
关于此C:\ Users \ lenovo \ Desktop \ New文件夹> youtube-dl -i PLD07B2225BB40E582 [youtube:播放列表] PLD07B2225BB40E582:下载网页[下载]下载播放列表:PLD07B2225BB40E582 [youtube:播放列表]播放列表PLD07B2225BB40E582:正在下载0个视频[下载] ]已完成下载的播放列表:PLD07B2225BB40E582 //表示已完成下载,但未下载任何内容。
阿尼尔BCT

1
@ userqrqh123听起来像是一个不同的问题。继续问吧!添加-v选项时,请不要忘记包含输出,因为这对于确定问题出在哪里至关重要。youtube-dl -i PLD07B2225BB40E582对我来说很好。

1
@ userqrqh123正如我说的,评论不是讨论您不相关问题的地方。请问一个问题。在该问题中,请包括您添加时获得的输出-v。另外,您可能应该确定当前正在查看的两个输出中的哪个-它们明显不同。

3
youtube-dl -x -i <PLAYLIST_ID>为我工作,将播放列表转换为音频!
加里

1
我还使用过--no-check-certificate
加文·帕尔默

55

在单独的目录中下载YouTube播放列表视频,该目录按播放列表中的视频顺序建立索引

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

下载YouTube频道/用户的所有播放列表,并将每个播放列表保存在单独的目录中:

$ youtube-dl -o '%(uploader)s/%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s' https://www.youtube.com/user/TheLinuxFoundation/playlists

视频选择:

youtube-dl是一个命令行程序,可以从YouTube.com和其他一些网站下载视频。它需要2.6、2.7或3.2+版本的Python解释器,并且它不是特定于平台的。它应该可以在您的Unix机器,Windows或macOS上运行。它已发布到公共领域,这意味着您可以随意修改,重新分发或使用它。

$ youtube-dl [OPTIONS] URL [URL...]
--playlist-start开始播放NUMBER个播放列表视频(默认为1)

--playlist-end NUMBER个播放列表视频结尾(默认为最后一个)

--playlist-items ITEM_SPEC要下载的播放列表视频项目。指定
                                 播放列表中视频的索引
                                 以逗号分隔,例如:“-播放列表项
                                 1,2,5,8“如果您要下载视频
                                 在播放列表中索引为1、2、5、8。您可以
                                 指定范围:“-播放列表项
                                 1-3,7,10-13“,它将下载视频
                                 在索引1、2、3、7、10、11、12和13。

使用-o'%(playlist)s /%(playlist_index)s-%(title)s。%(ext)s'无效,但--output“%(uploader)s%(title)s。% (ext)s”做了(我将-o更改为--output,并使用“而不是')
Seabass77,19年

如何通过视频质量选项-如480或720或1080等

-f,--format FORMAT视频格式代码,有关所有信息,请参见“ FORMAT SELECTION”
Harish Kumawat

--all-formats下载所有可用的视频格式
Harish Kumawat

--prefer-自由格式不想免费的视频格式,除非特定的一个请求
哈里什Kumawat

8

我已经尝试了以上所有方法,但是没有一个可以解决我的问题。我通过更新youtube-dl的旧版本以下载播放列表来解决此问题。更新它

sudo youtube-dl -U

要么

youtube-dl -U

使用上述命令成功更新后

youtube-dl -cit https://www.youtube.com/playlist?list=PLttJ4RON7sleuL8wDpxbKHbSJ7BH4vvCk

如果不允许自动更新(删除已安装的更新后),请使用:sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dlsudo chmod a+rx /usr/local/bin/youtube-dl
AlexSzücs20年

谢谢。版本2020-11-26在Mac上为我工作
JackChouMine

6

经过多次尝试,我找到了最佳解决方案。

youtube-dl --ignore-errors --format bestaudio --extract-audio --audio-format mp3 --audio-quality 160K --output "%(title)s.%(ext)s" --yes-playlist https://www.youtube.com/playlist?list={your-youtube-playlist-id}

2

您的链接不是播放列表。

正确的播放列表网址如下所示:

https://www.youtube.com/playlist?list=PLHSdFJ8BDqEyvUUzm6R0HxawSWniP2c9K

您的网址只是第一视频某个播放列表。它包含https://www.youtube.com/watch?而不是https://www.youtube.com/playlist?

通过单击视频列表右侧的播放列表标题来选择播放列表,然后使用此URL。



0

最简单的方法是创建一个file.txt文件并传递链接URL链接,这样:

https://www.youtube.com/watch?v=5Lj1BF0Kn8c&list=PL9YFoJnn53xyf9GNZrtiraspAIKc80s1i

确保-a在终端中包含参数:

youtube-dl -a file.txt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.