anything2explainer 升级版评测:3,319 星零 release 零 tag,31 个 commit 把审美改成了能跑的脚本

想把一个技术概念讲明白,最省事的路是丢给 AI 视频模型:画面很唬人,可图上那几个字全是糊的,数字一个都不敢用。第二省事的路是自己开剪辑软件,四分钟的一条片要摆一晚上。

9 月 12 日本号实测过一个叫 anything2explainer 的开源项目:给它一个话题,它产出一条带配音、带逐字字幕、带章节进度条的黑底讲解片,每一帧都由代码画出来。当时它上线三天多,954 星。

两个月过去,这个数字变成 3,319 星、423 个 fork,星数涨了 3.5 倍。而从 9 月 17 日到 11 月 9 日这两个月里,仓库只落了 11 次提交:全部 31 个 commit,零个 release、零个 tag。一个讲「怎么把活干好」的方法型仓库,两个月不打一个版本号,星数却翻了 3.5 倍,这个反差本身就是这篇要写的东西。

这篇是上次那篇实测的续集,旧文讲过的功能介绍(四层交付物、九个阶段、样片档案怎么读)这里一句都不重复,只写这两个月新长出来的东西,以及我这次在沙箱里逐个重新核过的数字。

跟 9 月那版比,改了什么

先说结论:这两个月它没加功能,全在改「怎么判断一条片好不好看」。这 11 次提交分成两批,一批在 9 月 17 到 18 日,一批在 11 月 9 日,中间隔了快两个月,一次都没动。

第一批是审美与节奏规则。9 月 17 日一天落了 6 次提交,18 日又补 2 次。改动摊在主入口、八个规范文档和一个检测脚本上:

改了什么 落到了哪里 读者的实际感受
片尾默认署名「built by Anything2Explainer skill」 片尾配置里一行开关,设成空字符串就去掉 用它的模板出的片,收尾会自己带一行署名
章与章之间要有起承转合 章末解说留钩子、章首先回指上一章的成果再开题、章首画面承接上一章的主角 不再出现「讲完就切一张标题卡」的断裂感
章名与顶部小节名定位为导航标签 写进分镜规范:名词短语、中文不超过 6 字、各章结构平行 看一眼进度条就知道这段讲什么,而不是看一句俏皮话猜
配音默认语音不加速 语速参数从加 8% 改回原速,字数预算按每秒 5.5 字重算 听着不赶了,代价是同长度文案的成片变长
停顿只放在段末 段内句间留 10 帧、段末留 30 帧 小句之间不再一顿一顿,只有讲完一段、画面切换时才停
紫光扫光全片不超过 2 处,并加一份「扫光白名单」 分镜里多一列白名单,自检脚本按文件计数 那种三条紫光横扫的炫技镜头,从「每章都有」压到整片最多两次
落位停留规则 静止上限 3 秒、末拍停 1 到 1.5 秒再离场、镜头不等于句子、句间空白 20 帧 元素落地后不许立刻消失,也不许站着不动太久

这批改动里最值得说的是最后两条。它们不是「让画面更好看」的形容词,而是把「看起来赶」「看起来空」这两种主观感受,翻译成了秒数和帧数:一个元素入场之后不许完全静止超过 3 秒,一个镜头最后一个元素落位后必须停够 30 帧(1 秒)再离场。

换句话说,它把「审美」这件事切成了能被程序逐帧数出来的指标,有了这两个数,才能写脚本去量。

第二批在 11 月 9 日,一天落了 3 次提交,性质完全不同:不是审美,是让模板脚本能在别人的机器上跑起来。三件事:把五个 shell 脚本的入口统一成 bash(之前有写死 zsh 的,Linux 机器上第一步就中止);Python 读取文件时强制按 UTF-8 编码(避免 Windows 中文环境默认按 GBK 读取导致乱码);找不到 python 命令时回退到 python3(或反过来)。

同一天还补了一份口播写作规范的简体中文译本,76 行。

跟着这批改动一起进来的还有一个自测文件,166 行,8 个用例——这是全仓库唯一能真跑起来的测试,下面实证段细说。

实证:三个判据脚本、一份能跑的自测

旧文里我夸过它「把审美写成了可判定的数字」。当时那句话靠的是规范文档里的阈值。这次我把三个判据脚本逐个读完了,才发现阈值和脚本是两回事:阈值可以写在文档里糊弄人,脚本不能。

脚本 行数 它到底检查什么 判据写在哪
静态自检 106 每个镜头源码里写的起止帧和分镜表对账,报空洞与重叠;每个镜头的闪烁动效次数和白名单比;用了紫光扫光类效果的文件和白名单比,白名单超过 2 条直接判问题;从源码里抠出所有会上屏幕的字符串,比对事实清单 白名单列在分镜表里,脚本按正则抓
节奏体检 138 每 3 帧抽一张,裁掉顶部信息条和底部字幕带,量中间内容区的逐帧变化:最长静止多少秒、最后一个元素落位后停了多少帧 三个常量写死在文件头:静止阈值 0.35、静止上限 3.0 秒、停留下限 30 帧
构图与光 159 逐镜头量最大物体高度、主角区柔光面积、紫色碎片数量、空场持续帧数;主角区柔光面积低于 800 就报「主角无光」 主体小于 170 像素报「主角不够大」,小主体持续 45 帧报空场

这三份东西的分工很有意思:第一份不需要渲染,读源码和分镜表就能跑,几秒钟出结果,所以能在派活给 AI 之前拦住「帧没排满」「闪烁多了一处」这类硬错;第二份和第三份要渲染出来的帧,所以只能在渲完之后查,而且作者自己写明「成片复测才算判据,分组预览的读数偏松」。

第二个脚本里有个细节很能说明作者的较真程度:它量「变化」时不是看整帧像素动不动,而是先把顶部信息条和底部字幕带裁掉,只看中间内容区。判断「静止」的阈值是 0.35,判断「大面积变化」的阈值是 1.5,中间那段 0.4 到 1.2 的变化被明确归为「落位之后还在跑的动词动作」。

翻译成人话:元素停稳之后,画面上那条还在流动的数据线不算「动」,只有整块版面在变才算动。这样量出来的停留,才是观众眼里的停留。

至于那份自测,我在沙箱里跑了:

项 结果
跑法 用系统自带的 Python 3.13 直接执行,不装任何依赖
结果 Ran 8 tests / OK,用时 0.5 秒,8 个用例全过
它怎么绕开环境 用假命令顶替打包工具、渲染器和视频转码工具,不真装;另模拟 GBK 默认编码,测 UTF-8 回归
覆盖什么 五个入口脚本的入口格式与可执行位、python3 坏掉时回退、缺 rsync 时改用安全暂存、指定帧全部输出、不经 zsh 直接运行

这台机器上没装 Node,也没装视频转码工具,这份自测照样全绿——因为它压根不需要那些东西,它测的是「脚本在别人的机器上会不会因为路径带空格、编码不同、命令名不一样而崩」。一台没有 Node 的机器上,一个 Remotion 项目的测试全过,这件事本身就是 11 月 9 日那批改动的目的。

没跑成的部分一并说清楚:静态自检对着样片档案跑到一半报错退出,因为样片目录里没带时间轴文件;构图脚本因为沙箱里没有数值与图像处理库,直接退出;整条渲染流程要装 Node、Remotion 全家桶和转码工具,本机按规矩不装。

所以这篇不评价它成片的实际观感,只评它把判据写成脚本这件事。

顺手把仓库规模过了一遍。211 个文件、39MB 的仓库,两个月的增量全在规范和判据上,不在代码量上。

项 数字
仓库文件数(不含版本库目录) 211
组件文件 / 其他脚本文件 85 个 / 29 个,合计 8,041 行
Python 工具 7 个、1,143 行,最大的一个是配音工具 523 行
规范文档 11 份、913 行
主入口 / 中英两份说明 92 / 234 / 234 行
样片镜头源码 44 个镜头组件,加每组的预览与索引文件共 62 个,分 9 个构建组
样片质检报告 4 章各一份加 1 份终检,583 行
提交 / 发行版 / 版本标签 31 / 0 / 0

31 个提交里有 5 个来自四位外部贡献者,作者自己 26 个。13 个合并请求里还有 2 个挂着没合:一个让渲染并发(也就是同时开几个进程一起渲)按机器核数自适应,一个让构建脚本能在 Windows 的 Git Bash 里跑。所以「零版本号」不是没人管,是作者把版本号这件事整个略过了。

许可这块也得更新。旧文写的是「作者对商用咨询没有回复」,现在不成立了:仓库里累计有 4 个人问商用授权(教育自媒体、律所、带付费课程的频道),作者每条都回了,回法是「请发邮件说明使用场景、规模、是否再分发,我们私下谈范围与费用」。

所以现状是:有授权通道,但没有公开条款、没有公开价格。

许可证本身是 PolyForm 非商业许可 1.0.0 加一段自定义声明。原文两句是关键:用它产出的视频归创作者所有;本许可只约束工具本身,非商业使用免费,任何商业使用需事先获得作者授权。GitHub 的接口把这份许可读成「其他」(无法识别为标准许可证),所以它也不会被自动当成开源许可收录。

它和自动剪片工具不是一条路

要理解它的位置,得先看另一条路。

MoneyPrinterTurbo(11 月 2 日那篇,13.7 万星)和 OpenMontage(10 月 17 日那篇,6.89 万星)走的是同一条路:把现成的素材、配音、字幕拼成一条片。素材从哪来?图库里搜、模型生成、或者干脆用免版权片段。强项是快和全自动,弱项也在这里——画面是找来的不是画出来的,所以每一帧的构图你管不了,一个错误数字也没法在画面层面改。

anything2explainer 走的是另一条:每一帧都由代码画。代价和收益都很极端。

代价三条。第一,你要会写代码,或者至少让 AI agent(也就是能自己多步干活的 AI 程序)会写——它的每一帧都是一个组件文件,一条四分钟的片有 44 个镜头,光镜头源码就 62 个文件。

第二,agent 必须带着审美判据干活,否则它画出来的东西在技术上完全正确、在观感上一塌糊涂。这正是那三份脚本存在的理由:不给判据,你只能靠「我觉得不好看」这种话返工。

第三,硬件和时间要付:样片档(3 到 5 分钟)约 2 小时、每片磁盘约 2GB,并行构建镜头时建议留 5GB 以上。

收益也是三条。画面完全原创,不用为素材授权发愁;可复现,同一份解说词和分镜改一个字号重跑一遍,其余帧不会自己漂移;可 lint,这是最稀缺的一条——它的质量判据能当机器检查跑,不是文档里的形容词。

顺带把旧文那句「8 个 Agent 并行 40 分钟出一条片」对齐一下,免得读者误读成「40 分钟全自动」。40 分钟指的是 8 个构建组并行画镜头那一段。

整条流水线从建项目、调研、写解说词、定分镜,到打样、并行构建、渲染、质检修复,样片档合计约 2 小时。中间还有四个确认点会停下来等人回话:时长与语言、解说词定稿、配音方案、前 30 秒样片。最后那个尤其关键——风格、字号、语速在这种地方改一次,成本是一个组;等整片渲完再改,成本是全部组。

所以它从来不是无人值守的东西。这也和零版本号的性格一致:作者显然把它当成一套要人盯的手艺,而不是一个该自动升级的产品。

判断

如果你要的是「一句话出片」,这篇可以直接跳过,它给不了,也不打算给。

如果你要的是「把一篇稿子讲成四分钟、画面上每个数字都能追到出处」,而且手上有一个愿意读规范的 AI agent,那它是目前我见过路径最完整的一个:流程、规范、图例、判据、样片五样齐全,判据还能跑。

真正稀缺的不是模板——模板谁都能搭——而是它把「嫌赶」「嫌空」「嫌乱」这些话,说成了 3 秒、30 帧、2 处、170 像素。规则可判定,才谈得上验收;验收能自动化,才谈得上批量。

风险照实写:非商业许可,商用要单独谈,目前只有邮件通道、没有公开价格;四个确认点决定了它必须有人盯;模板没有提交锁文件,也没有 Python 依赖清单(5 个生产依赖倒是全部写死精确版本,所以 Node 那一侧风险不大,Python 那一侧要自己锁);跑通一条片要装 Node、Remotion 全家桶和视频转码工具,约 2 小时和 2GB 磁盘起步。

以及本次的局限:本机没跑成它自己的渲染流程,所以成片观感我不评价。

两个月涨 3.5 倍星、一个版本号都不发,说明有一批人认的正是这个:他们要的不是又一个自动剪片工具,而是一套能验收的做法。它值得放进观察清单,也值得当成一面镜子——如果你也在让 AI 干活,你的验收标准是写在文档里的形容词,还是能跑起来的脚本。

关注 AI商业快讯,每天一篇 AI 热点深度解读。

发表评论