Communitygithub.com

JohanDuran/video-studio

使用 Claude 在 DaVinci Resolve 中编辑长屏幕或摄像头录制:转录麦克风音频、将转录映射到时间线、建议剪切(填充词、长时间停顿、重拍)、应用已批准的剪切、添加与发言同步的 HyperFrames 叠加层、混合音效并渲染。适用于用户运行 /edit-recording 或要求编辑、剪辑或向录制内容或 Resolve 时间线添加图形时。

video-studio 是什么?

此技能使 AI 代理能够直接编辑 DaVinci Resolve 项目中的长格式屏幕或摄像头录制内容。其主要功能包括转录麦克风音频、识别并建议剪切(填充词、长时间停顿、重拍)、非破坏性地应用所选剪切,以及添加自动与特定单词同步的 HyperFrames 视觉叠加层(如标题或标注)。该技能通过 Resolve MCP 接口工作,提供对现有项目或录制文件的结构化编辑工作流程。对于视频编辑人员、内容创作者以及任何希望自动化繁琐的后期制作任务(如粗剪、图形放置和背景音乐混合)的人员来说,它特别有用。该技能支持 DaVinci Resolve(包括免费版,但需要用户运行特定桥接脚本),并扩展了编辑流程,包括音效搜索/生成以及为 YouTube 交付(1080p/4K)的最终渲染。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JohanDuran/video-studio/tree/HEAD/plugins/video-studio/skills/edit-recording

在你喜欢的 AI 中提问

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

文档

/edit-recording — 长格式编辑

目标:$ARGUMENTS(一个 Resolve 项目名称、一个录制文件,或为空 = Resolve 中打开的项目)。

在执行任何操作之前:阅读配置文件(video-toolkit §0)并遵循 editing-rules — 录制文件夹为只读,除非要求否则不处理音频/画面,在应用前提出建议。检查 toolbox_status,并确保 Resolve MCP 回答 project_manager get_current(免费版:用户必须在项目打开的情况下运行 Workspace → Scripts → Utility → resolve_bridge)。

项目文件夹:<频道文件夹>/<ResolveProject>/(video-toolkit §0)。

先制定计划。 如果项目文件夹中的 plan.md 包含 Status: approved,则遵循它:其目标、保留哪些部分、添加哪些叠加层、图形、B-roll 和音效,以及使用哪种工具。如果没有批准的计划,步骤 1–3(读取时间线、转录、建议剪切)是可以的,因为它们不会改变任何内容,并且为计划提供信息。但在添加叠加层、新素材、Blender 镜头、新的屏幕录制或音效之前,请运行 plan 技能:录制内容是“已存在的内容”,计划决定每个部分需要什么。除非计划要求,否则切勿录制新的屏幕素材。

步骤

  1. 获取时间线 — 从 Resolve 获取当前项目和时间线。如果还没有项目,则从录制内容创建一个:在导入之前设置时间线 fps(recordings.fps / resolve.timeline_fps)和分辨率,然后要求用户将播放帧率设置为匹配(API 无法做到)。导入屏幕文件,如果存在 recordings.separate_camera_file,则导入摄像头文件(recordings.camera_file_pattern)。
  2. 捕获布局 — 将时间线项目(音频 1 = 语音轨道)读取到 timeline/<timeline>.audio1.json。一个会话可能包含多个文件,音频 1 会连续播放;记录它使用的每个源文件。如果时间线上有额外的录音机音频轨道(桌面音频、重复的麦克风),请指出并保留它们。
  3. 转录 — transcribe 音频 1 使用的每个源文件(麦克风 = recordings.mic_audio_stream,来自配置文件的 vocab),保存到 transcripts/,然后 timeline_transcript → <timeline>.timeline.json/.srt/.txt(时间线时间)。在移动或修剪音频 1 的任何编辑后重新运行此步骤。
  4. 建议剪切 — 填充词、长时间停顿、错误开头和重拍,包括时间线时间码和每个剪切周围的单词,以表格形式呈现。等待用户批准(全部、部分或调整后的)。
  5. 应用剪切 — 在 Resolve 中非破坏性地应用(在重复的时间线上,例如 <timeline>_cut),然后重新读取项目并检查间隙/重叠。在新时间线上重新运行步骤 3 的 timeline_transcript。
  6. 叠加层 — 建议锚定在发言单词上的卡片(标题、标注、下三分之一、订阅)。首先从摄像头片段测量面部安全区域。在 animations/ 中构建一个 HyperFrames 项目(使用 hyperframes 技能;仅本地渲染),通过 render_hyperframes 以时间线 fps 渲染带有 alpha 通道的 mov,导入,并将每个放置在单词记录帧的空白视频轨道上。重叠的卡片放在单独的轨道上。重新读取并比较。
  7. 音效 — 叠加层的音效:首先 sfx_search,然后 sfx_generate;用户试听;sfx_mark 记录结果。使用 ffmpeg 将每个叠加层的声音提示预混成一个 WAV(API 忽略剪辑音量),并将其放置在空白音频轨道上,切勿放在音频 1 上。
  8. 渲染 — render prepare_delivery_job(YouTube 1080p/4K,时间线 fps)输出到 <project>/renders/,start,verify_output。检查结果的响度。

完成 = 在 <project>/renders/ 中有一个已批准的渲染文件,并保留转录和叠加层项目以备后续更改。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相关技能