dsh-video-storyboard:把视频压成一张可引用的分镜图

前言

在 DeepSeek Harness(DSH)里做视频相关任务时,常见做法是让模型读文字摘要,或逐帧上传多张图。前者丢失画面细节,后者 token 开销大:README 里给出的对照是,5 分钟片段若按「一帧一图」覆盖,大约要 3,072–6,144 tokens;而本插件把同一段内容收成 一张 带编号格子的分镜图,约 384 tokens,并附带时间戳、对应台词和底部音频包络,便于纯文本智能体「看格子、引用 cell、再请求局部放大」。

下面介绍社区插件 dsh-video-storyboard(维护者 SAOS-3624,GitHub 约 54 stars)。它与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」,SkillHub 目录为独立站点。

这是什么

dsh-video-storyboard 面向 scene-aware storyboard:输入本地路径或 http(s) 链接,输出一张(或多张)网格图,每格有编号、时间范围、该段内的 transcript 行,以及与时间轴对齐的响度条与切点标记。当前 npm 包版本为 0.3.2,许可证 MIT。

依赖侧:需要 Node ≥ 20,以及 ffmpeg / ffprobe 在 PATH 上(或位于 $DSH_HOME/tools/ffmpeg/bin,亦可用 DSH_FFMPEG_PATH 指定)。不 bundled 模型权重或图像库。可选 peer:@deepseek-ai/dsh-tools。

核心功能

插件在 DSH 工具层主要提供三类能力(详见仓库 docs/USAGE.md):

需求 工具
把握片段结构:9–16 格、一图 384 tokens video_storyboard
某段时间内的字幕、标牌、人脸等细节 video_zoom
时长、音轨、字幕轨及两种阅读顺序建议 video_probe(不产出图像,0 tokens)

算法上,插件会先做音频与 transcript,再决定每格时长;在 HSV 低分辨率上做场景切变检测,按运动密度选格子数,并在每段内用 Laplacian 方差选最清晰帧。底部音频条与格子共用同一时间轴,避免再占一张 384 tokens 的图。

URL 模式(Bilibili 或 yt-dlp 支持的站点)需自行安装 yt-dlp,并按文档导出 cookies.txt(Chromium 127+ 无法直接从浏览器 jar 解密 SESSDATA)。扫描阶段拉 360p 低清副本;video_zoom 按帧读原流 1080p,不落盘。若已有字幕文件,可用 transcriptFile 跳过 ASR。

长片阅读:video_probe 会区分 STRUCTURE(整片多 sheet,适合索引)与 SEQUENCE(from/to 窗口,适合跟剧情、避免剧透);同一窗口扫描结果会缓存,二次调用更快。

安装与启用

普通 profile(非 Desktop 独占配置)可按官方文档安装:

dsh plugin --profile web add dsh-video-storyboard

DSH Desktop 的 profile 由 Electron 应用管理,dsh plugin 对其会拒绝操作;Desktop 用户需按仓库 docs/USAGE.md 第 2.1 节使用项目自带的 scripts/install-dev.mjs 注册 bundle,并 重启 DSH(插件树在进程启动时组装)。安装后可用 node scripts/install-dev.mjs --check 查看状态。

仅 CLI、不跑 DSH 时,可直接使用包内脚本:

node bin/storyboard.mjs your-video.mp4 --cells 9 --text

典型用法

本地短视频:概览 + 局部放大

video_storyboard({ input: "/path/to/clip.mp4", cells: 9 })
video_zoom({ input: "/path/to/clip.mp4", from: 12, to: 18 })

网络链接(需 yt-dlp 与 cookies 配置,见 docs/SETUP.md)

video_storyboard({ input: "https://www.bilibili.com/video/BV1fq4y1u7nC" })

长片按窗口顺序读,不提前看到后面场景

video_probe({ input: "/path/to/film.mp4" })
video_storyboard({ input: "/path/to/film.mp4", from: 0, to: 300 })
video_storyboard({ input: "/path/to/film.mp4", from: 300, to: 600 })

CLI 快速验证(约 3 分钟流程中的第二步)

node bin/storyboard.mjs your-video.mp4 --cells 9 --out sheet.png --text

可选配置:~/.dsh/video.json 可设置 cookies、scanHeight、zoomHeight;优先级为工具参数 > 环境变量 > 该文件。ASR 端点可通过 ~/.dsh/asr.json 或环境变量配置,无配置时优先用内嵌字幕。

适用场景与注意

适合:需要让 DSH 智能体 直接对照画面 做引用、问答、选段精读,又希望控制 multimodal token 的场景;教程片、PV、会议录像、长片分窗口分析等。

注意:

  1. 插件在 当前 DSH 进程权限 下运行,会调用 ffmpeg、yt-dlp 子进程并读写本地缓存目录;安装前请阅读源码与 MIT 许可证,勿提交 cookies.txt 等待凭据文件。
  2. URL 下载与 cookies 行为以 docs/SETUP.md 为准;无 cookie 时部分源仍可匿名 360p,无法达到目标清晰度时会标记 degraded。
  3. 中文 transcript 的文本 token 往往高于单张分镜图;可通过 detail、cellRange、textOnly 控制成本(见 USAGE 第 10 节实测表)。
  4. 社区项目声明:Not affiliated with DeepSeek;更完整的上游跟踪适配可参考仓库 docs/cortico-world-notes.md(与 Coopanion 等集成时)。

结尾

经过上面的步骤,你可以用一张 384 tokens 的分镜图替代「多图或纯摘要」的折中方案,并在同一对话里用 video_zoom 补细节。更多参数、缓存目录与故障排查见 GitHub README / README.zh.md 与 docs/USAGE.md。

  • 目录页:https://www.skillhub.cn/plugins/SAOS-3624/dsh-video-storyboard
  • 源码与文档:https://github.com/SAOS-3624/dsh-video-storyboard
羽毛球分组比赛记分
小程序二维码

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

小夜