xufu5438-netizen/dsh-boot-video ↗★ 0

dsh-boot-video

自定义视频开机片头播放插件 适合追求个性化启动视觉效果的用户,支持导入自定义视频与跳过播放。

包名
dsh-boot-video
兼容性
待验证
版本
1.0.1
许可证
MIT
最近更新
2026年10月10日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:xufu5438-netizen/dsh-boot-video

使用

设置 → 侧边栏「开机动画」(0.3.0 起是独立一页,不再挂在「通用设置」里):

控件档位效果
启动时播放我的视频(默认)启动时全屏播一短片头,播完淡出进界面
不播放启动直通界面(想恢复:设置页里点回「我的视频」,或在控制台删掉 localStorage['dsh-boot-video:source'])
片头素材HDD(默认)assets/hdd.mp4,10.47 MB
月读世界assets/yuedu.mp4,29.01 MB,4K/60fps 重压(CRF 24、PSNR 46.2 dB,肉眼无差)
导入自己的视频⬆ 导入视频挑一段你自己的 mp4(上限 512 MB),存进插件的 assets/user/,以后随时能选、能删
预览▶ 播放一遍不重启就看看效果;正在播时点它会从头重播

换素材会立刻用新素材重播一遍——不用为了确认换了没有去重启。

导入自己的视频(0.8.0 起默认开启)

点「⬆ 导入视频」挑一段 mp4,它会被原样存进插件的 assets/user/(不转码、不重封装—— 导进去什么样,播出来什么样),然后自动选上、播一遍,并弹出起名窗口。这是本插件的主功能之一; 不想让插件能写盘的话,跑 DSH 时设 DSHBV_IMPORT=0 就能把它关掉(客户端那侧对应 IMPORT_ENABLED)。

  • 素材带里点它 = 换成它;旁边的小「×」= 从插件里删掉这一份(你自己的原片不受影响)
  • 下面的「我导入的视频」列表负责「改名」与「删除」;改名只改显示名(磁盘文件名不动), 留空 = 回到原始文件名
  • 网页版与桌面版都能导,插件内部走的是两条路:
    • 网页版:文件本体流式传给 DSH(带进度条),宿主边收边写盘
    • 桌面版:Electron 能把"你刚选的那个文件"翻成绝对路径,于是宿主直接复制,几百 MB 也很快; 这条路不通(旧版 Electron / 跨盘 / 没权限)会自动回退到上传那条
  • 想手动清也可以:直接删掉 assets/user/ 里那几个 u-*.mp4(清单是按目录推导的,不会留残影); 自定义名字在同目录的 labels.json 里,删掉它就全回到原始文件名
  • 导入的内容只在你机器上:发布包里没有别人的视频,别人导入的也不会传到你这儿
⚠️ 只收 mp4;编码不支持的会自动转码

导入只认 .mp4(不是 mp4 会在选择器与本地校验那里就拦住)。至于"里面是什么编码"—— 不用你操心:

你手上的文件会发生什么
.mp4 + H.264(剪映/手机导出、B 站下载的常见形态)✅ 直接导入
.mp4 + HEVC(不少"4K 片源")🔄 导入时会问一句「要不要自动转换」,点一下插件自己把 ffmpeg 下下来(约 28MB,国内镜像)转成 H.264,转完自动收进素材列表
其它容器(.mkv / .webm / .mov)❌ 被拒;先剪成 mp4(剪映导出选 mp4 + H.264 最省事)
不是视频的文件❌ 被拒("没找到视频轨")

转码用的是 libx264 -crf 20、保持原分辨率与帧率、音频 AAC 192k、+faststart; 转完插件自己先验一遍能不能播才收下。命令行等价物(不想用界面时):

node scripts/import-hevc.mjs "D:\视频素材\你的母带.mkv"

⚠️ 导入的视频就在插件文件夹里,所以重装/升级插件时可能被覆盖——重装前先把 assets/user/ 里那几个文件挪出去,装完再放回来。

画面不做裁切:始终按完整比例居中显示。窗口比例与片子比例不一致时上下(或左右)会留黑边—— 这是"保留全部画面"的代价。片源自带的那圈黑边已经在压制素材时裁掉了,剩下的黑边只是比例差。

曾经做过「铺满 / 完整」两档,看过两档之后决定删掉「铺满」:16:9 窗口播一条 2.35:1 的片子, 铺满要裁掉左右各约 12%,那是画面少了一块,不是更饱满。

  • 桌面版(Electron)自动带声音播放;网页版浏览器会拦未静音自动播放,于是自动降级静音、 左下角亮出「打开声音」按钮(点它只开声,不跳过)。同一份代码,两边各得其所。

想让网页版也自动带声音?

做不到由插件说了算——网页里的 JS 绕不过浏览器的自动播放策略,只有 Electron 这种"自己就是浏览器" 的宿主能设 no-user-gesture-required。但可以手动给这个站点开声音白名单,开完插件一个字都不用改 (它本来就是"先试带声、被拒才降级"):

浏览器操作
Chrome / Edge(推荐,不用手输网址)在 DSH 页面上点地址栏左边的站点图标 → 「网站设置」→ 找到「声音」→ 改成允许 → 硬刷新
Chromechrome://settings/content/sound → 「允许播放声音」→ 添加 http://127.0.0.1:3080
Edgeedge://settings/content/sound → 「允许播放声音」→ 添加;或在 edge://settings/content/mediaAutoplay 里把「媒体自动播放」设为允许(这一条是全局放宽,所有网站都会自动放声,不如前两个精准)

生效后硬刷新页面,播放时左下角的「🔊 打开声音」按钮不再出现,就是已经在自动带声播了 (地址要写全,别漏端口)。

  • 点击画面 / 按 Esc 跳过,跳过后仍然走同一段淡出,不会硬切
  • 每次客户端加载都会播(刷新页面也算)
  • 播放期不会等待 DSH 的加载状态:播完就淡出,无论应用早就绪还是在加载