DSH-Take-Sheet: Reference Video Shot Segmentation and Contact Sheet Export

前言

在 DeepSeek Harness(DSH)里做视频相关任务时,常见做法是整段喂给模型,或按固定间隔抽帧。做广告、产品动画或分镜参考时,下游往往要的是「第 2 秒这一帧、第 6 秒这一帧,按顺序写进 brief」,而不是一堆未筛选的截图。自己对着播放器记时间码、截图、拼表,步骤分散且容易错。

dsh-take-sheet 是社区插件 dingchenhui0618-arch/dsh-take-sheet,在 DSH 对话视图里增加「参考帧」页签:本地解码、按镜头切分、人工勾选后导出带时间码的清单和一张联系表。视频与导出物只在本机处理,依赖 ffmpeg,不上传网络。

这是什么

维护者 dingchenhui0618-arch,在 SkillHub 目录中归类为工作流。插件版本 0.1.0(见仓库 package.json),要求 DSH >=0.2.1-rc.2 且 <0.3.0,许可证 MIT。

一句话:把一段参考视频按镜头切开,每镜抽一帧缩略图,人在环勾选后,导出 frames.csv、shots.json、逐帧 JPEG 和带时间码标签的联系表,供人做参考板与交付,重心不在给模型补上下文。

核心功能

下面介绍 README 中已说明、且与实现一致的能力。

按镜头切,而不是固定间隔

使用 ffmpeg 的 scdet 做镜头检测(作者在说明里对比过:深色、低对比产品渲染片上 scene 分数难定阈值,scdet 在同素材上更易区分硬切与普通帧)。切点灵敏度可选「敏感 / 标准 / 稳健」;单次扫描可设最多镜头数(默认 60,上限 200)。切点过多时会按时间均匀保留,并在面板上说明丢弃数量。

人工勾选与时间码

每个镜头一张 16:9 缩略图,卡片或复选框切换保留与否;支持全选 / 全不选,未选中卡片变暗。缩略图上的时间码(如 00:00:02.000)与导出文件名、CSV 中字段一致,表示该帧自身的时间点,而非近似的镜头起点。

联系表与导出物

联系表按接近 3:2 的网格排版,黑底,格左上角标 #01 00:00:00.200 等形式。字体优先 Consolas / Segoe UI / Arial / DejaVu / Liberation;都找不到时退化为无标签版本,不导致导出失败。

每次导出写入 $DSH_HOME/take-sheet/jobs/<job-id>/export/,结构如下:

export/
  frames.csv
  shots.json
  contact-sheet.jpg
  frames/
    01_00-00-00.200.jpg
    02_00-00-02.000.jpg
    ...

frames.csv 为 UTF-8 BOM、CRLF,便于 Excel 打开;文件名里时间码用 - 代替 : 以兼容 Windows,CSV 与画面标签仍为 HH:MM:SS.mmm。shots.json 另含源视频 probe 信息、扫描参数、镜头起止与联系表尺寸,便于脚本消费。

本机与边界

只处理本地文件的绝对路径,不支持 URL 与流媒体。无音频分析、无转写;镜头切分只看画面。不发起网络请求;配置不读 ~/.dsh 以外路径(README 表述)。同一 job 再次导出会先清空 export/ 再写入。

安装与启用

需要 ffmpeg 5.1+(含 ffprobe)。插件不代为安装,但会在下列位置自动查找:环境变量 DSH_FFMPEG_PATH / FFMPEG_PATH;Windows 的 WinGet Links(如 winget install Gyan.FFmpeg 后)、C:\ffmpeg\bin、Chocolatey、PATH;macOS Homebrew;Linux /usr/bin。运行中才装好 ffmpeg 时,面板会提示缺失,装好后点「重新检测」即可,无需重启 DSH。

安装到某个 DSH profile 时,使用资料中的示例命令(路径改为你本机插件目录):

dsh plugin --profile desktop add D:\Projects\dsh-take-sheet

仓库已提交 lib/,检出后无需构建。装好后刷新 Web GUI,在任意会话页签中打开「参考帧」。

插件以当前 DSH 进程权限运行;安装前应自行查看 GitHub 源码 与 MIT 许可证,确认符合你的环境与合规要求。

典型用法

  1. 在「参考帧」页签粘贴视频的绝对路径(例如 D:\refs\clip.mp4)。
  2. 选择灵敏度与最多镜头数,点击「扫描」。
  3. 扫描完成后逐镜查看缩略图,点击卡片或复选框保留 / 去掉不需要的镜。
  4. 点击「导出参考帧清单」;面板下方出现联系表预览,以及 CSV、JSON、联系图等下载链接,并显示本机输出目录。

「敏感」更容易把轻微转场算作新镜头;「稳健」偏硬切。默认「标准」。

适用场景与注意

适合:需要把参考片整理成可交付的时间码帧清单、联系表,交给美术、动画或外包 brief 的流程;与「整段给模型」或「固定间隔抽帧给 agent」的插件定位不同——本插件强调镜头切分 + 人在环 + 可交付文件。

限制(来自 README):极长视频受单次镜头上限约束,可能需要分段扫描;联系表字体缺失时仅影响标签,不阻断导出。

DSH 生态理念是「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-take-sheet 把「找切点、记时间码、抽帧、拼表」收成一条本地 ffmpeg 流程,输出 CSV、JSON 与带标签联系表,适合把参考视频变成人类可读的 shot list。进一步了解可访问目录页与仓库:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye