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

使用youtube-dl录制直播时应如何配置录制时长参数

youtube-dl直播录制时长配置方案

两种无需外部timeout控制的内部配置实现方式如下:

方案1:使用youtube-dl原生download_ranges参数

该参数通过回调函数指定下载的时间区间(单位为秒),适配所有youtube-dl支持的流场景:

import youtube_dl
def record_stream(name, url, duration):
    # 回调函数固定返回需要录制的时间范围,0为起始点,duration为录制总时长
    def range_callback(info):
        return [(0, duration)]
    opts={
        'outtmpl': name,
        'download_ranges': range_callback
    }
    youtube_dl.YoutubeDL(opts).download([url])

方案2:调用ffmpeg作为外部下载器(完全对齐原生ffmpeg命令效果)

该方案和ffmpeg -i {url} -t {duration} -c copy {name}逻辑完全一致,直接拷贝流无编码损耗,更适合直播场景:

import youtube_dl
def record_stream(name, url, duration):
    opts={
        'outtmpl': name,
        'external_downloader': 'ffmpeg',
        # 直接传递ffmpeg的时长、流拷贝参数
        'external_downloader_args': ['-t', str(duration), '-c', 'copy']
    }
    youtube_dl.YoutubeDL(opts).download([url])

两种方案均不需要借助外部进程控制,完全在youtube-dl的参数配置内实现时长限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:27:04