发布于 更新于 约 5 分钟读完 · 1,922 字

本文目录 10 节
  1. 事实记录(不可修改区)
  2. 一、战略转向:为什么”复刻逐字稿”注定难
  3. 二、链路四道防线(与 8-13 的痛点一一对应)
  4. 三、方法论沉淀
  5. [判据阈值必须两端实测标定,直觉会差一个量级]
  6. [事后验收关能前移的就前移成事前断言,剩下的做成录中防线]
  7. [大段替换编辑会丢行,链路测试是唯一可靠的网]
  8. 四、下次改进
  9. 五、一句话结论
  10. 关联文档

2026-08-14 Codex 教程录制链路打磨 · 复盘

事实记录(不可修改区)

  • 项目:《Codex 保姆级教学》操作部分录屏,上接 2026-08-13_Codex教程操作部分_26段重录复盘_v1(19/26)
  • 日期:2026-08-14
  • 战略转向:跳蛛先生与内容组对齐后决定——暂停录新内容,先打磨通用录制链路; 等内容组调整逐字稿后统一补录。诊断:逐字稿先写、录制去复刻,而 AI 有随机性, 复刻必然难,这是结构性问题而非执行问题
  • 本日产出(全部实测验证,非纸面设计):
    1. preflight.py 开录前自检:11 项检查;--fix 从”什么都没开”自动拉起全链路到全绿
    2. stage.take() 三道机器关:ffprobe → 黑屏占比 → 内容指纹(新增)
    3. 录制看门狗:max_take_seconds 到点强停+判废+复位
  • 端到端测试:正常镜头(三关全过归档)/ 挂死镜头(15s 看门狗触发停录标废)/ 复位后再录正常,三用例全过
  • 附带事实:OBS 实际装在 D:\obs-studio(不在默认位置,注册表 HKLM\SOFTWARE\OBS Studio 可定位); ChatGPT 桌面端是 MSIX 包,启动走 shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App; 桌宠 DeskPond 的悬浮窗标题全是零宽字符(\u200b\u202c\ufeff…)

一、战略转向:为什么”复刻逐字稿”注定难

内容组先写逐字稿,录制侧努力去复刻画面——但分镜里一半以上的镜头要展示 AI 的实时输出, 而 AI 每次输出都不一样。逐字稿描述的那个画面在录制时根本不会复现。

8-13 的数据恰好支持这个诊断:唯一一次七条全一次过的批次是 332-338 「输入提示词不发送」系列——恰好是完全不依赖 AI 输出的确定性镜头。 失败率高的全是要展示 AI 响应的镜头。

→ 提炼成律:录屏分镜按确定性分层_生成性镜头逐字稿后配_v1

二、链路四道防线(与 8-13 的痛点一一对应)

防线拦什么对应 8-13 的哪次翻车
preflight 自检(事前)环境/OBS/窗口/输入链路缺一不可四大根因全部可被 10 分钟自检拦下,实际却每撞一次修一条
ffprobe(事后1)容器参数—(一直有)
黑屏占比(事后2)内容无318/321-323 全黑片
内容指纹(事后3)内容错位:录到壁纸/错屏/窗口没绘制324-331 录成定价页;「属性全对但 z-order 掉桌面之下」录到壁纸
看门狗(事中)录制失控接手当天卡录 2h33m / 6.46 GB

preflight 里最有价值的两项,都是把 8-13 的”只有人眼能发现”变成了机器判据:

  • 窗口真的在绘制:PrintWindow 抓窗口自身内容 vs BitBlt 抓屏幕同位置,比对差异。 8-13 收尾那种渲染僵死(句柄/可见性/最大化/前台全对,屏上只有壁纸,hover 前后像素 完全一致)从”卡一小时”变成”一项 FAIL”
  • 中文真的能打进去:往真实输入框打 8 个字的探针再撤销,用暗像素增量断言。 type_keys 打不出中文那个头号根因,从”录完 7 条空片”变成”一项 FAIL”

三、方法论沉淀

[判据阈值必须两端实测标定,直觉会差一个量级]

核心:内容指纹的阈值我凭直觉预设 45%(“完全不同的画面总得差一半吧”)。 实测标定:

场景灰度差异
同一条视频自比对0.00%
同界面、隔一天实况1.02%
完全不同内容(Chrome 定价页 vs Codex 主界面)14.30%

两个白底应用页面的灰度差只有 14%——45% 的阈值会把 8-13 那批「录成定价页」的废片 全部放行,这道防线等于没建。正确阈值 8%,取正常水位(1%)与最难分错误(14%)的中间。

为什么直觉错得这么远:人眼看”完全不同”看的是语义(这是定价页!那是对话页!), 灰度比对看的是像素——白底页面 80% 的像素都是一样的白。

验证状态:⚠️ 初次记录,但与两条既有律同族—— 自动化产出双重验收_机器验参数人眼验内容_v1 2026-08-05 边界补充(换一类信号先拿 已知答案的样本标定)是同一骨架:判据上线前,必须拿”已知好”和”已知坏”各标定一次, 两端都没标过的阈值不是阈值,是猜想。

操作规则:

  1. 新判据上线前,正例反例各测一次,阈值放两者中间,并把标定数据写进代码注释
  2. 反例要选最难分的(同为白底页面),不是最容易分的(壁纸 vs 应用)
  3. 直觉阈值只配当标定前的占位符

[事后验收关能前移的就前移成事前断言,剩下的做成录中防线]

核心:8-13 的教训是”机器验参数、人眼验内容”;本日把这条又推进一层—— 人眼关兜底的范围可以持续收窄。三类失败三种时机:

  • 环境/能力类(中文打不进去、窗口没上台)→ 事前 preflight
  • 过程失控类(录制不停)→ 事中 看门狗
  • 内容错位类(录到壁纸/错屏)→ 事后 指纹,但参照帧是事前抓的

验证状态:⚠️ 初次系统化(8-13 复盘的”下次改进”第 1 条当日落地并验证)

[大段替换编辑会丢行,链路测试是唯一可靠的网]

核心:给 take() 加看门狗时,整块替换把 o.start_record() 弄丢了—— 三条测试录出 落盘: None 当场暴露。如果没有端到端测试直接投产, 下一批素材会全部是”没开录就跑完了演示”。

操作规则:改录制主干后必跑一次最小 take(6s 静止镜头即可); 调试这类”每步都该有状态”的流程,摊开逐步打印比读代码猜快得多(两分钟定位)。

验证状态:⚠️ 单案;与 Claude完成报告核查心法_v1 的”改完必须实证”同族

四、下次改进

  1. 演示原语库(打字并校验/发送并等完成/开窗上台/切视图/滚动展示)刻意没做—— 接口形态取决于新逐字稿长什么样,提前抽象是白抽象。等内容组定稿再设计
  2. preflight 的输入探针坐标目前硬编码 ChatGPT 主界面,换应用要参数化
  3. 指纹判据对”同 app 不同页面”的区分度(14% vs 8% 阈值)余量不大, 若未来出现更相近的错位场景,考虑换成分块比对(布局级差异比全图均值敏感)

五、一句话结论

8-13 证明了”参数全对不等于内容对”,8-14 把这句话变成了四道可执行的防线; 而更上游的教训是:录制可靠性和镜头对 AI 随机输出的依赖度强相关—— 确定性镜头才配得上自动化复刻,生成性镜头应该先录再配稿。


关联文档

类型/IP视觉主题/口播教学主题/自动化录屏工具/humancast工具/OBS