Communitygithub.com

节拍同步混剪构建器

根据歌曲分析结果和素材,构建节拍同步的社交媒体视频混剪。适用于需要编排、规划或修改音乐节奏剪辑;将素材映射到节拍、起音点和剪切标记;创建竖屏或横屏混剪时间线;将音频响应效果集成到镜头中;混合游戏、人群、演唱会、自然、菜单或其他焦点素材;生成时间线CSV、联系表和剪辑简报;或为另一首歌曲或素材库调整Conteto Machino / Smash Mash工作流的场景。

节拍同步混剪构建器 是什么?

Beat-Synced Montage Builder(节拍同步混剪构建器)是一个AI Agent技能,专为需要根据歌曲分析结果进行音乐节奏剪辑的开发者设计。它能够从歌曲分析输出(如节拍、起音点、剪切标记)中构建时间线,并自动将素材映射到这些音乐标记上,生成节奏一致、情感连贯的社交媒体视频混剪。该技能支持竖屏(9:16)和横屏(16:9)格式,并提供多种渲染架构(如FFmpeg分片渲染、逐帧NumPy处理、GLSL着色器融合),确保效果与素材的无缝集成。它强调“集成效果规则”:任何视觉效果必须锚定在人物遮罩、场景几何或画面像素上,而非作为单独片段穿插,以避免视觉断裂。该技能适用于Claude Code、Cursor、Codex等AI代码代理平台,用户可通过输入音频文件、剪切标记CSV和素材清单,自动生成包含最终视频、时间线CSV、联系表和剪辑简报的完整交付物。它还包含素材评分脚本`scan_video_sources.py`,用于快速评估视频素材的运动、亮度、饱和度,并推荐最佳剪辑起点。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BusyBee3333/viral-video-edit-skills/tree/main/skills/beat-synced-montage-builder

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

节拍同步混剪构建器 是做什么的?

概述

在歌曲已通过 $song-edit-analysis 分析完毕,或已有等效的节拍/剪切标记数据后使用此技能。目标不仅是将片段放在音乐下;剪辑应感觉像是为歌曲精心编排的,主题切换、冲击、人群反应和视觉重音应落在有意义的音乐标记上。

集成效果规则(不可协商,现场学习于2026年7月)

效果和素材绝不能分离。不要在节拍间交替使用全帧效果片段和全帧真实素材——这看起来像是两个视频拼接在一起。每个效果必须锚定于:(a) 主体的遮罩(逐帧人物蒙版——macOS上使用Apple Vision的VNGenerateForegroundInstanceMaskRequest,或同等技术),(b) 场景几何(天空中的传送门、角落固定的屏幕、水面倒影、边缘包裹的光渗),或(c) 镜头自身的像素(实时帧的万花筒/镜像、高光涂抹、帧历史的时间波纹)。程序化渲染作为场景内元素进入镜头——通过天空、屏幕、门道、倒影——绝不作为剪切片段出现。未跟踪的屏幕混合元素看起来像贴纸。相关法则:好看胜过遵循参数(宁愿重构也不交付连贯性失败);每个剪辑使用一种效果语言,随歌曲结构升级——每个镜头一种一次性效果会破坏连贯性;每个镜头上丰富、扎实的调色(纯粹的克制看起来洗白且无聊;有效公式是丰富的密集调色加上每个镜头一次硬性现实弯曲)。对于情感分享类片段,偏好单个连续镜头,带有光度变换(歌曲包络驱动的渐变调色/光照到来/光芒绽放)——从构造上杜绝接缝。

合成陷阱:屏幕混合必须在RGB(format=gbrp)中运行——在YUV中,黑色的色度为128,屏幕混合会导致画面磁化。使用RGB lutrgb 乘以来做不透明度。

剪切引擎

两个时钟,按轨道选择:

  • 起音点锁定(能量/留存轨道首选): librosa.onset.onset_detect(onset_envelope=onset_strength(...), hop_length=512, backtrack=False, delta=0.02, units="time");合并间隔小于0.13秒的起音点,保留强度较高的;量化 int(round((t-t0)*FPS));强制帧0;在每个存活的起音点上剪切——稀疏时保持,密集时爆发;在顶部四分之一强度的起音点上做放大强调。需要深度素材池(约60+个筛选镜头)。优先于密度预设。
  • 标记/优先级驱动(本工具原始引擎): 按照下面的优先级表在主/次标记上剪切——仍适用于横屏游戏录像剪辑和中等密度剪辑。
  • 将任何估算的节拍网格与真实检测到的起音点对齐(在60毫秒内);对于风格切换/变换时刻,使用向下取整而不是四舍五入,以便变化落在包含瞬态的帧上。

构建架构

  • 分片渲染 → 拼接 → 后处理图(仅ffmpeg): 每个镜头的MP4,带有覆盖裁剪(scale=W:H:force_original_aspect_ratio=increase:flags=lanczos,crop=W:H,HDR源先色调映射到bt709,tpad=stop_mode=clone 冻结延长短片段——绝不缩短音乐网格),concat解复用器 -c copy,一个 filter_complex 内部调色(eq=contrast=1.05:saturation=1.08,暗角,通过 noise=alls=5:allf=t+u 添加胶片颗粒),最后混入音频并加淡入淡出。
  • 逐帧NumPy管道(逐像素集成效果): 解码ffmpeg→rawvideo rgb24→numpy循环→编码ffmpeg stdin,CRF 17。经验证的遮罩管道:渲染干净的调色版 base.mp4(锁定剪辑)→ 基于base生成人物遮罩 → 根据每帧效果表驱动效果 → 混入原始音频。同步完美保证。
  • 着色器内融合(moderngl GLSL): 素材解码到纹理中,程序化世界在同一个片段着色器中渲染,通过 --cuts 传递剪辑点,使其作为着色器内的扭曲冲击落下。最深的集成;参见 $generated-media-sourcing 获取渲染器框架。

输入

优先使用以下输入:

  • 音频文件或一个片段窗口。
  • 来自 $song-edit-analysis 的 *_cut_markers_30fps.csv。
  • 素材来源或包含片段路径、类别、权重和使用说明的素材清单。
  • 来自 $generated-media-sourcing 的生成媒体清单或生成资产文件夹(当用户要求生成片段/图像或素材不完整时)。
  • 期望格式:9:16、16:9,或两者。
  • 目标时长,通常社交媒体音视频剪辑为 30-40秒。

如果还没有剪切标记CSV,请先运行 $song-edit-analysis。

工作流

  1. 在渲染前选择音乐窗口。利用歌曲分析选择一个高能量或叙事连贯的 30-40秒 区间。
  2. 盘点素材。使用 scripts/scan_video_sources.py 对候选视频的运动、光泽、亮度、饱和度和推荐开始时间进行评分。
  3. 如果缺少真实素材或用户要求生成媒体,在最终源映射之前使用 $generated-media-sourcing 创建或规划生成的片段和静态图像。
  4. 创建素材分类。常见类别:gameplay(游戏玩法)、crowd(人群)、real_laser(真实激光)、photos_festival(音乐节照片)、photos_nature(自然照片)、character_select(角色选择)、menu(菜单)、reaction(反应)、product(产品)、broll(B-roll)、generated_video(生成视频)、generated_still(生成静态)。
  5. 从相邻的剪切标记构建片段计划。跳过大约 0.17秒 以下的微片段,除非曲目确实需要断奏剪辑。
  6. 将素材强度与标记优先级匹配:
    • 优先级1-2:置景、上下文、保持、柔和运动。
    • 优先级3:中等动作、角度变化、有节奏的B-roll。
    • 优先级4:活跃运动、快速剪辑、反应回答。
    • 优先级5:最佳冲击、揭露、击倒、人群打击、激光闪光。
  7. 使用重音作为标点,而不是填充。真实激光、人群欢呼、自然闪光、菜单时刻、生成图像和抽象灯光应放大乐句转折、军鼓、填充和下降。
  8. 渲染片段,拼接,附加干净的音频片段,然后输出:
    • 最终视频
    • 时间线CSV
    • 联系表
    • 包含来源组合、类型组合、尺寸、音乐窗口和创作意图的简报JSON
  9. 在宣布剪辑完成之前运行 $edit-delivery-qa。

渲染模式

对于包含横屏素材的竖屏剪辑,保持主要动作可读:

  • 使用同一素材的全屏模糊/增强背景。
  • 将清晰的前景居中叠加,保持稳定的缩放和Y轴位置。
  • 仅在必要时添加微妙的顶部/底部分隔线。
  • 避免丢失舞台、发射方向、面部或重要UI的紧竖屏裁剪。

对于全屏重音素材:

  • 缩放/裁剪以填充交付格式。
  • 提高对比度/饱和度以便快速识读。
  • 保持激光/音乐节/反应重音短小:通常 2-12 帧或一个节拍。

对于横屏游戏剪辑:

  • 保持全帧动作可见。
  • 优先使用 1920x1080,最低 30fps。
  • 在高能量部分使用快速单节拍剪辑,但保持源素材的可读性。

素材选择规则

优先选择明显的屏幕上动作:冲击、碰撞、尖刺、揭露、快速连击串、表情丰富的反应或高运动亮光时刻。

将爆发性的人类反应镜头保留用于重大冲击后的呼应与响应。不要自动拒绝仅有人群的素材;只拒绝微弱、缓慢或视觉上扁平的反应。

尽可能使用真实素材用于最终的激光/音乐节重音。生成的占位符可用于探索,但应在最终交付前替换为真实来源(如果存在)。

拒绝或大幅降低优先级:标题卡、访谈、无明显作用的菜单、空白舞台、平坦的板、过度裁剪的动作以及高峰部分的低运动置景。

生成的片段和静态图像必须在时间线/简报输出中标记为 generated_video 或 generated_still,附上使用的提示词,以及资产状态为 final_ok、replace_if_real_source_found 或 placeholder_only。

时序启发式

  • 使用主标记进行硬切、主题切换、冲击、揭露和速度斜线落地。
  • 使用次标记进行延续剪辑、角度变化、小B-roll切换和速度斜线开始。
  • 在高能量部分,平均片段长度约 0.35-0.50秒 适用于密集的社交媒体混剪。
  • 对于 35秒 的音视频剪辑,70-90 个片段是一个强有力的目标(当源素材支持时)。
  • 将最强的素材保留给最高能量的部分;不要在置景阶段用完所有峰值素材。

竖屏音乐视频模式(2026年7月)

对于9:16音乐推广(与Smash模式并列的较新轨道):始终1080×1920@30;无缝循环结尾(光度状态在最后约22帧内返回到帧0);钩子文本带第二行动态(第1行在帧0静态,第2行在节拍融合出现,在±100ms内贴合真实起音点,在0.8-1.3秒);要么是Sweeps风格容器(黑色画布、居中素材窗口、上方等宽钩子、下方信用信息),要么是全屏电影风格。在稳定基础设施上迭代编号版本——仅在版本之间更改效果语言;当客户喜欢一个2秒的时刻时,让那个时刻成为下一版本的整体语言。

来自Conteto Machino的项目模式

来自Smash Mash项目的可复用形状:

  • 音乐窗口:大约 52.98秒-88.17秒,一个 35.19秒 的高能量片段。
  • 密集的标记驱动剪辑:大致每个节拍或主要标记对应一个片段。
  • 主要游戏玩法/动作占主导。
  • 人群、真实激光、自然和菜单/源上下文时刻作为简短标点出现。
  • 交付物包括最终MP4、联系表、时间线CSV和简报JSON文件。

有关详细标准,请阅读 references/conteto-edit-standard.md。

可选参考:

  • references/example-prompts.md:用于未来编辑任务的可复用提示。
  • references/file-schemas.md:灵活的时间线CSV和简报JSON形状。
  • references/render-recipes.md:从该项目改编的FFmpeg/布局配方。
  • references/gui-vision.md:未来图形工作流的产品愿景。

脚本

当需要可复用的素材清单时,使用 scripts/scan_video_sources.py:

python3 scripts/scan_video_sources.py /path/to/videos --out /path/to/source_inventory

它写入一个CSV和JSON,包含媒体时长、粗略运动/光泽分数和推荐的开始时间。使用输出来构建素材池,并防止反复从相同的死寂时刻剪辑。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

edit-delivery-qa

Verify final video edits before delivery. Use when an agent needs to inspect a rendered MP4/MOV/WebM, confirm duration/resolution/frame rate/audio, generate or review contact sheets, analyze timeline CSVs, check cut density/source mix, check FX integration and cohesion, verify text-to-beat sync, catch weak frames or accidental placeholders, and decide whether a beat-synced social edit is ready to show.

generated-media-sourcing

Generate or plan media assets for beat-synced edits when real footage is missing or the user asks for generated visuals - AI video (Gemini/Veo/Flow), AI images, or procedural audio-reactive GPU renders (tunnels, portals, kaleidoscopes, starbursts, mandalas, title pieces via Python+moderngl GLSL). Use with beat-synced-montage-builder when a montage needs generated clips, stills, or procedural audio-reactive elements instead of, or alongside, sourced footage.

song-edit-analysis

Analyze songs and audio files for beat-synced video editing, clip timing, energy mapping, viral window selection, onset-locked cut grids, footage selection, and agent-readable edit briefs. Use when an agent needs to inspect an MP3/WAV/M4A/audio track, estimate tempo and beat grids, identify sections, produce cut markers, pick the best 15-30s window of a song for short-form video, or guide a human or another agent in choosing footage that matches musical energy.

viral-video-edits

End-to-end system for making S-tier beat-synced short-form music video edits — song analysis, viral window selection, footage sourcing with shot-level QA, hook writing, onset-locked cutting, integrated audio-reactive FX (person mattes, procedural GLSL renderers, cinematic grade), and delivery QA. Use this whenever the user asks to make a video edit, music video, reel, TikTok/Shorts/vertical video, beat-synced montage, lyric/hook video, audio-reactive visual, tunnel/portal/kaleidoscope render, or to promote a song with video content — even if they don

相关技能