OpenMontage 如何把参考视频转成可执行的制作方案:节奏、结构与成本分析流程

OpenMontage 如何把参考视频转成可执行的制作方案:节奏、结构与成本分析流程 OpenMontage 如何把参考视频转成可执行的制作方案节奏、结构与成本分析流程【免费下载链接】OpenMontageWorlds first open-source, agentic video production system. 12 production pipelines, 100 tools, 700 agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage手里有一条让你觉得「我想要的就是这个感觉」的视频但把它写成提示词时总是丢失节奏、结构和成本预期。OpenMontage 的参考视频工作流解决的就是这个问题把一个视频 URL 或本地文件交给你的 AI 编码助手系统的video_analyzer工具在本地完成下载、转录、场景检测、关键帧抽取和节奏分析产出一份VideoAnalysisBrief随后 Agent 对照你机器上的真实能力做审计用成本估算器算出分项报价给你 2-3 个有差异化的方案先做一段 10-15 秒样例确认后再进入完整流水线。整个流程的契约写在 skills/meta/video-reference-analyst.mdAGENT_GUIDE.md 把「make me something like this」类请求明确路由到这个技能。适用前提已完成make setup或手动执行 README Quick Start 一节中的 venv、requirements.txt、npm install、piper-tts安装与.env复制系统装有 FFmpeg并有一个能读文件、跑 Python 的 AI 编码助手Claude Code、Cursor、Copilot、Windsurf、Codex 均可。参考视频可以是 YouTube/Shorts/Instagram/TikTok 链接或本地文件注意这个技能只处理「照着这个风格做一条新的」如果你是要剪辑已有素材应走source_media_review与 footage-led 流水线两者不要混用。准备让分析依赖就位video_analyzer完全本地运行、不需要任何 API key但依赖几项组件安装说明直接写在 tools/analysis/video_analyzer.py 的install_instructions中FFmpeg必选brew install ffmpeg/sudo apt install ffmpegyt-dlpURL 源下载需要pip install yt-dlpyoutube-transcript-api抓取 YouTube 字幕pip install youtube-transcript-apifaster-whisper字幕不可用时的本地转录兜底pip install faster-whisperscenedetect[opencv]场景边界检测pip install scenedetect[opencv]URL 源会以 720p 上限下载max_resolution: 720p分析产物默认写入projects/_analysis/analysis_时间戳/目录其中包含video_analysis_brief.json和keyframes/子目录这是该工具声明的副作用只写文件、不改系统状态。第一步触发参考分析工作流在 AI 编码助手中把参考视频交给它例如Heres a YouTube Short I love. Make me something like this, but about quantum computing.按 AGENT_GUIDE.md 的要求Agent 会先读 skills/meta/video-reference-analyst.md然后执行该技能 Step 1 规定的分析调用video_analyzer.execute({ source: url or path, # 替换为你的视频 URL 或本地文件路径 analysis_depth: standard, # transcript_only / standard / deep默认 standard max_keyframes: 20 # 1-50默认 20 })standard深度会依次执行元数据抓取 → 字幕抓取YouTube 优先走 youtube-transcript-api失败则下载视频用 Whisper 转录→ 场景检测method: contentmin_scene_length_seconds: 0.5→ 逐场景运动分类 → 场景引导的关键帧抽取 → 音频能量分析。每一步的成功与失败都会记入 brief 的_analysis_meta.steps_completed/steps_failed后面验证时可以直接看。读懂产出节奏、结构与运动类型VideoAnalysisBrief的字段契约定义在 schemas/artifacts/video_analysis_brief.schema.json。对制作方案最有决策价值的三部分1. 节奏档案structure_analysis.pacing_profile包含cuts_per_minute每分钟切点数、平均/最短/最长场景时长以及自动分类的pacing_style。分类阈值来自 video_analyzer.py 的_classify_pacing平均场景时长pacing_style 10sslow_contemplative5-10ssteady_educational2-5sdynamic_social 2srapid_fire2. 逐场景运动分类motion_typeflow_variance工具对每个场景采样帧对用 Farneback 稠密光流计算方差把场景分为三类阈值调用于 360p、0.4s 采样间隔平均光流幅值 0.5 →static_image几乎无运动方差 2.0 →animated_still静帧上的推拉摇移Ken Burns 类其余 →motion_clip对象在独立运动真实生成素材技能文档特别强调不要猜参考片用的是生成视频还是静帧动画直接读motion_type字段。多数场景是motion_clip就按视频生成工具规划多数是animated_still则走图像生成 Remotion/FFmpeg 组合路线。这一步也依赖 OpenCVcv2导入失败时该字段会全部退化为unknown此时不能拿运动类型做规划依据。3. 复制指导replication_guidance自动给出suggested_pipelineShorts/TikTok/Instagram 源 →animationslow_contemplative节奏 →cinematic其余 →animated-explainer、estimated_complexity时长 300s 或场景 30 →complex 120s 或 15 →moderate否则simple、motion_required≥ 30% 场景为motion_clip或节奏为 dynamic/rapid 时为真。这些字段是初筛Agent 随后会亲自查看关键帧图像把逐帧描述、色彩板、转场模式回填到content_analysis、style_profile和replication_guidance中并按五要素Subject / Subject Motion / Scene / Spatial Framing / Camera格式化输出供下游的 proposal、script、scene 阶段直接取用。结果验证工具声明的验证方式有三条——翻看keyframes/里的关键帧图像确认覆盖有代表性、把转录文本与视频听感对一遍、检查场景边界切分是否符合视觉切点。若某一步失败按技能文档的错误处理表走URL 下载失败则换链接或提供本地文件无字幕则下载后走 Whisper场景检测失败则退化为均匀帧采样全部失败时让用户口述参考内容转入标准创意流程。第二步能力审计把需求对照到真实工具分析完成后Agent 会跑标准 preflight直接可用这三条命令在项目根目录执行python -c from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent2)) python -c from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.provider_menu(), indent2)) python -c from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.capability_catalog(), indent2))然后把参考片的需求映射到已配置的能力上缺口必须如实说明。技能文档给出的示例格式文档示例REFERENCE NEEDS YOUR CAPABILITIES GAP ───────────────────── ───────────────────── ────────── Video clips (sci-fi) Video gen: 0/12 configured BLOCKED without key Narration (deep male) TTS: ElevenLabs available READY Background music Music: MusicGen available READY对于不可用能力从 registry 的install_instructions读取安装说明不硬编码 key 名或地址。有一个硬规则要注意当 Remotion 和 HyperFrames 两个合成运行时都可用时Agent必须把两个选项连同权衡一起呈现等用户明确批准后才锁定render_runtime静默默认任何一个都违反 AGENT_GUIDE.md 中的 Present Both Composition Runtimes (HARD RULE)只装了一个时则直接说明缺失项后继续。第三步成本估算流程拿到目标时长和用户选定的工具方向后成本不是拍脑袋报价而是调用 tools/cost_tracker.py 的estimate_from_referencetracker.estimate_from_reference( video_analysis_briefbrief, # video_analyzer 产出的 brief 字典 target_duration_seconds60, # 你要做的目标时长 tool_plan{ # 下方取值来自源码 docstring 示例按实际选型替换 image_generation: {tool: flux_fal, cost_per_unit: 0.05}, video_generation: {tool: kling_fal, cost_per_unit: 0.30, clip_duration_seconds: 5}, tts: {tool: elevenlabs_tts, cost_per_word: 0.00003}, music: {tool: music_gen, cost_per_track: 0.10}, }, )返回值是一份可核对的分项估算line_items每个类别的数量、单价、小计与basis依据说明、total_usd、total_range_usdlow/high 区间、sample_cost_usd前 2 个场景的样例成本、confidencehigh/medium/low取决于 brief 里场景与词数数据的完整度以及assumptions文字化的全部假设。估算逻辑有几个关键点都写在源码里场景数按节奏密度缩放用参考片的cuts_per_minute乘以目标时长而不是线性拍脑袋同时按pacing_style设最低场景数rapid_fire10、dynamic_social8、steady_educational5、slow_contemplative3、variable6快剪视频不会缩水成幻灯片。运动占比决定视频生成量运动秒数 ÷ 单片时长得出覆盖所需的 clip 数再乘 1.3 的重试/废片缓冲。旁白按词数计价用参考片实际 WPM无转录时默认 150推算目标时长的词数。报价是区间不是单点low 估算 ÷ 1.3一次全过high 估算 × 1.15。估算之外的钱由预算治理兜底每个付费操作先estimate再reserve执行完reconcile对账超过单次审批阈值默认 $0.50或首次使用某个付费工具会暂停请求批准总预算上限默认 $10模式可选observe/warn/capcap 模式下超支直接抛BudgetExceededError。第四步提案、样例然后进入流水线提案必须带成本。Agent 给出 2-3 个差异化变体技能文档明确禁止「碳拷贝」——参考片是灵感不是模板每个变体包含保留什么/改变什么、视觉方案playbook、合成运行时、运动策略、clip 时长策略、音频方案旁白架构、选角、TTS 提供方、时长按 provider 拆分的报价表以及一条诚实评估这个预算实际买到什么、买不到什么。技能文档特别给出省成本策略多数 provider 支持 5s 和 10s 片段优先 10s 并合并叙事连贯的相邻场景——60 秒视频需要 6×10s 而不是 12×5s成本和剪辑点都减半。provider 对比表呈现给用户选Agent 可以给推荐和理由但不能替用户做决定。样例先行是强制的。用户选定变体后Agent 先做 10-15 秒样例开场 hook 一个中段场景含真实 TTS 旁白、真实生成的视觉素材、音乐片段和字幕样式预览样例存在projects/name/assets/sample/sample_v{N}.mp4。即使你直接说「做完整版」技能也要求 Agent 温和地劝阻先做样例只有在被建议后仍坚持时才跳过。样例按反馈迭代到你批准为止。进入流水线不可跳过。样例批准后 Agent 读取匹配的流水线清单pipeline_defs/下的 YAML按 research → proposal → script → scene_plan → assets → edit → compose 逐阶段执行每个阶段前先读对应的skills/pipelines/pipeline/stage-director.md在checkpoint_required: true处打检查点在human_approval_default: true处等你批准。VideoAnalysisBrief 会作为 grounding 上下文随流水线各阶段传递决策记入 decision_log。生产开始后 Backlot 看板会自动跟随阶段、每个 provider 决策和每笔花费都实时可见边界与限制运动分类依赖 OpenCV缺失时motion_type全部为unknown此时只能靠pacing_style兜底判断别当成确定结论用。estimated_complexity的枚举里还有beyond_current_capability一档——分析结果若落在这一档方案本身就不成立换参考或降规格。这个流程产出的是「照着参考做一条新视频」的计划与生产它不编辑参考片本身也不适用于「cut this into clips」类请求那走 clip-factory/talking-head/hybrid 等 footage-led 流水线。成本估算的confidence字段告诉你估算的可信程度brief 中同时有场景数据和旁白词数才是high缺失数据时按文档如实向用户说明而不是把low置信度当精确报价。完成一次完整流程后你手上应该有一份经关键帧核对的video_analysis_brief.json、一张能力对照表、一份带区间和假设文字的分项成本估算、一段已批准的样例视频以及一条进入流水线后的可审计决策轨迹。这些产物都是文件随时可以回到任意检查点重看当时为什么做了那个选择。【免费下载链接】OpenMontageWorlds first open-source, agentic video production system. 12 production pipelines, 100 tools, 700 agent skill and production-knowledge files. Turn your AI coding assistant into a full video production studio.项目地址: https://gitcode.com/GitHub_Trending/op/OpenMontage创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考