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

如何在Python脚本中通过yt-dlp正确下载视频指定片段?

解决yt-dlp指定片段下载无效的问题

问题根源

  1. 缺少FFmpeg依赖:yt-dlp的视频片段切割功能完全依赖FFmpeg实现,从你的日志中可以看到[debug] exe版本:无,说明系统未安装FFmpeg。这种情况下yt-dlp会自动跳过切割流程,直接下载完整视频。
  2. 配置格式适配问题:你使用的是2022.08.19版本的yt-dlp,该版本对download_sections的格式要求较严格,你写的嵌套字典结构不被旧版本识别。

解决步骤

1. 安装FFmpeg

前往FFmpeg官方渠道下载对应系统的安装包,解压后将ffmpeg.exe所在路径添加到系统环境变量中,确保在命令行输入ffmpeg能正常执行。

2. 修正配置写法

针对你的yt-dlp版本,以下两种写法均有效:

写法一:直接使用时间字符串(最简洁)

import yt_dlp

yt_opts = {
    'verbose': True,
    'download_sections': '00:00:02-00:00:07',
    'force_keyframes_at_cuts': True  # 避免切割后的视频开头出现卡顿
}

ydl = yt_dlp.YoutubeDL(yt_opts)
ydl.download("https://www.youtube.com/watch?v=BxUS1K7xu30")

写法二:简化字典格式

如果偏好使用字典配置时间,无需嵌套多层结构:

import yt_dlp

yt_opts = {
    'verbose': True,
    'download_sections': [{'start_time': 2, 'end_time': 7}],
    'force_keyframes_at_cuts': True
}

ydl = yt_dlp.YoutubeDL(yt_opts)
ydl.download("https://www.youtube.com/watch?v=BxUS1K7xu30")

额外建议

如果上述操作后仍无效,建议升级yt-dlp到最新版本,新版本对片段下载的兼容性和稳定性更好:

pip install --upgrade yt-dlp

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 07:24:19