﻿
================= 视频下载器 · 使用说明 =================

零安装：不用装 Python，不用装 ffmpeg，不用改系统设置、不要管理员权限。
把「dl-便携版」这个文件夹放在哪都行（桌面、D盘、U盘都可以）。

—— 只做一次（约 30 秒，做完永久生效）——
   双击本文件夹里的：  双击我-安装dl命令.cmd
   （若 Windows 提示「已保护你的电脑」，点「更多信息 -> 仍要运行」；
     或先右键 zip -> 属性 -> 勾选「解除锁定」再解压）
   它做的事：往几个本来就在 PATH 上的目录里放 13 个命令入口（dl / cut / fix / shrink / trim / join / shot / gif / mute / mux / verify / transcript / doctor）。
   不改 PATH、不动系统设置、不需要管理员权限。
   做完之后，连已经开着的 cmd / PowerShell 窗口都能直接用（不用重开）。

—— 之后每天怎么用 ——
   1) 在浏览器里复制视频链接（YouTube / B站 等）
   2) 打开 任意 cmd 或 PowerShell 窗口
   3) 敲   dl        然后回车
   文件存到「你的 下载 文件夹」：C:\Users\你的名字\Downloads

   指定画质：   dl -q 1080        （封顶 1080p；默认 best，可能下 4K）
   全部命令：   dl help
   直接给链接： dl "https://...&..."   （链接里带 & 时必须加双引号）
   只下音频：   dl --audio-only
   换目录：     dl -o D:\videos
   多链接：     dl --jobs 3

   下载默认给你两个文件：视频 + 分离出来的音频（同名 .m4a，原音轨直拷、不重编码）
   只要视频：   dl --no-also-audio
   默认目录：   dl config set out_dir D:\videos   （改一次，以后都存那儿）
   这是哪一版： dl version        （命令数 / MCP 工具数 / 测试数 / 运行环境）
   想看英文：   set DL_LANG=en     （默认跟着 Windows 界面语言；这也影响悬浮进度条）
   给 agent 用：dl mcp install --all --apply   （把 MCP 服务器注册进主流客户端，默认只打印）

—— 给硬盘上已有的视频分离音频：cut 命令 ——
   1) 复制文件的完整路径（资源管理器里 Shift+右键 -> 复制文件地址）
   2) 敲：      cut "D:\videos\某视频.mp4"
   音频会落在**该视频所在的目录**、与它同名（.m4a）。
   转 mp3：     cut "D:\videos\某视频.mp4" mp3
   不带参数：   cut            （读剪贴板里的文件路径）
   批量最省事： 敲 cut + 空格，然后在资源管理器里一次选中多个视频，
                直接拖到窗口上，回车 —— 一次全部处理。
   只读原视频，不会改它。

—— 悬浮进度条 ——
下载时桌面上会出现一条小进度条：暗绿横条、右侧百分比、右上角 ✕、
按住任意位置可拖动（拖动时光标是小手），始终在最前面。
下载成功会停 2.3 秒、失败停 3.2 秒再自动消失（失败那屏是暗红色，右侧写着原因标签）。
如果你中途把它关掉了，收尾时它会再弹回来一次，让你看见结果。
不想要它：dl --no-progress-ui

—— 忘了做那一步怎么办 ——
   直接双击 dl.cmd（或 cut.cmd）也行：第一次运行会自己静默装好全部 13 个入口，
   而且窗口不会一闪而过 —— 会显示"文件存到哪"并等你按键。

—— 常见问题 ——
* 站点改版导致下载失败？敲：  dl update
  （更新 yt-dlp，走国内镜像，不需要 VPN）
* 提示 dl.cmd not found？说明这个文件夹被挪动或改名了。
  回到文件夹，重新双击一次「双击我-安装dl命令.cmd」即可。
* 想彻底卸载：删掉这个文件夹，再把上面那几个目录里的 13 个 .cmd 删掉即可。

—— 说明 ——
* 只支持 Windows。
* 浏览器兜底已内置（用你机器上的 Edge/Chrome，不用额外下载），抖音走这条；
  但抖音受站点风控影响，可能失败——失败时看提示里的原因。
* 本包已内置 ffmpeg 7.1，YouTube 的 AV1+Opus 合并已实测通过。
=======================================================

—— 全部命令（也都可以写成 dl <命令>）——
dl         下载视频+分离音频（复制链接敲 dl）
cut        抽音频（原音轨直拷，或点名格式重编码）
           cut "<视频/文件夹>" [mp3|m4a|opus|ogg|flac|wav]
doctor     网络体检：出口 IP + 站点可达性 + 可操作结论
           doctor [--allow-private] [--no-exit-ip]
fix        兼容转码：AV1/Opus 等转成 H.264/AAC 的 mp4（微信/剪映/老播放器能放）
           fix "<视频>" [更多文件...] [--max-height 1080] [--crf 20] [--force]
gif        片段转动图（调色板两遍法，画质好）
           gif "<视频>" 00:10-00:14 [--width 640] [--fps 12]
join       多个视频合成一个（优先无损拼接，参数不一致自动回退重编码）
           join "a.mp4" "b.mp4" [更多...] [--name 输出名]
mute       去掉音轨，留无声素材
           mute "<视频>" [更多文件...]
mux        把字幕或音轨封进视频（mp4 优先，装不下自动回退 mkv）
           mux "<视频>" "<字幕.srt|音轨.m4a>" [--replace-audio] [--container mkv]
shot       抽帧截图（给时刻，或 --count 按时长均分）
           shot "<视频>" 00:12 [00:30 ...]   或   shot "<视频>" --count 3 [--scale 1280]
shrink     压体积：按目标 MB 或封顶分辨率（已达标会跳过，除非 --force）
           shrink "<视频>" [--target-mb 25] [--max-height 1080] [--codec h265] [--force]
transcript 把字幕变成能直接读的段落文字（本地解析 / URL 只下字幕）
           transcript "<URL 或字幕文件>" [--langs "zh.*,en.*"] [--timestamps] [--md] [--out DIR]
trim       剪一段时间（默认关键帧级快速剪，--reencode 精确到帧）
           trim "<视频>" 00:30-01:20  或  trim "<视频>" --from 30 --duration 15
verify     自检：能不能解码、有没有音轨、时长是否正常（下完/收到文件后验一下）
           verify "<文件或文件夹>" [--deep 完整解码] [--require-audio 无音轨算错]
