Youtube 最近对其 UI 和 API 进行了重新设计,其中视频内容现在分为常规视频、直播视频和短片等。在更改之前,要下载某个频道的所有视频,我会使用 url:youtube.com/c/{channelName}/videos
或youtube.com/channel/{channelId}/videos
(无论哪个可用)。这导致 yt-dlp 出现问题,无法找到某些频道的视频,尤其是当它没有常规视频时。2022.11.11据称修复标签处理但这并不完全正确。使用我的旧脚本,上面的操作似乎无法找到所有视频。
我如何指定我想要下载所有视频?我现在是否必须为每个选项卡单独运行命令,或者有没有办法让它再次工作全部视频?
例如,
yt-dlp -f ... -o ... --download-archive ... --match-filter ... https://www.youtube.com/c/somechannel/videos
我一直在使用“UU”频道播放列表的解决方法,但显然这并不完美,而且存在问题。我需要更改网址以youtube.com/c/{channelName}
获取所有视频吗?此外,快速获取任何频道或频道播放列表的频道 ID 并不是一件容易的事,所以如果可以的话,我想避免这样做。
答案1
现在看来,从某个频道下载所有内容的预期方式是使用完整的频道网址而没有特定的选项卡。
因此你可以使用以下 URL 下载:
https://www.youtube.com/c/{channelName}
https://www.youtube.com/channel/{channelId}
https://www.youtube.com/@{用户名}
yt-dlp 将对此进行特殊处理,并分别下载videos
、live
和shorts
标签。如果您想恢复之前的行为并下载频道的精选视频,则必须featured
直接下载标签。
当我之前测试时,这个功能以前对我来说不起作用,但我不知道为什么。事实证明,由于新的行为和我设置的过滤器,播放列表无法通过过滤器,导致什么都没有发生。虽然它将被修复在下一个版本中。