视频链接下载器
用途
把用户给的视频链接(或直链媒体地址)下载成本地文件,默认保存到桌面/视频文件夹。
底层是 yt-dlp + ffmpeg,已在本机安装可用(yt-dlp 2026.10.21、ffmpeg 9.0.2)。
何时使用
- 「帮我把这个视频下载下来」「扒一下这条」「存到电脑上」
- 「要这个视频的原文件」「能不能下 1080p」
- 「只要音频」「转成 mp3」
- 「顺便把字幕也下了」
- 给了 B站/YouTube/抖音/小红书/微博/X 等站点的链接,且意图是保存到本地
不适用:只需要视频里的文字内容(那用 video2text.py 转写)、下载非媒体文件、需要破解付费墙。
执行方式
脚本位置(相对本技能目录):scripts/dl.py
调用(Windows,用当前 Python 环境,已装 yt-dlp):
python "<技能目录>/scripts/dl.py" "<链接>"
最小可用命令就是脚本 + 链接。不要自己拼 yt-dlp 命令——脚本已处理好画质选择、音视频合并、文件名清洗、进度显示与错误提示。
常用参数
| 参数 | 用途 |
|---|---|
-q 720 / -q 1080 / -q best |
指定画质,默认 1080 |
-o "D:/素材" |
本次改存到别的目录 |
--set-path "D:/素材" |
永久改默认目录(写入 scripts/config.json) |
--audio |
只下音频(默认 mp3,可 --audio-format m4a) |
--subs |
下载并内嵌字幕(中文/英文优先) |
--meta |
内嵌封面与元数据 |
--playlist |
允许整个播放列表批量下 |
--name "自定义名" |
指定文件名 |
--plain-name |
文件名不带 [视频ID] |
--cookies-from-browser chrome |
借浏览器登录态(会员/登录内容) |
--proxy http://127.0.0.1:7890 |
走代理(YouTube 常用) |
--info |
只看标题/时长/最高画质,不下载 |
--list |
列出全部可选格式 |
--json |
只输出 JSON(含 filepath / size / title) |
--open |
下完自动打开所在文件夹 |
@list.txt |
批量:每行一个链接,# 开头忽略 |
默认路径逻辑
优先级从高到低:
- 本次
-o/--path scripts/config.json的default_dir(由--set-path写入)- 环境变量
VIDEO_DL_DIR - 桌面/视频(自动创建;桌面若在 OneDrive 下会自动识别)
用户说「改个保存位置」时:一次性用 -o,以后都存这儿用 --set-path;改完用 --show-config 确认,改回默认用 --set-path ""。
工作流程
- 判断意图:要视频文件 / 只要音频 / 只要信息。含糊时先跑
--info,把标题、时长、最高画质报给用户确认,避免下错视频。 - 画质不明确时默认 1080,不要擅自下 4K(文件大、耗时长)。用户说「随便」「小一点」时用 720。
- 执行下载,把脚本输出的最终文件路径和体积回报给用户。
- 失败时读脚本打印的
→ 提示行(脚本内置错误映射),按提示处理:
- 需要登录 →--cookies-from-browser chrome
- 403 / 地区限制 →--proxy
- 解析不了 → 先--list验证链接,短链先展开为完整地址
仍失败再查references/sites.md的站点说明。
硬性规则
- 不擅自改默认保存目录:只有用户明确说「换个位置 / 以后存到 X」时才用
--set-path。 - 不覆盖已有文件:默认文件名带
[视频ID],重复下载会跳过;用户要求覆盖时先问。 - 完成后必须回报真实路径:不要把预期路径当结果报,脚本返回的
filepath已校验存在。 - 用户要求「批量扒全网视频做素材库」时,提醒平台条款与版权风险,不提供绕过手段。
输出示例
[下载] https://www.bilibili.com/video/BV1GJ411x7h7
画质 480 → C:\Users\donyyang\Desktop\视频
[download] 100% of 5.16MiB in 00:00:00
[完成] 共 1 个文件,存到 C:\Users\donyyang\Desktop\视频
【官方 MV】Never Gonna Give You Up - Rick Astley (9.9 MB)
C:\Users\donyyang\Desktop\视频\【官方 MV】Never Gonna Give You Up - Rick Astley [BV1GJ411x7h7].mp4
依赖
yt-dlp(python -m yt_dlp可用即可,本机已装)ffmpeg(合并音视频、转码、内嵌字幕必需,已在 PATH)
缺任一依赖时脚本会打印提示,先补装再重试。站点差异与常见报错见 references/sites.md。