mcpField
D
davinci-resolve-social-editor

davinci-resolve-social-editor

github.com/chaiwithjai创意与媒体31126 次安装23 周前更新
代码仓库

关于 davinci-resolve-social-editor

davinci-resolve-social-editor 是面向 DaVinci Resolve 社交视频制作的编辑工作流技能,供视频编辑者规划并检查剪辑。它要求先构建故事结构,再用画面、音频和时间线审查验证成片。

主要功能

  1. 01先制定故事计划与剪辑决策
  2. 02规划并说明 B-roll 用途
  3. 03检查画面构图与字幕安全
  4. 04审计对白音频和响度
  5. 05交付可审阅的 Resolve 时间线

适用场景

  1. 01将访谈整理成社交视频
  2. 02检查剪辑是否存在跳切或画面问题
  3. 03为视频设计 B-roll 与音频处理
  4. 04生成供人工审阅的 Resolve 项目

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/chaiwithjai/davinci-resolve-claude-skills --skill davinci-resolve-social-editor

安装后在 Claude Code 中输入/davinci-resolve-social-editor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
acceptance-gate.json
editing-qa.md
qedc-trace-learnings.md
reels-eval-benchmark.md
resolve-automation.md
rust-video-stack.md
scripts/
audio_quality_audit.py
caption_burnin_pipeline.py
probe_media.py
resolve_timeline_audit.py
verify_social_export.py

详细介绍

DaVinci Resolve Social Editor

核心规则

不要仅根据转录文本进行剪辑。先构建故事优先的剪辑方案,再用媒体分析、画面检查、音频检查和可交付 Resolve 的审阅产物来验证。

需要避免的失败模式是技术上有效但语义上断裂的剪辑:句子碎片、跳切、主体出画、字幕不匹配,或音乐压过语音。

必需工作流

  1. 导入与审查

    • 使用 scripts/probe_media.py <project-root> --out <manifest.json> 扫描媒体。
    • 识别相机 ISO、HQ 音频、现有 Resolve 项目、品牌图片和既有渲染。
    • 尽早检测不可用轨道:静音 WAV、黑屏相机、缺失音频、时长不匹配或异常帧率。
  2. 同步与素材策略

    • 对于真实剪辑,优先使用 Resolve 多机位/同步 bin 或波形同步。
    • 如果在 Resolve 之外编写脚本,将 FFmpeg 预览渲染视为审阅代理,而不是最终剪辑模型。
    • 如果 HQ 音频静音或不可用,明确回退到内嵌相机音频,并说明这一点。
    • 对于重复的硬盘文件夹输入,先使用 social-video-folder-autocutter 技能创建格式方案,然后返回此处进行 Resolve 实现。
  3. 剪辑前先做故事方案

    • 在渲染前生成简短的 story_plan.md:
      • 钩子/议程:“告诉他们你要告诉他们什么。”
      • 主体节拍:按顺序排列的完整想法。
      • 回顾/CTA:“告诉他们你告诉了他们什么。”
    • 仅使用转录时间戳来定位源范围。绝不要为了达到时长而在想法中途剪辑。
    • 优先选择较长且连贯的块,而不是许多词边界编辑。
  4. 剪辑决策列表

    • 创建人类可读的 edit_decisions.csv 或 JSON,包含:
      • 源文件、入/出点、选定相机角度、剪辑原因、故事节拍、转场类型、裁剪/构图说明、音频源。
    • 每一次硬切都需要理由:新节拍、角度变化、手势强调、B-roll、标题卡或有意风格化击打。
    • 如果同一切点两侧出现相同的相机/裁剪,使用 B-roll、推近/拉远或溶解。不要创建可见跳切。
  5. B-roll 计划与覆盖

    • 将 B-roll 视为视觉证据,而非填充物。对于每个切出镜头,记录它所证明的主张、所支持的叙事节拍,以及所解决的剪辑问题。
    • 在放置 B-roll 之前构建 broll_plan.json/CSV,包含:节拍、口播内容/上下文、源片段、源入点/出点、镜头类型、原因、放置位置、时长,以及是否覆盖跳剪。
    • 优先采用序列语法:用远景/全景建立上下文,用中景表现动作,用特写/细节提供证明。单个随机的素材库插入镜头比精心规划的覆盖序列更弱。
    • 在可用时使用真实或与上下文匹配的片段。如果使用素材库,拒绝那些感觉是隐喻但在视觉上与主张、受众、事件或品牌世界不匹配的片段。
    • 优先使用项目原生 B-roll:白板、房间细节、手部、笔记本电脑、表单、观众、标牌、茶/桌面物品,以及活动/工作坊物件。只要这些能证明演讲者的确切主张,就应胜过通用素材库。
    • 当缺少原生覆盖素材时,默认使用 Coverr 作为免费素材库 B-roll 来源。每个下载的资产必须在 broll_asset_manifest.json 中有一行,包含查询词、来源 URL、许可证/署名说明、本地路径、所选片段、预期节拍,以及备选素材的拒绝说明。
    • 从故事计划而非通用关键词构建搜索查询。示例映射:"AI falls short" -> laptop frustration,"Business Model Canvas" -> business planning whiteboard,"small room of entrepreneurs" -> workshop collaboration,"free/donation based" -> community event。
    • 保持 B-roll 足够长,以便在移动端阅读,通常为 1.2s-3.0s,但避免覆盖关键的面部/情感节拍,除非 A-roll 剪辑已断裂。
    • 在完整的语义节拍上放置 B-roll:在一个短语落下之后、在呼吸处、在新想法上,或覆盖明显的跳剪。不要打断承载信息的句子片段。
    • 切回 A-roll 时匹配视觉方向和能量。避免令人迷失方向的运动、不可读的裁切,或无关的地点,以免让观众质疑为何看到这些内容。
    • 使用全不透明度的切出镜头或明确设计的画中画。在面部上叠加低不透明度 B-roll 是最后手段的纹理处理,且必须通过静帧检查。
    • 如果用户喜欢该剪辑且只想改进,不要仅为了添加 B-roll 而重建主线。在明显的跳剪/证明节拍上添加有限的 B-roll 处理,然后重新生成字幕并验证。
  6. 画面安全

    • 在口播部分,演讲者必须保持可见。
    • 在素材导入时拒绝黑色或空白机位;不要将它们保留为可自动选择的机位。
    • 拒绝任何演讲者面部/身体缺失的区域,除非被有意的 B-roll、品牌卡片、图形、截图或切出镜头覆盖。
    • 对于竖版输出,保持眼睛靠近上三分之一,并使字幕避开面部/嘴部区域和社交 UI 危险区。
    • 在最终答复之前,在代表性时间戳生成验证静帧。
  7. 音频

    • 人声为主。音乐为辅。
    • 将音频视为剪辑的情感脊柱,而非事后补充的滤镜处理。围绕最佳对白主干构建序列,然后在这一主轴周围添加音乐、拟音、转场和画面调整。
    • 在选择对白来源之前运行 scripts/audio_quality_audit.py,并将 JSON 报告与剪辑素材一起保存。
    • 处理前先审查声道平衡。如果领夹麦/录音机轨道有一个弱声道和一个可用声道,在压缩、降噪、音乐闪避、字幕或移交 Resolve 之前,将好的声道复制为居中的双单声道。不要把损坏的立体声当作发布混音。
    • 默认保持修复/参考音频禁用。一段质量不佳的原始摄像机 WAV 绝不能在对白主干下方保持启用。
    • 使用闪避/侧链或非常保守的音乐增益。不要依赖固定的高音量背景铺底。
    • 运行响度检查。社交对白的目标响度约为 -14 到 -16 LUFS integrated,真峰值低于 -1 dBTP。
    • 如果有音乐,验证它在密集对白段落不会掩盖语音。
    • 对于创作者商业和工坊视频,在渲染前定义音频处理方案:
      • 对白修复/EQ/压缩/限幅器,
      • 音乐铺底选择和闪避深度,
      • 拟音/SFX 时刻,
      • L-cut/J-cut 时刻,
      • 目标 LUFS 和真峰值。
    • 仅在画面或转场需要时才添加具有触感的品牌拟音,例如茶杯、马克笔、键盘、纸张或柔和的 UI 提示音。随机的音效比静音更糟。
  8. 色彩与品牌

    • 对于 PBS/60 Minutes 风格,使用干净的纪录片调色:中性肤色、中等对比度、抬升的中间调、克制的饱和度,不要用刺眼的 LUT。
    • 将 Logo 视为品牌角标或片头/片尾卡。不要遮住说话者的脸。
    • 如果要对 Logo 的白色背景进行抠像,请检查静帧是否有光晕或无意的透明度问题。 8a. 命名风格目标
    • 在制作图形、字幕、音乐或 B-roll 之前,先命名目标创作者风格,并写一段风格简述。不要渲染“通用专业”视频。
    • 当质量标杆是 YouTube 原生或付费社交原生水平时,优先采用素材驱动的制作,而不是手写视觉效果。先使用经过验证的 Resolve 模板、已授权音乐/SFX 和风格包,再考虑从零绘制自定义 FFmpeg 叠加层。
    • 在手写下三分之一字幕条、字幕、转场或标注之前,先搜索现有本地/项目素材以及已知的 Resolve 模板来源,例如 Mixkit、Motion Array、Envato Elements、The Modern Filmmaker,或用户已安装的 PowerBins/模板。
    • 绝不使用未授权的音乐、SFX、模板或素材片段。如果付费素材需要账户访问或购买,生成获取清单并请求访问权限,而不是用质量较弱的生成近似物替代。
    • 使用基准推导出的风格语言,然后对其进行调整,而不是完全复制某位创作者:
      • 来自 Deya/Modern Millie 的 Creator Business Systems:干净、明亮、商业工作流、关键词叠加、截图、平静音乐。
      • 来自 Ali Abdaal/Vanessa Lau 的 Evidence-First Productivity Educator:快速价值契约、证据堆叠、编号议程、屏幕证据、近距离人声。
      • 来自 MadFit/Chloe Ting/Caroline Girvan 的 Guided Session Retention:进度/计时器、高调清晰、节奏性推进、下一步预览。
      • 面向 Chai With Jai 的 Tactile Documentary Teacher:讲述者主导的权威感、白板/画布证据、温暖工作室、茶/键盘/马克笔拟音、克制的优质图形。
    • 对于受 Deya 启发的 workshop/商业剪辑,在精修前进行严格的风格对比:
      • 镜头语法:主面部角度、语境角度、证据角度、屏幕/幻灯片插入,
      • 设计视觉系统:标题卡、清单/路线图、关键词叠加、截图证明、CTA 屏幕,
      • 留存机制:不间断 A-roll 不超过 6-9 秒而不进行视觉重置,
      • 音频个性:近距离干净人声、平静音乐、有品位的 UI/桌面/茶/马克笔拟音,
      • 工作流证明:展示正在讨论的实际框架、页面、表单、画布或产物。
    • 如果对比显示剪辑只是带字幕的播客剪切,停止精修,先根据包含视觉素材的故事板重建。
    • 将风格保真度与技术正确性分开评分。一个视频可以通过导出检查,却仍然因为看起来像程序化生成而失败。
    • 对于“5K 观看质量标杆”,要求提供覆盖视觉模板、音乐床、拟音/SFX、字体、字幕和色彩风格的素材清单。如果素材清单为空,不要声称具备高端制作价值。
  9. 解决交接

    • 优先创建/导入到 Resolve 项目/时间线以供审阅:
      • 媒体夹:Video ISO、HQ Audio、Brand、Renders、Review。
      • 时间线:一条可编辑时间线和一条渲染母版时间线。
    • 扁平化的渲染母版本身不是可编辑的交付物。对于面向用户的 Resolve 交接,应尽可能创建分层源时间线:
      • 原始摄影机剪辑放在各自的视频轨道上,
      • 原始对白/音频剪辑放在修复轨道上,
      • 干净的对白混音放在单独的启用轨道上,
      • 原始修复音频默认禁用,
      • 音乐、SFX、字幕、图形、B-roll 和母版参考放在各自命名的独立轨道上。
    • 对于 HITL 审阅,在独立轨道上包含一个禁用的母版/参考渲染,并为每个已知基准失败添加标记。人工编辑应能在不离开 Resolve 的情况下,将源层编辑与参考进行比较。
    • 按轨道实际启用状态命名轨道。禁用的参考、修复或先前母版轨道必须在轨道名称中标注 DISABLED,以免用户将其误认为活跃的发布层。
    • 为故事节拍、跳切风险、B-roll 需求、图形和 HITL 审阅步骤添加标记。
    • 时间线创建后运行 scripts/resolve_timeline_audit.py。如果剪辑被插入到可见时间线起始帧之前,即使 API 报告了轨道数量,Resolve 时间线也不可用。
    • 在 hillclimb 重建后,验证时间线项的源路径,而不仅仅是剪辑名称。Resolve 媒体池可能包含来自旧剪辑的同名剪辑;复用基名可能会静默地将过期的 v1 片段或源修复文件附加到新的 v2 时间线。
    • 当源路径很重要时,每次构建优先使用全新/带版本的媒体夹或强制导入的媒体。除非媒体池项的 File Path 与预期产物完全匹配,否则不要按名称复用媒体池项。
    • 如果使用 PNG 字幕,请验证其具有 alpha 透明度。全帧黑色字幕 PNG 是阻塞性缺陷。
    • 如果 Resolve 脚本不可用,请提供 FCPXML/EDL/CSV 以及预览渲染和说明。
    • 对项目导出或输出进行版本管理;切勿覆盖用户的原始 .drp。
  10. 最终前的验证

  • 运行 scripts/verify_social_export.py <render.mp4> --out-dir <review-dir>。
  • 对于带字幕的社交导出,使用 scripts/caption_burnin_pipeline.py 创建烧录字幕审阅。不要仅凭 SRT/PNG 素材就声称字幕已完成。
  • 在称社交剪辑可发布之前,运行或记录四通道基准:视频剪辑工艺、创意指导、视觉多模态和音频多模态。视觉高分不能覆盖音频或剪辑工艺的不合格分数。
  • 对于 YouTube/留存导向的剪辑,按可观察的留存机制而非泛泛的打磨程度来对创作者视频进行基准对比:前 5 秒的承诺清晰度、节拍密度、模式中断节奏、证据 B-roll、字幕可读性、手机混音、CTA 位置,以及每个段落是否赢得下一分钟。
  • 在基准中增加一个 音频可取性 通道,并对以说话人为导向的教育内容赋予最高权重。观众可以原谅画面不完美,但薄弱的对话、浑浊的 EQ、未做闪避的音乐或毫无生气的音效设计应阻止发布。
  • 如果基准渲染在较旧的母版上叠加了新的钩子/CTA 图形,请专门检查 CTA 帧。即使自动验证器通过,烧录字幕加上新的下三分之一也可能发生碰撞。
  • 对于带静态图像叠加或循环音乐的 FFmpeg 渲染,用 -t 和/或 -shortest 硬性限制输出时长;否则循环的 logo/音乐床可能悄悄将渲染延长到超出剪辑。
  • 至少检查开头、第一个正文节拍、中间、CTA 和结尾帧。
  • 将多模态评估器的时间戳视为近似值,而非权威。如果 Gemini 或其他评审指出取景、字幕、重影或缺少说话人出现等问题,请在修改剪辑之前,在所引用时间戳及附近帧提取静帧。在爬山笔记中记录任何经验证为误报的情况。
  • 在反复爬山时,在添加更多转场之前,优先将零碎的字边界剪切替换为更少的完整语义块。流畅的音频和连贯的故事比最大程度的角度切换更重要。
  • 保持注意力图形稀疏。QR 码、logo 和活动元数据属于 CTA/详情节拍,而非贯穿整个剪辑,并且不得与说话人或字幕争夺注意力。
  • 除非在转场处对重叠部分进行视觉检查,否则避免在说话人来源片段上使用视频交叉淡化。在竖屏社交裁切中,即使是短暂的溶解也可能被解读为重影/合成错误;请改用硬切画面配音频交叉淡化、J-cut、L-cut、推近或 B-roll。
  • 将 B-roll 视为有意的覆盖,而非装饰。对于薄弱的说话人时刻或跳切修复,使用全不透明度的切换镜头或明确设计的画中画;不要使用低不透明度 B-roll 叠加,以免造成双重曝光的人脸、浑浊的字幕或主体焦点不清晰。
  • 对于以说话人为导向的教育类短视频,不要用静态白板、幻灯片或道具镜头替代说话人超过几秒。如果用户说说话人没有“在剪辑中”,请围绕说话人优先的 A-roll 重建,并将白板/道具内容用作快速插入、画中画、字幕或文字叠加。
  • 图形叠加可能通过文字可读性 QA,但如果在 A-roll 时刻遮挡说话人的脸,仍然会导致剪辑不合格。对于暖流量创作者宣传,全屏或大型证明卡仅在有意作为 B-roll/标题卡覆盖时才允许;否则保持脸部/嘴部可见,并将图形移至侧面板、上角或短插入节拍。
  • 避免在同一白板在多个面板中重复出现或暴露倒置/无关白板字迹的分屏白板处理。如果白板存在混合方向,仅裁剪至正立的主张,或将其保留为简短插入。
  • 避免烧录视频滤镜和 ASS/顶部字幕层产生重复标题。每个节拍最多应有一个顶部标签和一个口语字幕通道。
  • 当更改竖屏裁切比例或 y 位置时,在拼接前强制 setsar=1/方形像素,并检查单个静帧,而非仅检查非常宽的接触表,后者在桌面预览中可能具有误导性。
  • 除非每个叠加都位于裁切安全中心内,否则不要在文字/字幕合成后对推近裁切进行后处理。在图形/字幕之前应用推近,或在运动处理后重新渲染字幕。V10 风格的后期裁切处理可以让视频更具动感,同时却切掉标题/标注文字。
  • 如果多模态评估器在技术 LUFS 通过的情况下仍称混音“干”,请将音乐/SFX 视为感知上不可听或过于通用。针对纯对话段落增加明确的音乐可听性检查,并在声称已评分修复音频效果之前检查波形/频谱图差异。
  • 不要让“可见效果”变成通用的闪光条或程序化矩形。如果基准要求 Mixkit/Fusion 风格效果,该处理需要动画标题模板、关键帧化入出场运动、阴影/模糊/分离,以及 Resolve 可编辑图层,而不仅仅是烧录的 FFmpeg 绘制框。
  • 字幕位置必须同时对照说话人的嘴部/下巴和底部社交 UI 安全区进行检查。优先使用带深色底板和选择性品牌色高亮的短语字幕;不要将字幕放得过高以致与脸部竞争。
  • 对于接近最终的字幕修复,使用“仅字幕收尾处理”:从已批准的剪辑中提取对话,运行词级转写,烧录短口语短语字幕,仅更正高置信度的领域术语,检查静帧,并重新运行社交导出验证。除非用户要求,否则不要更改画面/音频。
  • 最终回复必须提及:
    • 输出路径,
    • 时长/分辨率/帧率,
    • Resolve 时间线是否已更新,
    • 已知限制或任何未执行的检查。
  1. Capstone 诚实性
  • 不要把 Loom 上传、平面渲染或种子时间线算作 capstone。
  • capstone 需要一份验收报告,包含源文件夹、故事计划、剪辑决策、分层 Resolve 验证、导出验证、被要求时的作业/技能证据,以及遗留缺口。
  • 如果用户要求工作簿作业,每一课都必须有覆盖行和逐课证据产物。如果 Computer Use 超时,标记为 ui_blocked;不要暗示已完成手动 UI 操作。
  • 如果可编辑的 Resolve 时间线中字幕/音频/音乐轨道为空,而渲染中已将这些功能烘焙进去,请将此指出为交接限制。
  • 一次有用的 HITL 交接可以同时包含发布时间线和分层修复时间线:发布时间线保存已精确验证的母版,而修复时间线保存原始摄影机/音频剪辑、处理后的片段主线,以及一个已禁用的母版参考。请清晰标注,让用户知道应导出哪条时间线、应编辑哪条时间线。

性能指引

使用两层流水线:

  • 快速分析/规划: ffprobe、场景缩略图、转录时间戳、粗略 EDL、低分辨率代理。
  • 最终渲染/审核: 计划通过后,使用 Resolve 时间线、FFmpeg 渲染,或 FCPXML/EDL 交接。

对于重度自动化或重复项目,请阅读 references/rust-video-stack.md。使用 Rust 作为规划器/编排层,但将 FFmpeg/GStreamer/Resolve 保留为媒体引擎。

实用命令

python3 skills/davinci-resolve-social-editor/scripts/probe_media.py \
  /path/to/project --out /path/to/project/output/media_manifest.json
python3 skills/davinci-resolve-social-editor/scripts/verify_social_export.py \
  /path/to/render.mp4 --out-dir /path/to/project/output/review
python3 skills/davinci-resolve-social-editor/scripts/resolve_timeline_audit.py \
  --project "Project Name" --timeline "Timeline Name" --out /path/to/project/output/resolve_timeline_audit.json
python3 skills/davinci-resolve-social-editor/scripts/audio_quality_audit.py \
  /path/to/audio-or-project-folder --out /path/to/project/output/audio_quality_audit.json
python3 skills/davinci-resolve-social-editor/scripts/caption_burnin_pipeline.py \
  --srt /path/to/reviewed.srt --ass-out /path/to/netflix_captions.ass \
  --video /path/to/review.mp4 --out /path/to/review_burned_captions.mp4

参考

  • references/editing-qa.md:故事、跳切、画面安全、字幕和音频的质量门禁。
  • references/resolve-automation.md:Resolve 脚本、素材箱、多机位、FCPXML/EDL 和时间线交接。
  • references/rust-video-stack.md:用于高性能视频分析和粗剪的 Rust/FFmpeg/GStreamer/OpenCV/Whisper 架构。
  • references/acceptance-gate.json:用于分层 Resolve 交接、音频、字幕和创意 QA 的机器可读门禁。
  • references/reels-eval-benchmark.md:四通道 Instagram Reels 基准,以及从失败到工具的映射。

评论

支持 Markdown