
IVS - OSC bridge
An Open Sound Control bridge for integrating Companion, QLab, and more with
the IVS PutMetadata API
Lighting bridge
An bridge from a mobile web page to an instance of Companion for Streamdeck
running on your local network. Now remote people can press the same buttons
you have on your streamdeck!
Generate OBS scenes from chapter markers for easier setup of run lists.
Example of listing chapters from video file
vbs chapterlist file.mp4
Example of splitting video file by chapters
vbs chaptersplit file.mp4
plt - purple playlists
Parse purple playlist exports (a ZIP container with a SQLite database produced
by the source app) and prepare their media for live meetings run from Mitti.
Print a playlist
Parse a playlist and print its cues as an aligned table. Works entirely
offline; no media is downloaded.
vbs plt print meeting.playlist
Use --json to emit the same data as JSON:
vbs plt print --json meeting.playlist
The format is detected by content, not file extension, so a renamed export is
still recognized. Invalid files are rejected with a message naming what was
wrong (not a zip, missing manifest, non-SQLite database, or missing tables).
Build a working directory
Download every referenced video at the chosen resolution, pre-cut segment clips,
and write a self-contained per-playlist working directory:
vbs plt build meeting.playlist
This produces <playlist-slug>/ containing ordered play-ready clips/, the
untouched source downloads in media/, extracted thumbs/, a playlist.json
cue sheet, and a Typst cuesheet.typ (compiled to cuesheet.pdf when typst
is installed). Downloads are cached and verified by checksum, so re-running is
fast and deterministic. ffmpeg and ffprobe are required.
The media API endpoint is read from the config key plt.mediaapi (never
committed); override it per run with --media-api. Other flags: --out (where
to create the working directory), --resolution (default 720p), and --lang
(override the written-language code).
installation for homebrew (MacOS/Linux)
brew install kindlyops/tap/vbs
once installed, you can upgrade to a newer version using this command:
brew upgrade kindlyops/tap/vbs
installation for scoop (Windows Powershell)
To enable the bucket for your scoop installation
scoop bucket add kindlyops https://github.com/kindlyops/kindlyops-scoop
To install deleterious
scoop install vbs
once installed, you can upgrade to a newer version using this command:
scoop status
scoop update vbs
installation from source
go get github.com/kindlyops/vbs
vbs help
Developer instructions
Want to help add features or fix bugs? Awesome! vbs is build using bazel.
`brew install bazelisk`
grab the source code from github
`bazel run vbs` to compile and run the locally compiled version
Testing release process
To run goreleaser locally to test changes to the release process configuration:
goreleaser release --snapshot --skip-publish --rm-dist
Running container image locally
To run the container image locally to test changes to the container:
bazel run vbs_image -- --publish=8090:8090 -- serve
To inspect the contents of the container using the dive utility
bazel run vbs_image -- --norun
dive bazel:vbs_image
pushing an experimental version of the image to github container registry
To push a locally built image to github container registry:
bazel run --define=IMAGE_TAG=experimental --stamp //:push_image