OpenVibe.Media
7 sources cited4 revisionsthis text accepted Not yet reviewed by a person
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 the standalone multi-tenant media service extracted from the OpenVibe.Live predecessor, at openvibe.media on port 4100. Its README states that it "Owns VOD ingest/recording, storage tiering (local → Backblaze B2 → Cloudflare R2), clips, generic files, the canonical object model and thumbnails, for all OpenVibe apps."
What it does
Media records VODs from RTMP pull or RTP ingest, ingests browser chunks, finalizes with remux, probe and thumbnail, and cuts clips. It tiers storage across local, Backblaze B2 and Cloudflare R2 with copy verification and a disk guardian, and serves public paths (/v, /c, /t, /f, /o). It implements a canonical object model under /api/v2 (objects, locations, variants, holds, derivatives, lifecycle, namespaces) and a media jobs queue. It serves first-party tenants (live, community, tools, games, wiki, blog, inventory, media-hub) and developer-project tenants.
It also answers a subset of Amazon's S3 API (ADR-031), so S3 tools such as the AWS CLI and rclone work against it. Each bucket is a zone of a project environment, and zones are made and deleted through OpenVibe.Zone. Media issues and checks the ovk_ access keys, and every object stays an ordinary Media object. The surface answers at https://s3.openvibe.media. That name skips Cloudflare's proxy, so one object may be larger than the 100 MB a proxied request carries; https://s3.openvibe.network is the same surface behind Cloudflare. A signed-in person sees their own objects, uploads and usage in the object explorer at /me, and thumbnails come in WebP, AVIF or JPEG at the width a page asks for.
What it does not do yet
Pastes belong to OpenVibe.Community "since 2026-09-22"; Media's read-only paste API is gone and /p/:slug redirects there. Channels and streams belong to OpenVibe.Live, identity to OpenVibe.Network, and AI analysis of recordings to OpenVibe.AI. The song-request media queue, server-side live thumbnail grabbers and JSMPEG stdin recording are listed as "Not ported."
How it fits the network
Media verifies OpenVibe.Network tokens offline through JWKS, uses OpenVibe.Live's lineage resolve, and announces outcomes as OpenVibe.Events events through the SDK outbox, which the README calls the only outcome announcement now that webhooks ended.
Status
Its STATUS.json marks the stage "beta" and records it deployed with sudo ovhost deploy media.
Sources
- OpenVibe.Media README (commit 6a3a1c7), retrieved
Owns VOD ingest/recording, storage tiering
- OpenVibe.Media STATUS.json (commit 6a3a1c7), retrieved
Public at https://openvibe.media
- OpenVibe.Media README (commit 6a3a1c7), retrieved
Each bucket is a zone of a project environment, and zones are managed by OpenVibe.Zone.
- OpenVibe.Media README (commit 6a3a1c7), retrieved
A signed-in person sees the objects whose `owner_subject` is their Network
- OpenVibe.Media README (commit 6a3a1c7), retrieved
the width snaps up to 64, 96, 160, 320, 480 or 640
- OpenVibe.Media README (commit 6a3a1c7), retrieved
Media answers a subset of S3 at `https://s3.openvibe.media`
- OpenVibe.Media README (commit 6a3a1c7), retrieved
DNS-only since 2026-10-21, so an object may be larger than Cloudflare's 100 MB
Inspect these sources (retrieval times, where each was first cited, what changed between revisions)