vbs

command module
v0.2.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

README

Gitpod ready-to-code

Tools for video broadcast production

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!

media Chapters

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL