Files
hoelee-blog/docs/consultant-review-2026-10-22-3-video-posts.md
T
hoelee bebc3272ce
Deploy / build (push) Successful in 1m4s
docs(state): record the consultant-review round as it actually shipped
§4d now carries the real commit chain (f32ae90 → 04a1082 → cf4504e), the
verification that matters (Actions 292/293/295, six pages 200, artwork md5 vs
live, check-assets 162/162) and an owner queue with three items.

The task doc is rewritten around that queue: (1) confirm whether the four stage
timings (14.2 / 2.1 / 32.4 / 48.6 s) were measured — they have no trail in the
repo and the reviewer's complaint was exactly about unmeasured numbers;
(2) supply the before/after jitter clips; (3) decide which session owns edits to
these three posts, since two sessions on the same files put one session's
paragraphs into the other's commit.

Also drops a claim inherited from the parallel session's completion block: the
reviewer's meta descriptions were never adopted, the frontmatter keeps the
originals.
2026-10-22 23:09:02 +08:00

6.9 KiB
Raw Blame History

顾问对三篇视频文的意见:核对、落地与未决(2026-10-22)

对象:how-i-built-an-automated-music-video-pipeline / uploading-large-videos-to-youtube-via-cdp / debugging-remotion-video-jitter,EN + ZH 共 6 个文件(src/content/posts/ 与 src/content/posts/zh/)。


0. 需要你处理的(就三件,其余都已办完或可代办)

# 事 为什么只有你能定 你给了之后我做什么
1 耗时表里那四个秒数是不是实测的:歌词对齐 14.2 s、分镜留白校验 2.1 s、Studio 上传 32.4 s、8 语字幕 48.6 s(渲染 218.3 s 与落盘 1.89 s 有出处) 仓库里没有这四段的测量痕迹(另一条会话写进去的)。顾问挑的正是「有没有实测」—— 编一个数字比留空更伤可信度 你说「是实测」→ 原样保留;你说「估的」→ 改成区间并标 estimated,或整列删掉只留渲染 + 落盘
2 修复前后的抖动 / 暗闪对比视频(原片,或各 20–30 秒两条片段) 素材只在你手里;顾问第 2.1 条点名要 GIF/短视频,静态截图证明不了抖动 剪成 720p GIF + MP4、压到 1MB 内,插进第三篇正文(中英各一份)
3 指定一条线改这三篇 我推 f32ae90 时另一条会话正在写同一批文件,它的段落被卷进我的提交;随后它又追加 04a1082。内容没打坏,但两条线改同一组文件迟早互相覆盖 你指定主改方,另一边只读;这条已写进技能

两个小确认(不阻塞):① 文中 1.89 秒写的是「single run, warm container, SSD target on Synology NAS」—— 对不对? ② 三篇 description 没有按顾问给的英文重写(他给的三条与现有覆盖基本重合,我判断不值得改;原文档里那句「已采纳」是错的,已删)。


一、他的判断哪里对、哪里错

对(已全部落地)

他的问题 核对结果
三分钟承诺与 218 秒冲突 比他说的严重:两篇都写同一支 4 分钟片;218 秒纯渲染已是 3 分 38 秒,第一篇却说「三分钟后…已渲染并自动发布」
「38% speedup」术语错 352→218.3 是耗时少 38.0%、吞吐 1.61×(352÷218.3 = 1.6125)
「microsecond-accurate」过度承诺 30 fps 一帧 33.3 ms,词级时间戳到不了微秒
Zero Jitter / Zero Light Flashing 绝对化 改成「消除本片可观察到的抖动/暗闪」口径
三篇没有互相带流量 实测内链 0 条;现三篇开头各一段 TL;DR + 正文双向互链
io.BytesIO 整包进内存 + 凭据/端口安全 已写进「运维注意事项与安全清单」
缺成品演示、缺基准条件 已补成片链接(《糖画小仙》1080p / 8 语字幕)+ 基准表 + 宿主环境

错 / 偏

他的说法 实情
ti.mode = 0o 666 是 Python 语法错误,「最高优先级」 不成立。源码与线上 HTML 都是 0o666(页面把它拆成 <span>0o</span><span>666</span>,他抓正文时被插了空格),且 0o666 在 Python 合法。改 0o644 仍然做了 —— 是权限卫生,不是修 bug
「Chrome 没内存峰值 ≠ 整个流程不占内存」 原文已限定 in Chrome;不过「0 MB」这个绝对数字确实该改,客户端整包缓冲也是真问题

不建议照做

  • 重写 meta description:三篇都已有 description,他给的三条与现有关键词覆盖基本重合。
  • 「代码示例逐段执行验证」:要真跑就得有 Chrome 容器 + Portainer + 那台 DSM,本机没有这条栈;改成补异常捕获、入参校验与限制说明。

二、已上线(提交链 + 实测验证)

提交 谁 内容
f32ae90 本轮 24 处事实修正(三分钟→几分钟 + 218 秒尺度、微秒→帧级、38%→38.0%/1.61×、绝对化措辞、0o644、内存口径、TL;DR + 互链)+ 三篇重出的图 + 本任务书
04a1082 另一条会话 基准表(352.0→218.3 s、7,830 帧、22.24→35.87 fps、i9-13900K + RTX 3060 + 64GB)、端到端耗时表、图层合成数学(α=0.75)、上传方案对比表、ZH 合成示意图
64e8410 另一条会话 TTS 两篇占位图换 Ideogram 4 渲染(与本任务无关)
cf4504e 本轮 单页只留一个数:38.1% → 38.0%(基准表按 218.3 秒算 = 37.98%)

验证(本机实测,不是推断)

  • Gitea Actions:run 292(f32ae90)、293(04a1082)、295(cf4504e)全部 success。
  • 六个页面 EN/ZH × 三篇:全部 HTTP 200。
  • 38.1% 残留 0 处;中英第三篇各 3 处 38.0%。
  • 图片不是缓存旧图:banners/debugging-…jpg、og/zh-uploading-…jpg、og/thumb/how-i-…-400.webp 的 md5 与线上逐一致。
  • node scripts/check-assets.mjs → 162 published posts OK(每篇 og card + banner + webp + 两张 thumb)。
  • npx astro build → 277 页通过。

三、数字来源审计(顾问关心的就是这个)

数字 可核性
352.0 s → 218.3 s、−38.0%、1.61× 自洽:(352−218.3)/352 = 37.98%、352/218.3 = 1.6125
7,830 帧 / 261 秒(4 分 21 秒)@30 fps 自洽:7830 ÷ 30 = 261 s;7830 ÷ 352 = 22.24 fps、7830 ÷ 218.3 = 35.87 fps
128.85 MB、1.89 s 有出处(原文既有);已补「单次、热容器、NAS SSD」
14.2 / 2.1 / 32.4 / 48.6 s(四段) 无出处 —— §0 第 1 条,需你确认
~5.3 分钟总计、98% 无人值守 求和自洽:14.2+2.1+218.3+1.89+32.4+48.6 = 317.49 s = 5.29 min;渲染占 68.8%

四、仍未做

# 项 卡在哪
1 抖动/暗闪前后对比 GIF 要原片(§0 第 2 条)
2 四段秒数的出处 要你确认(§0 第 1 条)
3 「测试版本 / 最后验证日期」小字 正文现在只有 Remotion v4.0.x、Node v20.x 这类范围;要准确小版本与最后验证日期,得你给实际环境值
4 流式 tar 的完整替代代码 现在只在安全清单里说「多 GB 要改流式」,没给完整代码;要不要补由你定

五、复验命令(下次自己看时用)

cd /d/dev/hoelee-blog
node scripts/check-assets.mjs                       # 162 posts OK
for u in /posts/debugging-remotion-video-jitter/ /posts/zh/debugging-remotion-video-jitter/; do
  curl -s --compressed -o live-check.html -w "%{http_code} $u\n" "https://blog.hoelee.com$u"
  grep -o "38\.0%" live-check.html | wc -l           # 应为 3
done
rm -f live-check.html

⚠ 本机两条坑(写进技能了):curl 是原生程序,-o /tmp/x.html 写到的位置 MSYS 的 grep 读不到 —— 一律写当前目录的相对路径并加 --compressed;行内标记可能被标签或软换行拆开,断言前先剥标签、合并空白。