npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@leejkee/obs-live-overlay

v0.7.0

Published

由本地控制台管理、用于 OBS Browser Source 的 Overlay 工具

Readme

OBS Live Overlay

一个用于 OBS Browser Source 的实时等候队列。通过本地控制台管理队列、提示消息和文字样式,画面会实时同步到 OBS。

界面预览

控制台

OBS Live Overlay 控制台

OBS Overlay

OBS 等候队列 Overlay

音乐 Overlay

OBS 音乐 Overlay

安装

需要 Node.js 20 或更高版本。

npm install --global @leejkee/obs-live-overlay

使用

在终端启动:

obs-live-overlay

启动后打开:

将 Overlay 地址添加为 OBS 的 Browser Source。页面背景透明,可以直接叠加到直播画面。控制台支持点击选择用户并通过上下箭头调整顺序;指定当前用户时会将其移到队首。显示文案和字体样式也可实时修改;按 Ctrl+C 停止服务。

常用选项

obs-live-overlay --port 3000
obs-live-overlay --host 127.0.0.1
obs-live-overlay --data-file D:\overlay-data\profiles.json
obs-live-overlay --music-settings-file D:\overlay-data\music.json
obs-live-overlay --help
obs-live-overlay --version

Windows 默认数据文件位于 %LOCALAPPDATA%\obs-live-overlay\profiles.json。

Windows 静默启动

Windows 11 可以将服务注册为登录后自动运行的计划任务。启用时会请求一次管理员授权:

obs-live-overlay startup-enable

查看状态:

obs-live-overlay startup-status

停止服务并取消自动启动:

obs-live-overlay startup-disable

静默启动固定使用 127.0.0.1:3000 和默认数据文件。全局卸载或更换 Node.js 安装位置前,请先运行 startup-disable;更换后可重新启用。

Windows SMTC 原生接口

项目提供可通过 require('@leejkee/obs-live-overlay/native') 加载的媒体会话接口,支持 Windows 10 1809+ / Windows 11 x64。包含会话读取、事件订阅、播放状态和封面读取;音乐页面通过主服务中的音乐观察服务读取媒体会话。

TypeScript 用法、接口契约和原生构建步骤见 SMTC 开发文档。源码开发先运行 npm run build:native 和 npm run build;发布包使用随包预编译二进制。

卸载

obs-live-overlay startup-disable
npm uninstall --global @leejkee/obs-live-overlay

卸载不会删除队列数据。如需完全清理,请手动删除默认数据文件。

开发文档

项目架构与实现说明见 设计文档,版本发布流程见 Release 规则。

音乐 Overlay(只读)

源码开发首次使用前运行 npm run build:native 和 npm run build,然后统一启动队列与音乐服务:

npm start

在 OBS 添加第二个浏览器源,URL 为 http://127.0.0.1:3000/overlay/music,建议尺寸 660 × 210。背景透明,显示歌曲名称、歌手名称 - 歌曲名称、封面及播放状态,约每秒更新一次。QQ 音乐需要已经运行并向 Windows 提供媒体会话。

优先观察 QQ 音乐(包括暂停状态);未发现 QQ 音乐时使用 Windows 当前会话,再回退到其他播放会话。识别依据是系统提供的来源 ID 中包含 QQMusic 或 QQ音乐。

音乐与队列由同一个 CLI 进程和同一个 HTTP 服务统一启动,默认使用 3000 端口,通过 /overlay/queue 与 /overlay/music 区分页面。可用 npm start -- --port 3100 或环境变量 PORT 修改统一端口。Windows 静默启动也会同时启动两项功能;按 Ctrl+C 或执行 startup-disable 会关闭服务和音乐观察者,不影响播放器。

页面没有播放器控制按钮;切歌、暂停和进度操作均在 QQ 音乐本体完成。无会话、暂停及服务断开时会显示对应状态;音乐信息不写入队列 Profile。

音乐控制台

统一启动后访问 http://127.0.0.1:3000/control,通过左侧导航在“等候队列”和“正在播放”之间切换;也可用 http://127.0.0.1:3000/control?view=music 直接打开音乐设置:

  • 启用音乐服务:关闭时停止 SMTC 监控、释放订阅并隐藏 OBS 音乐画面;控制台保留,可随时重新开启。不会暂停或关闭 QQ 音乐。
  • 显示模块:歌曲封面、播放状态、歌曲名称、歌手名称 - 歌曲名称分别设置开关,全部关闭时隐藏整个卡片。
  • 编辑字体:为两行文字分别设置字体、字号、加粗、对齐、颜色和描边,复用队列字体编辑器,修改自动保存,约一秒内同步到预览和 OBS。

首次启动默认启用,后续启动恢复保存的开关与样式。Windows 默认配置文件为 %LOCALAPPDATA%\obs-live-overlay\music.json,可用 MUSIC_SETTINGS_FILE 或 npm start -- --music-settings-file <音乐配置路径> 指定,与队列 Profile 独立。开启失败时控制台显示错误,可关闭后重新开启;关闭后的画面完全透明。

致谢

感谢 qq-music-lyrics-displayer 为本项目提供实现思路参考。