You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

yt-dlp设置abort-on-unavailable-fragment未生效,分片下载失败如何终止任务?

你配置无效的核心原因是参数名格式错误:yt-dlp的命令行参数用短横线分隔,但Python API调用时所有参数都要改为下划线分隔,你写的'abort-on-unavailable-fragment': TrueAPI无法识别,自然不会生效。

以下是需要补充/修正的完整配置项:

  • 修正参数名:把abort-on-unavailable-fragment改为abort_on_unavailable_fragment
  • 显式关闭分片自动跳过逻辑:添加'skip_unavailable_fragments': False,该参数默认值为True,优先级高于终止逻辑,不关闭的话yt-dlp会优先跳过高分片而非终止任务
  • 新增全局错误终止配置:添加'abort_on_error': True,遇到任何下载错误时直接终止整个任务,不会继续执行ffmpeg合并等后续步骤
  • 开启自动清理逻辑:添加'cleanup': True,任务异常终止时会自动删除本次生成的所有临时分片、未完成的输出文件

修正后的代码示例:

outTmpl = "{}"
rows = c.fetchall()
for row in rows:
    ydl_opts = {
        'verbose': True,
        'outtmpl': outTmpl.format(row[1]),
        # 修正参数名为下划线格式
        'abort_on_unavailable_fragment': True,
        # 关闭自动跳过不可用分片
        'skip_unavailable_fragments': False,
        # 任意错误直接终止任务
        'abort_on_error': True,
        # 异常退出时自动清理临时文件
        'cleanup': True,
        # 可选配置:分片下载失败重试次数,避免临时网络波动导致误终止
        'fragment_retries': 15,
        'retries': 10
    }
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([row[0]])

内容的提问来源于stack exchange,提问作者Jack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 00:54:03