C:\Users\DELL\.workbuddy\binaries\node\versions\22.22.2-3\node.exeC:\Users\DELL\AppData\Local\Microsoft\WinGet\Packages\Gyan.FFmpeg_Microsoft.Winget.Source_8wekyb3d8bbwe\ffmpeg-8.1.2-full_build\bin\ffmpeg(.exe)C:\Users\DELL\AppData\Local\ms-playwright\chromium-1243\chrome-win64\chrome.exeC:\Users\DELL\.workbuddy\binaries\node\workspace\node_modules\playwright-coreexport PATH="/c/Users/DELL/.workbuddy/binaries/PortableGit/versions/1.2.0/bin:/c/Users/DELL/.workbuddy/binaries/PortableGit/versions/1.2.0/usr/bin:$PATH"SCENES)。每场含 type/start/end + 内容字段。总时长 = 最后一场 end。scripts/index.template.html 可复用骨架)。场景类型:intro / overview / dim(维度) / cta。每场子元素带 .anim,用 data-in(秒)控制错峰入场。scripts/probe.cjs <时间点...>:DOM 量测,输出可见场景(含 opacity,验证无叠加)、越界元素清单(R/B/L/T 像素超出量)、指定容器的尺寸与折行数。这是本机唯一可靠的排版校验方式——多模态模型常读不了 PNG 截图,且量尺寸比目视更准。scripts/shot.cjs [时间点...]:截图存档,给人看。不要每次改完就整段重录(每次约 6 分钟)。scripts/record.cjs(替换 EXE/FILE/TOTAL)。Playwright recordVideo 录 webm。ffmpeg -y -i in.webm -c:v libx264 -pix_fmt yuv420p -crf 21 -preset medium -movflags +faststart out.mp4ffmpeg -ss <t> -i out.mp4 -frames:v 1 -q:v 2 chk.png 复核 → present_files。「不同题库」≠「内容不重复」。 两个不同来源的题库(如 store-location 23 题 / store-knowledge 24 题),考点可能大面积重叠——因为底层是同一套行业知识。《二》初版按「误区」切题,做完才发现 6 个误区里 4 个《一》已完整讲过,占旁白约六成,整片作废重做。
grep 整份 index.html / gen_audio.py 会把注释也算进去(/* 已避让前两集术语:漏斗 / 曝光 … */ 会把自己列的词全部命中)→ 报出一堆假重复。正确做法——只取旁白(正则 "text":"(.*?)" 从 gen_audio.py 抽)和画面文案(const SCENES = [ 到「时间轴」注释之间那段),再 count。我先用整文件比对得出「漏斗 2 次 / 曝光 3 次」,切到可见文案后发现真实只剩 1 处(旁白里一个「曝光量」),改成「声量」即归零。SCENES 里的 laws[].n / name / summary)。q + why)。同一片知识,一个讲现象、一个讲机理,即可零重复。
count 一遍。用户说「做成科普型的,注意和之前那个 XX 视频做区隔」时,先别猜「之前那个」指哪一条——去磁盘上找。典型情况是:同一个源页面早先做过一条竖屏 60 秒工具介绍片(<proj>/<tool>视频/timeline.json + render.py,或 <项目名>_60秒介绍片_<署名>.mp4),那条片子的旁白就是把源页的步骤按顺序念一遍。
find 全盘搜 *踩盘* / *实地* / *考察* / *survey* / *60秒*,找到介绍片后把它的 timeline.json(旁白)和 render.py(字幕/卡片文案)也并入去重语料的 ROOTS。用户给两个源链接看起来是「不同题库」(lab/yx-quiz vs lab/yx-quiz-shiti),实则是同一套方法论的线上版与实体店版——同一个 lab 目录、同一个命题框架、六维度结构相同,只是案例从线上换成实体店。这类同源关系,常规去重(比对本系列前一集)会完全失效,因为你比的是「结构」而撞的是「案例」。
识别信号(动手前 30 秒就能查):
/lab/yx-quiz → /lab/yx-quiz-shiti),或命名只差一个后缀。处理规则:
源材料里常有多套数字口径并存(封面文案、SEO description、正文、题库名录),它们往往互相矛盾。例:题库封面写「12 条法则」,逐题数却是 15 个考点——因为封面是「每类取 3 条凑数」。
grep 关键词计数 + 读正文),确认哪个是权威口径。tag:"原理" 只是题型标签,不是考点名,别拿它当考点去重。why 字段)确认。grep 关键词逐个确认,注意区分「该改的」和「核实记录里该留的」)。gen_audio.py 的 SCENES 和脚本 md 的「旁白全文」是两份拷贝,改一处不改另一处就会漂移(《二》md 落后了 6 处修订)。规则:改文案先改 gen_audio.py,再写脚本从它同步 md(正则解析 {"id":"x", "text":"..."} 后逐段替换);校验要点——注意 \r\n 行尾会让 \n{2,} 类正则失配,可用 (.*?)(?=\n### |\n---) 这类末尾锚定,别依赖空行。把一份知识/文档/测试解析/课程材料,做成「信息图数据风」的中文科普讲解长视频(25 分钟,16:9,1920x1080)。用 HTML+CSS+JS 时间轴引擎生成信息图画面,Playwright(已装 Chromiu
需要做科普讲解长视频的运营、产品与内容团队,基于知莫三 15 年全链路实战框架,按步骤填内容即可产出。
不需要。科普讲解长视频面向业务与内容同学,方法已固化成可复用的流水线,跟着步骤走就能产出结果。