Skip to main content

What is Vidra?

Vidra is a federated video platform you install yourself, the way you would install WordPress. One low-cost server serves your viewers because distribution is designed to be offloaded — HLS from your own box, a CDN in front of it, or IPFS gateways carrying public media. It federates over ActivityPub and ATProto, stores media on anything S3-compatible if you want it to, and it is free software under AGPL v3.

It is a clean-room, PeerTube-inspired implementation — not a fork of PeerTube, and not API-compatible with it. It has its own HTTP contract, its own schema and its own client. What it does carry across is your data: a one-way importer moves a whole PeerTube instance into Vidra, which is what Migrate from PeerTube covers.

Three things it is built around​

Low egress at scale. Media is served from your own origin, but nothing forces it to stay there. Put a CDN in front of it, or turn on the IPFS mirror and let public gateways carry public media. Local or S3-compatible storage stays authoritative either way.

Federated by default, over two protocols. ActivityPub federates channels to the fediverse. ATProto carries identity — sign in with Bluesky or any PDS — and optionally cross-posts your public videos there. They are separate systems doing separate jobs; see Federation.

Yours to run. AGPL v3, one compose file, no vendor between you and your viewers. The whole install on a fresh Ubuntu or Debian server is one command, and every operator task after that is one vidra subcommand.

What is in the box​

AreaWhat ships
PublishDirect, chunked/resumable and async URL uploads; per-user quotas; optional ClamAV scanning; H.264/AAC HLS ladder with I-frame trick-play and an optional VP9/WebM alternate; thumbnails, storyboards, chapters
LiveRTMP ingest with privacy-gated HLS and replay-to-VOD
WatchA bespoke player with keyboard shortcuts, picture-in-picture and theatre mode; WebVTT captions with optional Whisper generation; playlists, subscriptions, history, trending; embeds, RSS, oEmbed, sitemap; installable as a PWA
FindA separate search service — hybrid full-text plus trigram, typo-tolerant autosuggest, trending, recommendations — that core degrades around if it is down
ConnectSign in with Bluesky or any ATProto PDS; OAuth/OIDC; TOTP two-factor; 1:1 direct messages with opt-in client-side-Olm end-to-end encryption
ModerateReports that notify staff, per-user sensitive-content policy, registration approval, an admin console over a runtime-mutable settings registry
Operate/healthz, /readyz, /schemaz, /admin/system; Prometheus metrics; OpenTelemetry traces; scripted deploy, rollback, backup and restore; the vidra operator CLI

Accessibility is not optional here: WCAG 2.2 AA is enforced by axe as a hard CI gate in the frontend repo.

What Vidra is not​

  • Not a hosted service. There is no vidra.com to sign up for. You run it.
  • Not a PeerTube fork, and not API-compatible with PeerTube. PeerTube clients, embeds and plugins do not work against a Vidra instance.
  • Not a creator monetisation platform. There is no payments system, no cryptocurrency integration and no revenue share.
  • Not in-player peer-to-peer, yet. Viewer-to-viewer distribution inside the player is deferred by decision. IPFS is the shipped distribution-offload mechanism; see Storage and media.

Next​