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

Dre*_*ams 41 youtube youtube-dl

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

我正在使用youtube-dl,命令是:

youtube-dl -citk –format mp4 –yes-playlist https://www.youtube.com/watch?v=7Vy8970q0Xc&list=PLwJ2VKmefmxpUJEGB1ff6yUZ5Zd7Gegn2
Run Code Online (Sandbox Code Playgroud)

但这仅下载第一个视频.不确定我做错了什么.

phi*_*hag 71

在shell中,&是一个特殊字符,建议shell在后台启动所有内容并将其作为一个进程.要避免此行为,您可以将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'
Run Code Online (Sandbox Code Playgroud)

或者,您只需使用播放列表ID:

youtube-dl -i PLwJ2VKmefmxpUJEGB1ff6yUZ5Zd7Gegn2
Run Code Online (Sandbox Code Playgroud)

  • youtube-dl -x -i <PLAYLIST_ID> 帮助我将播放列表转换为音频! (3认同)
  • @userqrqh123 这听起来像是一个不同的问题。继续[提问](/sf/)!在添加 `-v` 选项时不要忘记包含输出,因为这对于确定问题所在至关重要。`youtube-dl -i PLD07B2225BB40E582` 对我来说很好用。 (2认同)
  • 我还使用了`--no-check-certificate` (2认同)

Har*_*wat 16

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

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

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

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

视频选择:

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

$ youtube-dl [OPTIONS] URL [URL...]
Run Code Online (Sandbox Code Playgroud)
--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。


Nec*_*maz 15

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

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}
Run Code Online (Sandbox Code Playgroud)


Ras*_*him 15

下载播放列表时可能会发现有用的一些命令

\n

下载播放列表

\n
youtube-dl <playlist link>\n
Run Code Online (Sandbox Code Playgroud)\n

最佳质量视频和最佳质量音频(合并)+首选分辨率

\n
youtube-dl -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' <playlist link>\n
Run Code Online (Sandbox Code Playgroud)\n
\n

如果 1080p 可用,此命令将以 1080p 分辨率下载视频,否则它将下载下一个最佳(小于 1080p)分辨率的视频。在这里,您可以使用 480 或 720 等代替 1080。

\n

注意:请确保安装了\xe2\x80\x98FFmpeg\xe2\x80\x99,否则视频和音频将无法合并。

\n
\n

最佳质量视频和最佳质量音频(合并)+首选分辨率+在文件名上添加视频上传日期

\n
youtube-dl -o "[%(upload_date)s] %(title)s.%(ext)s" -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]'  <playlist link>\n
Run Code Online (Sandbox Code Playgroud)\n

最佳质量视频和最佳质量音频(合并)+首选分辨率+在文件名上添加视频上传日期+在文件名上添加上传者姓名

\n
youtube-dl -o "[%(upload_date)s] %(title)s [%(uploader)s].%(ext)s" -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' <playlist link>\n
Run Code Online (Sandbox Code Playgroud)\n
\n

字幕

\n
\n

最佳质量视频和最佳质量音频(合并)+首选分辨率+下载自动生成的字幕

\n
youtube-dl --write-auto-sub -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]'  <playlist link>\n
Run Code Online (Sandbox Code Playgroud)\n

最佳质量视频和最佳质量音频(合并)+首选分辨率+下载视频创建者\xe2\x80\x99s上传的字幕

\n
youtube-dl --write-sub -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' <playlist link>\n
Run Code Online (Sandbox Code Playgroud)\n

最佳质量视频和最佳质量音频合并 + 首选分辨率 + 下载视频创建者\xe2\x80\x99s 上传特定语言\xe2\x80\x99s 字幕

\n
youtube-dl --write-sub --sub-lang en -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]'  <playlist link>\n
Run Code Online (Sandbox Code Playgroud)\n


Spy*_*an 13

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

sudo youtube-dl -U
Run Code Online (Sandbox Code Playgroud)

或者

youtube-dl -U
Run Code Online (Sandbox Code Playgroud)

使用上述命令成功更新后

youtube-dl -cit https://www.youtube.com/playlist?list=PLttJ4RON7sleuL8wDpxbKHbSJ7BH4vvCk
Run Code Online (Sandbox Code Playgroud)


bom*_*ben 5

您的链接不是播放列表。

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

https://www.youtube.com/playlist?list=PLHSdFJ8BDqEyvUUzm6R0HxawSWniP2c9K
Run Code Online (Sandbox Code Playgroud)

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

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