如何使用 youtube-dl 获取播放列表名称(标题)

zar*_*.os 6 fedora youtube bash-scripting youtube-dl

我在 Linux 中遇到了 youtube-dl 的问题,所以我想创建一个 bash\n脚本,让我下载一个播放列表并将所有视频放入\n具有该播放列表名称的单独文件夹\n这是我的尝试:

\n\n
#!/bin/bash\n\necho \'Enter the URL of the playlist : \'\nread url\ntitle = youtube-dl -o "%(title)s \\"$url\\""\nmkdir "$title"\ncd $title\nyoutube-dl --download-archive archive.txt $url\n
Run Code Online (Sandbox Code Playgroud)\n\n

但它总是给出这个错误:

\n\n
[gerzal@dhcppc1 Videos]$ ./try.bash\nEnter the URL of the playlist :\nff\nyoutube-dl -o %(title)s "ff"\n./try.bash: line 6: title: command not found\nmkdir: cannot create directory \xe2\x80\x98\xe2\x80\x99: No such file or directory\n
Run Code Online (Sandbox Code Playgroud)\n\n

预先感谢您的帮助,我们将不胜感激。

\n\n

更新信息:

\n\n

我联系了一位 youtube-dl 开发人员,他在一个命令行中给了我解决方案,而没有添加 mkdir 命令,这是命令行:

\n\n
youtube-dl --download-archive archive.txt -o \'%(playlist_title)s/%(title)s-%(id)s.%(ext)s\' "$url"\n
Run Code Online (Sandbox Code Playgroud)\n

Dev*_*val 0

将 -o 选项与yt-dlp命令一起使用来自定义输出文件名

  • 对于索引:%(playlist_index)s
  • 对于标题:%(标题)s
  • YouTube用户姓名:%(uploader)s
  • 对于视频 ID:%(id)s

yt-dlp -i -o "%(playlist_index)s-%(title)s-%(uploader)s-%(id)s" --get-filename --skip-download --no-warnings youtube_link
Run Code Online (Sandbox Code Playgroud)