youtube-dl:如何跳过播放列表中不可用片段的视频,但不中止播放列表下载?

youtube-dl: How to skip videos with unavailable fragments in playlist, but not to abort playlist downloading?

我想使用 youtube-dl 从 youtube 下载视频播放列表,以便进一步离线观看。 有些视频有不可用的片段(但由于某些原因,通过浏览器观看时没有问题)。我想下载播放列表,但跳过缺少片段的视频。

我原来的运行是:

youtube-dl -if bestvideo+bestaudio PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW

但它 "freezes" 在视频中丢失片段。

后来,在文档中我找到了这个选项选项--abort-on-unavailable-fragment

但是当尝试下载片段需要重试 10 次时,以下命令就会中止。

youtube-dl --abort-on-unavailable-fragment -if bestvideo+bestaudio PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW

我也找到参数--skip-unavailable-fragments,但是它只是跳过不可用的片段,继续下载下一个片段。合并后会导致视频出现故障。

youtube-dl --skip-unavailable-fragments -if bestvideo+bestaudio PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW

是否有任何选项/参数可以下载整个播放列表,但一旦有视频丢失片段:跳过该视频并切换到播放列表中的下一个视频?

--abort-on-unavailable-fragment  Abort downloading when some fragment is not
                                 available

如果视频中有不可用的片段,这将跳过该视频,摘自自述文件:https://github.com/ytdl-org/youtube-dl#download-options 在同一问题上进行了测试。

我试过上面提到的答案,但它会中止整个播放列表。我尝试使用 -i 忽略所有错误并在视频在您所在的国家/地区不可用时跳过。而且这个方法没有任何问题。

youtube-dl -i -o "%(title)s.%(ext)s" 'https://www.youtube.com/playlist?list=PLx65qkgCWNJIs3FPaj8JZhduXSpQ_ZfvL'
  1. 如果您只需要音频,请使用 --extract-audio
  2. 如果要指定音频格式,请使用--audio-format mp3
-i, --ignore-errors

这个很适合我。

2021 年更新:

您可以使用

--abort-on-unavailable-fragment  --ignore-errors

这样,如果视频有不可用的片段,它将跳到下一个片段而不中止,忽略中止。