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

时间:2019-07-18 17:05:42

标签: playlist youtube-dl

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

我最初的跑步是:

youtube-dl -if bestvideo+bestaudio PLEsfXFp6DpzTD1BD1aWNxS2Ep06vIkaeW

但是它会“冻结”缺少片段的视频。

稍后,我在文档中发现了此选项--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

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

4 个答案:

答案 0 :(得分:1)

-i, --ignore-errors

这个对我来说很好。

答案 1 :(得分:0)

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

如果视频中有不完整的片段,则会从自述文件https://github.com/ytdl-org/youtube-dl#download-options进行测试,跳过该视频。

答案 2 :(得分:0)

我尝试了上述答案,但它中止了整个播放列表。我尝试使用-i忽略所有错误,如果您所在的国家/地区无法播放该视频,则会跳过。而且这种方法可以正常工作。

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

答案 3 :(得分:0)

2021 年更新:

你可以使用

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

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