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

如何通过youtube-dl自定义下载音视频的文件名与存储路径?

解决youtube-dl自定义文件名与指定保存路径的问题

核心配置:outtmpl参数

youtube-dl 通过 ydl_opts 中的 outtmpl 项,可同时实现指定保存文件夹和自定义文件名的需求,支持固定路径/名称,也支持调用视频元数据占位符。

1. 固定路径+自定义文件名

如果需要将文件保存到指定文件夹(比如 ./my_downloads/),并使用固定名称命名,可按如下配置:

def downloadVideos(videoURL):
    ydl_opts = {
        'format': 'bestvideo,bestaudio',
        # 保存到my_downloads文件夹,文件名为custom_video,自动匹配扩展名
        'outtmpl': './my_downloads/custom_video.%(ext)s',
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([videoURL])

其中 %(ext)s 是内置占位符,会自动替换为文件实际扩展名(如 mp4、m4a),避免手动写死后缀。

2. 利用视频元数据命名

如果想根据视频自身信息(标题、上传者等)命名,youtube-dl 提供了多种内置占位符,常用的包括:

  • %(title)s:视频标题
  • %(uploader)s:视频上传者名称
  • %(id)s:视频ID
  • %(ext)s:文件扩展名

示例(保存到指定文件夹,用「标题+ID」命名):

def downloadVideos(videoURL):
    ydl_opts = {
        'format': 'bestvideo,bestaudio',
        'outtmpl': './saved_videos/%(title)s-%(id)s.%(ext)s',
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([videoURL])

3. 可选:合并视频与音频文件

若不想分开下载视频和音频,可调整配置实现自动合并:

def downloadVideos(videoURL):
    ydl_opts = {
        # 优先下载最佳视频+音频并合并,无合并源则下载最佳单文件
        'format': 'bestvideo+bestaudio/best',
        # 指定合并后文件格式为mp4
        'merge_output_format': 'mp4',
        'outtmpl': './merged_videos/%(title)s.%(ext)s',
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([videoURL])

此配置会生成一个合并后的完整视频文件,文件名符合自定义规则。

注意事项

  • 指定的目标文件夹若不存在,youtube-dl 会自动创建,无需手动操作。
  • 更多可用的元数据占位符,可通过执行 youtube-dl --help 查看完整列表。

内容的提问来源于stack exchange,提问作者U. Watt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:07:12