新闻详情

新闻详情

首页 / 资讯中心 / 详情

jevgrep 视频生产线:基于 Remotion 的代码生成宣传片是怎样构建的

发布时间:2026/9/30 6:41:36来源:尧图网络
jevgrep 视频生产线:基于 Remotion 的代码生成宣传片是怎样构建的
【免费下载链接】jevgrepFind code by asking what it does. A CLI for coding agents that uses Jev to discover relevant files and source context.项目地址https://gitcode.com/gh_mirrors/je/jevgrep点击查看免费下载jevgrep 仓库的 video/README.md 描述了一套自成体系的视频资产目录两支短片分别用于项目启动launch reel与 v0.4 版本发布release film各自是拥有独立依赖的 Remotion 工程且不导入仓库内任何代码。本文以该文档为骨架结合 video/launch/ 与 video/v0.4/ 两个子工程的源码完整讲解其工程结构、共享时间轴机制、代码合成配乐、渲染审查流程与数据声明规范读者可据此理解并复刻用代码驱动音画同步视频的完整生产方案。一、视频资产总览两个独立 Remotion 工程video/README.md 用一句话点出了整个目录的设计原则Each video is a standalone Remotion package with its own dependencies; none imports repo code.这带来两个工程约束独立性每个视频是独立的 npm 工程拥有自己的package.json、tsconfig.json与依赖位于 Bun workspace 之外因此 CLI 永远不会依赖 Remotion零耦合视频代码不导入仓库源码宣传片中的jg命令、指标数字均以数据文件 字符串的形式手工注入。目录下有两个子工程各有独立 README子工程类型时长技术栈video/launch/启动宣传片launch reel30 秒RemotionReact 场景video/v0.4/v0.4 版本发布片40 秒Remotion three.js / react-three-fiber两者的共同点是配乐soundtrack完全由代码合成——没有采样、没有库存音乐、没有插件。二、工程骨架与 npm 脚本以 video/launch/package.json 为例脚本构成了一条从预览到成片的完整链路{ scripts: { studio: remotion studio src/index.ts, music: node --experimental-strip-types scripts/music.mjs, render: npm run music remotion render src/index.ts Reel out/jevgrep-reel.mp4 --crf16 --audio-bitrate320k, poster: remotion still src/index.ts Poster out/poster.png, check-types: tsc -p . }, dependencies: { remotion/cli: 4.0.529, remotion/google-fonts: 4.0.529, remotion/noise: 4.0.529, react: ^19.3.0, react-dom: ^19.3.0, remotion: 4.0.529 } }各脚本职责npm run studio在浏览器中打开 Remotion Studio可拖动时间轴逐帧预览npm run music先运行配乐生成脚本下文详述产出public/music.wavnpm run render先重新生成配乐再渲染Reel合成到out/jevgrep-reel.mp41080p60CRF 16320k AAC 音频npm run poster单独渲染Poster合成输出out/poster.png作为 README 主视觉npm run check-typesTypeScript 类型检查。video/v0.4/package.json 则增加了 three.js 技术栈react-three/fiber、react-three/postprocessing、n8ao、three并多出一个draft脚本draft: npm run music remotion render src/index.ts Release out/draft.mp4 --scale0.5, render: npm run music remotion render src/index.ts Release out/jevgrep-0.4.mp4 --crf14 --x264-presetslow --audio-bitrate320k草稿以半分辨率--scale0.5快速迭代正式成片用更慢的 x264 预设换取质量CRF 14。入口文件 video/launch/src/index.ts 仅做一件事——registerRoot(Root)video/launch/src/Root.tsx 注册两个 Composition主片Reel时长(DURATION PRE) * FPS帧与单帧的Poster主视觉分辨率统一 1920×1080、60fps。三、共享时间轴cues.ts 是唯一的时间真相源两支短片最核心的架构决策是所有时间只存在于一个文件里。video/launch/src/cues.ts 的文件头注释写得很明确Single source of truth for timing. Both the music renderer (scripts/music.mjs) and every scene read from here, so every hit on screen lands on a hit in the mix. All times are in seconds. 120 BPM: beat 0.5s, bar 2s.即场景代码读cues.ts取动画事件配乐脚本 scripts/music.mjs 也读同一份 cues 来摆放每一个 kick、riser、impact 和 UI 音效。改一处时间画面与声音同步移动。细节设计绝对时间而非帧场景代码使用以秒为单位的绝对时间tcue 数值保持字面可读不会散落在帧计数换算中节奏常量派生BPM 120BEAT 60 / BPM0.5sBAR BEAT * 42s拍点、小节全部由此派生幕结构SCENE定义六幕——problem(0) / reveal(4) / engine(8) / jev(14) / bench(20) / outro(26)对应 30 秒片长和声进行CHORDS每小节一个和弦Am F Am F C G Am F C G G Am F C Am第 10 小节保留属和弦撑住 breakdown 直到 22s 的 slam打击乐KICKS从 4s 到 19.75s、22s 到 27s 每拍一脚CLAPS由 KICKS 过滤出 offbeat 位置音效 cue 表SFX数组把每一帧画面事件映射为{ t, type, v?, p?, d? }的音效指令类型多达 15 种impact、riser、suck、whoosh、pop、tick、blip、key、stamp、accept、reject、tok、chatter、count、ding、crack。video/v0.4/src/cues.ts 沿用同一套模式40 秒片长、八幕结构archive/title/bar/scope/clip/cut/payoff/outro、KICK_REGIONS定义鼓区4–28s 机制段 30–37s drop 段、ROLLS定义段落切换前的军鼓滚奏以及每幕的动画与音效事件。四、配乐是代码生成的music.mjs 就是一台合成器video/launch/scripts/music.mjs 是一份约 590 行的纯 Node 脚本无任何音频依赖以 48kHz 采样率把整首配乐逐样本合成并写出 WAV。它的工程结构相当于一个小型 DAW4.1 总线与效果器四条总线drums/music/fx三条干声总线外加revSend/dlySend两条发送总线DSP 原语Cytomic TPT 状态变量滤波器SVF支持逐样本调制 cutoff 且稳定、带 BLEP 补偿的锯齿波振荡器消除混叠、Freeverb 混响8 梳状 4 全通含 damping、ping-pong 延迟间距 0.75 拍侧链压缩duck数组预先算出每次 kick 的包络0.24s 衰减所有旋律性乐器随鼓点呼吸滤波能量自动化energy(t)按段落返回 0–1 的开度intro 0.12→0.7、主段落 1、breakdown 压低、outro 回落驱动 pad/bass/pluck 的截止频率。4.2 乐器与编曲脚本里每种乐器都是一个函数kick指数调频鼓、clap滤波噪声 3 次延迟反射、hat高通噪声闭/开两种时长、pad每和弦 5 个 MIDI 音符 × 5 个 detune 声部、bass双锯齿 正弦 sub、pluck琶音。编曲规则全部写成循环pad 每小节进入音量按段落分级intro 0.55、breakdown 0.75、outro 0.7bass 在鼓区做 pumping 八分音符breakdown 与 outro 改为长音琶音按ARP [0,2,1,3,2,4,3,1]走十六分音符高能段落整体升八度军鼓滚奏铺在 3–4s 与 21–22s 两个 drop 前。4.3 母带与 WAV 输出母带阶段按 99.5 百分位归一化再经软膝限幅0.7 阈值、tanh 膝压顶最后峰值归一化到 0.89。输出分两段music.wav覆盖正片pre.wav单独合成开场前的过渡rising whoosh 落在正片第一个 impact 上。4.4 种子随机随机数使用 LCGseed 1337固定种子因此每次渲染配乐结果可复现。五、场景实现从 React 动画到 three.js 世界5.1 launch纯 React 场景launch 的场景目录 src/scenes/ 用 React 组件实现六幕动画problem 幕用文字逐个砸出 Coding agents burn tokens just finding the right code.reveal 幕逐字母拼出 logo、打出jg where is connection pooling configured?命令行engine 幕演示目录修剪、文件打标、声明块定位、行级输出的引擎流程jev 幕展示 stream 与 handoffbench 幕做数字滚动对比outro 幕打出安装命令npm i -g dzhng/jevgrep。所有动画事件的时机都从 cues.ts 读取例如 reveal 幕的打字时间由R.typeStart到R.typeEnd均分到命令字符串的每个字符上对应音效表里逐字符的key声。5.2 v0.4一个连续的书桌世界v0.4 的创意是一张连续的书桌代理为读过的每一页付钱所以jg是整理案卷的 clerk。v0.4 的每项变更在桌上都有自己的日常道具站——relavance 条的晾衣绳、relevance 与 scope 的两枚橡皮章、结构性上下文的剪刀与回形针、测试的牌面朝下的卡片、输出截断的铡刀、成本的收据——摄像机在各站之间穿行。场景基于 react-three-fiber关键实现细节记录在 video/v0.4/README.md 的 Rendering notes无头渲染需要 ANGLEWebGL 在 headless Chrome 中需要 GPU 后端 ANGLE 上下文video/v0.4/remotion.config.ts 用Config.setChromiumOpenGlRenderer(angle)显式指定并设并发 4命令式后期栈src/three/Post.tsx 以命令式方式构建 AOn8ao、景深、bloom、色差、颗粒等后期效果——因为react-three/postprocessing的 composer 是在 effect 里初始化的发生在 Remotion 的一次性advance()之后会把渲染标签页首帧的所有效果丢掉命令式写法规避了这一点字体与纹理本地化纹理绘制在 canvas 上等待public/fonts中 vendored 字体加载完成后进行因此任何一帧都不依赖网络。六、渲染与审查工作流6.1 标准命令# launch npm install npm run studio # 浏览器中拖动时间轴 npm run render # 重新生成配乐后渲染 out/jevgrep-reel.mp41080p60 # v0.4 npm run studio npm run draft # 半分辨率草稿 out/draft.mp4 npm run render # 正式成片 out/jevgrep-0.4.mp4CRF 14、x264 slow、320k AAC6.2 草稿与分镜拼贴video/launch/README.md 给出了草稿渲染与分镜检查的命令npx remotion render src/index.ts Reel out/draft.mp4 --scale0.5 scripts/contact-sheet.sh out/draft.mp4 name 1.0 2.5 ...scripts/contact-sheet.sh 会用 ffmpeg 在给定时间点各取一帧、缩到 960 宽再按tile3x2拼成 3×2 的接触印样contact sheet快速核对关键帧构图。6.3 声音无法听审配乐脚本不能在审查过程中听到因此文档给出的替代方案是用 ffmpeg 看声音ebur128滤波器检查响度是否符合预期响度值showspectrumpic检查音色结构与 cue 摆放位置频谱图可肉眼核对打击点是否落在该落的位置。6.4 缩略图友好设计两支短片都刻意在正片前加了一段关键视觉停留PRElaunch 0.5s / v0.4 0.3s对应THUMB_T时刻的画面——因为社交信息流用早期帧做缩略图而不是严格的第 0 帧。pre.wav覆盖这段停留music.wav从 cold open 才开始。launch 的Poster合成是独立的 README 主视觉输出out/poster.png与正片互不干扰。七、数据声明宣传片里的每个数字都溯源两支短片都在 README 里专设 Claims 一节规定画面上数字的来源与披露边界这是本项目数据纪律最值得借鉴的部分。7.1 launch复述 README 的测量结果并保留披露launch 的 benchmark 场景与海报复述 README 的测量结果且必须保留完整披露一次 10 任务的 SWE-bench 重复、包含失败任务、排除 Jev 成本、7/10 解决 vs 8/10 基线。文档明确要求Keep that disclosure if the numbers change——数字一旦变化披露必须同步更新。7.2 v0.4数据文件与评测报告一一对应video/v0.4/src/data.ts 是 v0.4 片的数字来源数据取自 evals/results/relevance-threshold-2026-09-27.md文件头注释要求Keep exact; do not round past the source10 个任务逐条列出django-15629、scikit-learn-13124、pytest-6197、requests-1142、astropy-13579、xarray-3305、sympy-16792、sphinx-8638、matplotlib-26466、pylint-4604含每任务的 jg 与基线 Sol 成本及是否解决总量TOTAL { jg: 5.44, base: 7.62, reduction: 28.6%, rounded: 30% }——实测降幅 28.6%屏幕上按仓库 README 的取整口径显示为 30% less文件数DJANGO_FILES { before: 51, after: 10 }来自同一报告中的单个 Django 任务旧 0.25 文件阈值 vs 新 0.5 阈值下的候选文件数。v0.4 README 还明确了三个容易误读的口径变更以一个整体出现因为报告未隔离各变更的独立效果对比对象是不带 jg 的 agent而不是 jg v0.3这是营销剪辑画面上无披露因此四舍五入的声明必须与报告绑定数字变化时同步更新。八、给读者的工程启示纵观 video/README.md 及其两个子工程这套视频生产线的设计可提炼为四个可复用的原则音画同一时间源cues.ts单一文件承载所有时间场景与配乐都读它杜绝改画面忘改声音配乐进版本库音乐由固定种子的纯代码合成器生成无采样版权问题且每次渲染可复现数字必须溯源宣传片中的指标直接引用评测报告与仓库 README并明确披露口径含失败任务、排除项、对比对象、取整规则数字变化时披露同步更新渲染可审查半分辨率草稿、接触印样、ebur128/showspectrumpic音频可视化构成一套不依赖听觉的完整审查流程。若想深入实践建议从 video/launch/src/cues.ts 读起——它既是时间轴、也是音效 cue 表、还是和声编曲表一份文件即可理解整支 30 秒短片的叙事与节奏结构随后对照 video/launch/scripts/music.mjs 观察每个画面事件如何映射为具体的合成音色即可完整掌握代码驱动音画同步的实现路径。赞分享【免费下载链接】jevgrepFind code by asking what it does. A CLI for coding agents that uses Jev to discover relevant files and source context.项目地址https://gitcode.com/gh_mirrors/je/jevgrep点击查看免费下载相关推荐用 Remotion 程序化生成会议宣传视频Shortvid.io 开源案例全面解读用 Remotion 程序化生成会议宣传视频Shortvid.io 开源案例全面解读 Shortvid.io 是一个完全开源的项目它围绕 Remotion音视频AI 应用前端基于 Ray Serve 与 SigLIP 构建生产级视频分析推理流水线基于 Ray Serve 与 SigLIP 构建生产级视频分析推理流水线 本文档以 Ray 仓库中 video analysis 教程 https://link人工智能分布式训练强化学习任务调度模型推理服务后端如何用 archon-remotion-generate 工作流生成 Remotion 视频并渲染出片如何用 archon remotion generate 工作流生成 Remotion 视频并渲染出片 如果你已经有一个 Remotion 项目想让 AI人工智能AI Agent代码智能体工作流自动化流程编排后端前端CLI上一篇Rust 错误码 E0729 深度解析非词法生命周期NLL与旧借用检查器的健全性警告下一篇解锁Open WebUI自定义标签打造个性化AI交互体验创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

企业网站制作日志分析入门:从服务器日志发现SEO技术问题 2026/9/30 9:31:49

企业网站制作日志分析入门:从服务器日志发现SEO技术问题

很多企业做网站SEO时,习惯只关注关键词排名、收录量和外链数量,却忽略了网站最底层的数据——服务器日志。服务器日志记录了每一次用户访问、搜索引擎抓取、文件请求、页面跳转和错误响应。对于企业网站来说,日志分析可以帮助判断搜索引擎是否…

阅读更多 →
DeepSeek赋能碳减排:语义抽取与NSGA-II多目标优化实战 2026/9/30 9:31:43

DeepSeek赋能碳减排:语义抽取与NSGA-II多目标优化实战

简介:在能源行业数字化转型中,数据治理往往比算法模型更先卡住瓶颈——排放因子散落在报告、PDF与表格中,传统正则匹配难以应对语义变体,而优化目标若仅盯碳排放单值,又会被成本、就业等现实约束反弹。大模型正成为连接…

阅读更多 →
Ubuntu 18.04安装教程:ROS Melodic、双系统与开发环境配置 2026/9/30 9:31:43

Ubuntu 18.04安装教程:ROS Melodic、双系统与开发环境配置

1. 为什么 2024 年还有人在装 Ubuntu 18.04先把话说在前面:Ubuntu 18.04 代号 Bionic Beaver,标准支持在 2023 年就已经画上句号了,官方把后续的安全维护挪进了 ESM 通道。从纯粹的"用最新系统"角度讲,它确实不是首选。…

阅读更多 →
UE帧计时与网络同步:从DeltaTime到延迟优化的工程实践 2026/9/30 9:31:43

UE帧计时与网络同步:从DeltaTime到延迟优化的工程实践

如果你在虚幻引擎里写过哪怕是几个月的Gameplay系统,一定被这样的问题折磨过:为什么玩家明明点了攻击,服务器收到时已经晚了半拍?为什么两个客户端看到的Boss血条不一样?为什么同一个变量,A客户端先变化&am…

阅读更多 →
无畏契约启动报错怎么办?Vanguard服务与安全启动全排查指南 2026/9/30 9:31:43

无畏契约启动报错怎么办?Vanguard服务与安全启动全排查指南

打无畏契约最烦的不是对枪没对过,而是游戏还没进去就被一个启动报错堵在门外,屏幕上蹦出一串“VAN 9001”“VAL 5”之类的代码,根本看不懂。这类问题和拳头自己做的反作弊系统 Vanguard 关系极大,Vanguard 属于内核级保护的启动服…

阅读更多 →
2026年AI营销服务商综合能力权威榜单:聚焦小微商户的多渠道支付与AI内容生成解决方案领跑者 2026/9/30 9:31:42

2026年AI营销服务商综合能力权威榜单:聚焦小微商户的多渠道支付与AI内容生成解决方案领跑者

行业背景与演进线索 AI驱动下支付生态的变迁全景 在全球范围内,AI驱动的支付与营销协同框架正在以更高的智能化水平重塑中小微商户的运营边界。多渠道支付把银行、数字钱包、二维码等入口汇聚到同一个终端生态,推动交易效率与用户体验同步提升。与此同时…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉