大家好,我是 Ai 看视频的老章
前文,很受欢迎,大家提了很多奇怪的需求,不便提及,我这个 skills 远比想象中强大,那些奇怪的视频可以下,但不能说
我这个 skills 显然是用于正经用途的,比如随后开源的,融入了我的很多奇思妙想,但是网友们比我脑洞还大,玩法很多样
不能忘了初心,这个视频下载Skills是从我的中抽出来强化后的,原 z-web-pack 的视频处理环节显得太落后了
顺便提下,目前我已经开源了9个Skills,比如之前承诺过的四格漫画
之前 z-web-pack 太能干了,网页正文要采、图片要存、顺手连视频也要下,链接要下钻,下钻之后上面的步骤再拉一遍
刚开始看起来挺爽,一条命令全包
但工具一旦长胖,问题就来了:网页采集本来追求轻、快、稳,视频下载偏偏又重、慢、容易被平台风控卡住
所以这次我做了个拆分:z-web-pack 只负责发现视频链接,真正下载统一交给 z-video-downloader
为什么要拆
我之前写 1-web-pack 的时候,确实加过视频下载能力
当时的思路:
正文里有
、 、.mp4直链,就流式下载到assets遇到 YouTube、B 站、Vimeo、X、抖音、m3u8,就交给
yt-dlp平台报登录、bot、412、cookie,再加
--browser-cookies chrome重试下载成功后,把 Markdown 里的视频链接替换成本地路径
功能完整,却不够强,和网页素材采集的节奏不太一样
采集网页素材,我希望它像扫地机器人,悄悄把正文、图片、链接整理好,失败一两个页面兜底都搞不定的情况下也能继续往下走
视频下载更像搬大件,动不动几百 MB,平台还会查登录态、查 cookie、查 bot,失败原因也复杂很多
这两个动作绑在一起,最后就会出现一个很别扭的体验:我只是想采一份写作资料包,结果它可能因为一个视频链接卡半天
这次主要动了 4 块
第一块,改 z-web-pack/scripts/collect_web_pack.py
以前脚本里有一整套视频下载逻辑:
--videos direct
--videos all
--max-video-mb
--browser-cookies
download_direct_video
download_platform_video
apply_videos_to_page
这些都被清掉了
现在脚本只保留视频链接识别
它会从这些地方抓线索:
页面里的
和正文里的
.mp4、.webm、.mov等直链YouTube、B 站、Vimeo、X、TikTok、m3u8 这类平台链接
入口本身就是视频页的情况
发现之后写进 04-media-inventory.md
清单里会明确标出来:
Status: detected
Kind: direct / platform
Download Skill: z-video-downloader
Source URL: 原始视频链接
这就够了
素材采集阶段只负责把线索留好,下载阶段再由专门工具接手
第二块,改 z-web-pack/SKILL.md
这是给 Agent 看的说明文件
我把原来那些“视频也下载”“平台视频走 yt-dlp”“浏览器 cookie 重试”的描述删掉了
现在说明里只保留一句核心规则:
发现视频链接只记录到 04-media-inventory.md,下载视频请使用 z-video-downloader
第三块,改 z-video-downloader/SKILL.md
z-video-downloader 现在是视频下载的唯一承接方
我在它的流程里补了一句:
如果链接来自 1-web-pack 的 04-media-inventory.md,直接使用 Source URL 列里的地址
这样两个 skill 就接上了
z-web-pack 产出线索,z-video-downloader 拿线索下载
第四块,新增项目根目录 README.md
原来 z-skills 根目录没有一个总入口
这次顺手补上:
z-web-pack负责网页素材包采集z-video-downloader负责视频下载从这次调整开始,视频链接只进
04-media-inventory.md如果要保存视频,把 Source URL 交给
z-video-downloader
很简单,大家看上哪个就复制走,或者直接把扔给 Agent 让其帮你安装即可
热门跟贴