DSH Sidebar Video Player:右侧栏本地视频播放与 MP4/MOV 容器探针

前言

在 DeepSeek Harness(DSH)里对照对话处理素材时,常见做法是在系统播放器或浏览器新标签里开视频,分辨率、帧数、码率等信息要么看不到,要么要另开 ffprobe 等工具。普通 HTML <video> 能播,但很难同时拿到缓冲健康、丢帧计数和容器级元数据。

下面介绍社区插件 dsh-sidebar-video-player(维护者 XIANGDEEN,分类为客户端):把播放器嵌在 DSH 右侧 Sidebar,本地或 HTTP(S) 源可播,并对 MP4/MOV 做只读容器解析,配合实时播放遥测。插件不注册 Agent 工具、不写 Session 事件;本地文件经浏览器 Blob URL 读取,不上传。

这是什么

dsh-sidebar-video-player 是 DSH 的 Web 客户端插件(package.json 中 dsh.client.platform 为 web,注入 @deepseek-ai/dsh-client-ui-sidebar-right)。一句话定位:右侧栏视频播放器,带 live playback telemetry 与 MP4/MOV 深度容器检视。

社区目录页:dsh-sidebar-video-player。源码与说明:GitHub XIANGDEEN/dsh-sidebar-video-player。许可证 MIT;当前 package 版本 1.4.0(以仓库为准)。要求 Host 版本 >=0.2.1-rc.3 <0.3.0-0,主要面向 Web 客户端构建与测试。

核心功能

播放与列表

  1. 通过文件选择器或拖放播放本地视频,或加载 HTTP(S) 视频 URL。
  2. 文件夹播放列表:选定目录后,播放器右侧列出目录内所有视频;卡片含首帧缩略图与时长,点击切换;当前项高亮,一条播完自动播下一条。
  3. 排序:按名称、时长、修改时间或大小,升序或降序。
  4. 全屏:顶栏控件与 transport 按钮均可切换全屏,快捷键 F;全屏时隐藏统计与列表,保留 transport。
  5. 播放列表右键菜单:重命名、复制文件、复制相对路径、删除本地文件、刷新。文件类操作依赖浏览器 File System Access API,须通过目录选择器授予写权限;只读 fallback(<input webkitdirectory>)下这些项不可用。

Transport 支持播放/暂停、seek、音量、静音、倍速、画中画、全屏。播放器获焦时:Space/K、J/L、方向键、M、F。

实时播放遥测

在普通 <video> 不易暴露的维度上,插件持续展示例如:

  • 当前时间、时长、进度、缓冲区间与 buffer ahead;
  • 经 requestVideoFrameCallback 测得的解码 FPS;
  • getVideoPlaybackQuality() 的 presented frames、dropped frames、总视频帧数;
  • 倍速与状态(playing、paused、buffering、ended)。

MP4/MOV 深度检视(不解码媒体)

读取器不把整文件载入内存:用 Blob.slice 遍历顶层 ISO-BMFF box,一次性读取 moov(上限 64 MiB),从 mvhd、trak 链路上的 tkhd、mdhd、hdlr、stsd、stts、stsz 等提取容器与轨信息,包括 major/compatible brands、timescale、时长、moov 位置、是否分片、轨数;视频侧 codec fourcc、H.264/HEVC profile/level、编码/显示尺寸、宽高比、旋转、精确帧数、平均 FPS、轨平均码率、位深;音频侧 codec、AAC profile、采样率、声道、码率等。轨码率为轨上平均值,非瞬时网络码率。

WebM、Ogg 等浏览器可解码格式仍可播放,并报告浏览器侧测得的分辨率、FPS 与帧计数;容器级解析仅限 MP4/MOV(含 .mp4、.m4v、.mov)。可折叠 Raw probe data 面板展示解析 JSON。中英文界面随 Host 主题 token。

分片 MP4 若 sample table 为空,播放器会回退到 <video> 元素上的测量指标。远程 URL 不做容器探针(不假定跨域可读)。加密 sample entry(encv/enca)不解密、不检视。

README 中用 ffprobe 对照过两个本地文件(boot.mp4、background.mp4),分辨率、帧数、平均 FPS、视频码率、音频参数与 ffprobe 流元数据一致。

安装与启用

插件以 GitHub 源安装,无需 npm。安装前建议浏览仓库源码与 LICENSE;插件在 DSH 进程/Web 页内运行,权限边界见下文「适用场景与注意」。

Web profile:

dsh plugin --profile web add github:XIANGDEEN/dsh-sidebar-video-player

DSH 桌面应用使用的 desktop profile:

dsh plugin --profile desktop add github:XIANGDEEN/dsh-sidebar-video-player

若日后发布到 npm,同一 profile 也可按包名安装(README 示例):

dsh plugin --profile web add dsh-sidebar-video-player

安装后重启或重载 Web UI。启用后在 bundle 列表中应看到名为 dsh-sidebar-video-player 的已启用行。

典型用法

右侧栏与 Session 绑定:无打开的 Session 时,左侧栏底部的视频图标为禁用状态。

打开方式二选一:

  1. 右侧 Sidebar → Start(引导)→ Video player。
  2. 点击左侧 Sidebar 底部 Settings 旁的视频图标。

进入右侧栏 Video player 标签后,选择本地文件、拖放、填 URL,或选文件夹建播放列表;需要写操作时,用目录选择器选文件夹并授予写权限。查看 MP4/MOV 时,在统计区阅读容器/轨信息,必要时展开 Raw probe data。

适用场景与注意

适合谁:在 DSH 会话旁对照本地或远程视频、需要缓冲/丢帧等播放遥测,或要在不跑 ffprobe 的情况下快速核对 MP4/MOV 容器与轨参数的开发与审片场景。MP4/H.264/AAC 兼容性最稳;HEVC/AV1 取决于浏览器解码能力。

权限与隐私(README 原文要点):选定本地文件仅经 Blob URL 读取,不上传。远程 URL 由浏览器拉流播放,插件不代理远程媒体、不读远程容器元数据。无分析、无外链遥测、无凭证。Host 侧仅插件 bundle 行;播放器状态留在 Web 页。文件夹写权限仅在你显式选菜单动作且浏览器授权后才会改本地文件;删除与重命名确认后立即生效,无撤销。复制是在同目录内 duplicate,不是系统剪贴板文件复制;无「在资源管理器中显示」。

环境限制:文件 rename/copy/delete 需 Chromium 系或 Electron,且须可写目录选择器。已知限制还包括:无 Session 则无播放器;Copy 命名等行为在仓库有自动化测试,真实权限弹窗与文件系统写入需在 Chromium/Electron 下手动验证。

社区目录 skillhub.cn 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态按「一切皆插件」扩展,安装前以仓库 README 与源码为准。

结尾

dsh-sidebar-video-player 把播放、列表管理与 MP4/MOV 只读探针收进 DSH 右侧栏,与对话同屏,并补充 <video> 难以直接给出的遥测与容器字段。需要试用时,按上文 profile 执行安装命令,打开 Session 后从引导或底部图标进入播放器。

  • 目录页:https://www.skillhub.cn/plugins/XIANGDEEN/dsh-sidebar-video-player
  • GitHub:https://github.com/XIANGDEEN/dsh-sidebar-video-player
羽毛球分组比赛记分
小程序二维码

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

Xiaoye