OpenVibe.Media
Imported, written with AI assistance. Imported from the OpenVibe repository README and STATUS files at the cited commits, summarised with AI assistance; originally by OpenVibers. Not yet reviewed by a person.
OpenVibe.Media is a standalone multi-tenant media service extracted from the OpenVibe.Live predecessor. Its README gives its port as 4100 and states that it implements Media API v1.
What it owns
Media owns VOD ingest and recording, storage tiering (local, then Backblaze B2, then Cloudflare R2), clips, pastes, generic files and thumbnails for the OpenVibe apps live, games, tools and network. Each app is a tenant, named by the :app path segment, and calls the API with its own app API key; some browser endpoints also accept a Network user JWT, verified offline against the Network public key.
Features the README describes include:
- VOD recording from an RTMP pull, RTP ingest or browser MediaRecorder chunks, with codec passthrough;
- background clip cutting with the states
processing,readyandfailed; - public serving of VODs, clips, pastes, thumbnails and files, with VOD and clip playback able to redirect (302) to presigned B2/R2 URLs;
- signed outbound webhooks such as
vod.readyandclip.ready; - a canonical object model with
med_…ids, an/api/v2objects API and retention holds; - a drain policy that offloads least-recently-watched VODs when the local disk is under pressure.
What it does not own
The README lists as not ported the song-request media queue, which Live keeps local, server-side live thumbnail grabbers and VOD part rotation. Comments on VODs and clips, notifications and moderation ranks are "owned by the apps". AI summary and tag generation for pastes was dropped because Live owns AI.
Relationship to other services
OpenVibe.Live creates a VOD in Media when a stream starts and receives Media's webhooks. Visitors to Media's public pages sign in through OpenVibe.Network as OAuth client media. The OpenVibe.Community README describes pastes moving to Community, with Media's paste storage used under its default setting.
Status
The README does not state a release stage. It requires Node 20 or later, ffmpeg and ffprobe, and uses SQLite through better-sqlite3.
Sources
- OpenVibe.Media README (commit 3007461), retrieved
Owns VOD ingest/recording, storage tiering
- OpenVibe.Live README (commit c384787), retrieved
On stream start, Live creates a VOD in Media and starts ingest
- OpenVibe.Community README (commit b492398), retrieved
Pastes are moving to Community (roadmap Wave 5).