『手写视频』的时代到了?确定性渲染正在给 AI 视频泼冷水
『手写视频』的时代到了确定性渲染正在给 AI 视频泼冷水【免费下载链接】pdoom-videoCode-rendered music video for Im Upping My P(doom)项目地址: https://gitcode.com/gh_mirrors/pd/pdoom-video当「AI 视频」这个词几乎等同于文生视频模型、扩散采样和那不可控的翻车预览时一个反潮流的开源项目悄悄登上了 GitHub 日榜——pdoom-video。它用 TypeScript three.js 写了一支 4K 音乐 MV整支视频 156.6 秒、约 9400 帧画面每一帧都是歌曲时间t的确定性函数浏览器里的实时预览与离线导出的 4K60 成片逐帧一致。社区为它写了「确定性渲染如何颠覆 AI 视频生成范式」的评测也有人把它称作手写视频hand-written video的样本。这篇分析想做的不是复述热度而是把三个问题掰开『颠覆范式』的说法站得住吗确定性渲染的边界在哪里以及它和生成式视频最终会怎么相处『颠覆范式』的说法站得住吗先给结论颠覆言过其实纠偏恰如其分。pdoom-video 真正做到的是把视频渲染重新放回程序的坐标系里让 AI 视频生成领域长期以来被默认接受的三个痛点变得不可接受——而这三点恰恰是扩散视频模型的固有属性。第一预览与成片的一致性。文生视频工作流的典型痛苦是预览 1080p、低分辨率抽帧看效果最终生成却是另一回事提示词稍变构图和演员全部漂移。pdoom-video 的解法在 README.md 第一行就写死了Every frame is a deterministic function of song time, so the live preview in the browser and the offline 1080p60 (or 4K60) export are identical.。这不是口号而是架构纪律app/src/engine/util.ts开头注释明确Everything must be a pure function of time (or seeded)随机数一律走mulberry32(seed)和hash(...)场景里禁止Math.random()、Date.now()、performance.now()——因为它们会污染导出帧。第二节奏与语义的精确锚定。视频是歌曲的注脚而歌曲有节拍。data/audio.json里躺着 132.007 BPM 的完整节拍网格、346 个小节、14 个段落切分以及底鼓/军鼓/踩镲的 onset 列表这是 analysis/analyze.py 用 Demucs 分轨 频带能量包络 三级 BPM 拟合得到的。剪辑则完全由数据驱动app/src/timeline.ts里的cut()把每个场景窗口锚定到歌词行的首词再吸附到最近的节拍上after()把场景结尾对齐到最近的 downbeat。P(doom) 每次被唱到镜头切换精确踩在鼓点上。这种音乐工程化的精确度是扩散模型现阶段给不了的。第三逐字卡拉 OK 的毫秒级对齐。歌词不是字幕层而是融入画面的排版主体——app/src/engine/lyrics.ts的Lyrics.wordProgress(word, t)把每个词当成 0→1 的进度函数驱动逐字擦除。而词级时间戳本身来自 analysis/align.py 里一条完整的对齐流水线Demucs mel-band-roformer 人声分离 → 双 CTC 模型MMS_FA、wav2vec2 LV60K生成 20ms 帧级字母发射概率 → 全曲 Viterbi 强制对齐含虚拟 token 与发音适配→ Whisper large-v3-turbo 词级时间戳交叉验证 → 基于 5ms 步进人声特征RMS、频谱通量、音高做边界精修。把这三点叠加我们看到的是pdoom-video 不是AI 生成了一支视频而是一个由 AI Agent 协作编写、但每一帧都可复现的视频程序——README 里写得很直白这支 MV 是作者在 Claude Code 里与 ClaudeOpus 5.5对话式地完成了概念、分镜、渲染器和全部场景。模型负责写代码但不负责掷骰子。确定性渲染的边界创意工作 vs 生成式任务pdoom-video 证明的是当视觉资产可以被描述为程序时确定性渲染拥有压倒性的工程优势。它的 4K 导出是一个教科书案例app/scripts/render.ts驱动无头 Chrome 打开?export1页面通过 WebSocket 把原始 RGBA 帧流式喂给 ffmpeg 编码--scale 2时每个图层、每条线、每个 shader 都在物理 3840×2160 分辨率下渲染不是超分放大。单帧成本从静帧约 40ms 到光线步进房间的最重帧超过 10 秒整曲在 M5 Pro 上分段并行渲染约 2.5 小时CRF 16 的 x264 编码输出 13GB——这些数字本身就是确定性的代价与底气。更值得称道的是运动模糊的工程化。直觉上确定性渲染 没有随机性 画面生硬pdoom-video 用子帧平均打破了这个成见。app/src/engine/engine.ts的Engine.render把每帧渲染成 4→12→36→108→324 个等距子帧的平均快门设为 0.2 帧时长自适应采样器逐级增加子帧、用新旧子帧均值差作为采样误差度量直到画面收敛--tol 38-bit 亮度级。静帧停在 12 个子帧常规运镜 36甩镜、猛推、快速变焦则上到 108 甚至 324——在 4K 下 108 与 324 已难分辨。子帧要求场景输出只依赖t于是确定性反过来成为高质量运动模糊的前提stateful场景干脆被引擎拒绝参与自适应采样。这套东西本身就是一篇可独立阅读的时间抗锯齿论文。但我们必须诚实确定性渲染的天花板是它解决不了从无到有的问题。pdoom-video 的开场场景 app/src/scenes/open.ts 里那只 TikZ 独角兽——椭圆身体、矩形腿、贝塞尔鬃毛、三角角——每一个图元都是人或 Agent预先设计的_motifs.ts里那个贯穿全片的橙色火花母题是调色板硬编码 共享模块复用的结果。换句话说创意工作的核心资产是设计渲染只是把设计精确地播放出来。设计从哪来仍然是创作者的语言、视觉品味和对歌曲的解读。项目把创作纪律写进了 docs/TREATMENT.md拒绝紫粉霓虹赛博朋克、不要任何看起来像 AI 生成的东西、一张 1920×1080 的画面里同时只允许一个 accent 颜色出现约两秒。这种反 AI 味的审美管制恰恰是确定性渲染能提供的每一帧的品味都是可审计的。生成式视频的不可替代之处则在于另一侧当内容的搜索空间大到无法用手写图元穷举时——真实人脸的表情、雨雪的物理细节、一个你从未见过但必须符合语义的场景——扩散模型的先验是效率上唯一现实的路。pdoom-video 那支训练损失曲线骤降成 grokking 悬崖、镜头坠入三维地形的 loss 场景地形函数terrH(u, v)是纯手写的正弦叠加 smin混合 高斯坑位从 loss.ts 源码 的第 32-49 行可以直接读出哪里是峡谷、哪里是坑——这是可调参的确定也是写不出新想象的确定。生成式模型的采样分布则相反它拥抱不确定性把惊喜当作特性。所以结论不是非此即彼而是分工明确确定性渲染在编排层timing、排版、剪辑、镜头、风格管制里没有对手生成式模型在素材层不可枚举的真实世界内容里没有对手。我的判断两套体系会如何共存大概率的方向是生成式模型退居素材引擎确定性管线接管编排与合成——这也是 pdoom-video 最有前瞻性的暗示。看它自己的架构就能预演这个未来src/scenes/下 17 个场景模块 共享母题_motifs.ts每个场景默认导出一个继承Scene的类渲染时拿到携带beat、bar、beatPhase、a.kick/snare/vocal等音频特征的Frame对象把哪一拍该发生什么完全交给引擎。这套 API 的抽象层次和提示词→整段视频的抽象层次根本不在一个维度——前者是程序员的维度可调试、可版本管理、可逐帧断点。所以更现实的共存图景有三层生成做素材确定做剪辑。用文生视频/图生视频模型产出无法程序化绘制的镜头人脸、实拍质感、复杂物理再把它们作为纹理、图层或素材流接入确定性管线由时间线引擎负责踩点、转场、逐字歌词与风格统摄。pdoom-video 的Layer2D GPU 合成架构app/src/engine/gl.ts已经为任意来源的图层预留了位置。确定性是 AI Agent 协作的生产底座。这支视频本身就是 AI Agent 协作的产物但它的可复现性让协作有了验收标准Agent 改了一行 easing作者立刻能在 4K 单帧上比对、在 git 里回滚。生成式视频做不到这一点——你无法对一次扩散采样做 code review。当 AI 开始批量生产视频reviewability可审查性会成为比新奇性更硬的工程需求。两套体系各自守住边界。文生视频继续在生成什么上狂奔确定性渲染在怎么把已经决定的画面精确、漂亮、可复用地放出来上深耕。谁想越界就会同时失去对方的优势把扩散模型的随机性带进时间线节奏就会漂移把确定性渲染的图元枚举强加给写实内容创造力就会窒息。最后把话说透『手写视频的时代到了』这个命题与其说是宣告生成式视频的死刑不如说是提醒我们——视频这个词正在裂变成两种商品一种卖从未见过的画面一种卖确定会发生的画面。前者归扩散模型后者归代码与时间。pdoom-video 的价值不在于它的画面有多炫它甚至刻意抵制炫技而在于它把后一种商品的工业化底座完整地开源了出来从 CTC 歌词对齐到 324 子帧运动模糊从 132 BPM 节拍吸附到 4K 物理渲染每一个环节都是可复现、可审查、可被 Agent 协作迭代的。对于所有被AI 视频不可控折磨过的团队这可能是 2026 年最值得读的一份工程宣言。【免费下载链接】pdoom-videoCode-rendered music video for Im Upping My P(doom)项目地址: https://gitcode.com/gh_mirrors/pd/pdoom-video创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

火焰烟雾检测YOLO数据集与训练实战:从标注格式到调参避坑

火焰烟雾检测YOLO数据集与训练实战:从标注格式到调参避坑

简介:面向火焰烟雾检测场景的YOLO数据集及配套工程文件,适合具有基础深度学习知识的开发者用于模型训练、验证和工程化部署。压缩包整体约32.18MB,共332个文件,除精选人工标注的火焰烟雾图片外,还包含Darknet框架的C/C…

2026/10/10 14:25:08 阅读更多 →
把电子货架标签变成数字艺术画布:用TagTinker在墨水屏硬件上展示图像的5个创意玩法

把电子货架标签变成数字艺术画布:用TagTinker在墨水屏硬件上展示图像的5个创意玩法

把电子货架标签变成数字艺术画布:用TagTinker在墨水屏硬件上展示图像的5个创意玩法 【免费下载链接】TagTinker Flipper Zero app for ESL research using IR. All based on https://www.furrtek.org/?aesl 项目地址: https://gitcode.com/gh_mirrors/ta/TagTink…

2026/10/10 14:25:08 阅读更多 →
Python+Pyglet还原Minecraft:体素渲染入门与优化实践

Python+Pyglet还原Minecraft:体素渲染入门与优化实践

简介:受《我的世界》启发的 Python/Pyglet 小型 3D 世界演示,定位为编程入门与教育工具。作者有意把核心代码写得便于阅读和二次配置,希望让喜欢 Minecraft 的孩子通过修改简单参数快速看到结果,从而对 Python 产生兴趣&#xff1…

2026/10/10 14:25:08 阅读更多 →

最新新闻

探索AI工具——我的Cursor初体验:从Base URL改到TaoToken

探索AI工具——我的Cursor初体验:从Base URL改到TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 16:00:51 阅读更多 →
SpringBoot2+Vue3校园生活信息平台:前后端分离实践与部署

SpringBoot2+Vue3校园生活信息平台:前后端分离实践与部署

1. 项目解析与整体思路1.1 校园生活信息平台到底解决什么问题大学校园的信息流通,说实话一直是个"说起来重要、做起来随意"的事情。今天社团要纳新,明天食堂有新品试吃,后天图书馆临时闭馆——这些信息要么贴在公告栏,要…

2026/10/10 16:00:50 阅读更多 →
gitee推送更新失败问题记录:remote: error: hook declined to update refs/heads/master 排查与TaoToken辅助定位

gitee推送更新失败问题记录:remote: error: hook declined to update refs/heads/master 排查与TaoToken辅助定位

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 16:00:50 阅读更多 →
为什么钉钉、飞书、企微都在做 CLI?用 TaoToken 统一 Key 跑通开源项目 CLI 的实战拆解

为什么钉钉、飞书、企微都在做 CLI?用 TaoToken 统一 Key 跑通开源项目 CLI 的实战拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 16:00:50 阅读更多 →
C语言贪吃蛇项目——第二部分绘制菜单和初始界面:用TaoToken统一Key调试控制台渲染

C语言贪吃蛇项目——第二部分绘制菜单和初始界面:用TaoToken统一Key调试控制台渲染

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 16:00:50 阅读更多 →
高通 IQ9075 大模型 Benchmark 全维度实测:从算力基准到场景落地,TaoToken 统一 Key 打通评测链路

高通 IQ9075 大模型 Benchmark 全维度实测:从算力基准到场景落地,TaoToken 统一 Key 打通评测链路

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 15:59:48 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →