{"id":"pg_01M4PM01XGHN37XWGGSFYA4BKZ","space":"openvibe","slug":"openvibe-mediahub","url":"https://openvibe.wiki/w/openvibe/openvibe-mediahub","state":"published","visibility":"public","revision":3,"title":"OpenVibe.MediaHub","summary":"The network's file and media service: openvibe.download (a private drive with backup), openvibe.video (uploads, recordings, AI captions, chapters and cuts) and openvibe.pics (picture hosting).","body_markdown":"**OpenVibe.MediaHub** is the network's file and media service. One process serves three sites, chosen by Host header, with every byte in [[OpenVibe.Media]].\n\n## What it does\n\n- **openvibe.download**, a private drive: a signed-in person uploads, organises, shares and deletes their own files (up to 25 GB each). Share links expire in one hour to seven days, are revocable and count downloads. **Sync keys** and the `openvibe-download` command keep a folder backed up, sending only what changed.\n- **openvibe.video**: people upload videos or record them in the browser; [[OpenVibe.AI]] adds captions, chapters and a summary on OpenVibe's own servers, and the **AI cut** makes an edited copy with the pauses taken out, or a highlights reel. It also serves the watch pages and playlists for [[OpenVibe.Live]]'s stream recordings and clips, and public uploads are in [[OpenVibe.Search]].\n- **openvibe.pics**: picture hosting with links to share and embed, albums, reports and takedown. Every picture is re-encoded with its location and camera details removed, comes in other sizes and formats (WebP, AVIF, JPEG, PNG), and carries alt text the uploader writes or asks AI to draft.\n\n## What it does not do yet\n\nSigned-out uploads on Pics and Download are built and switched off until the DMCA designated agent and the child-safety hash matching are in place.\n\n## How it fits the network\n\nMediaHub depends on [[OpenVibe.Network]] for SSO and subject resolution, [[OpenVibe.Media]] for the bytes, [[OpenVibe.AI]] for the video edit and alt text, [[OpenVibe.Events]] for account export and deletion, and PostgreSQL and Valkey.\n\n## Runtime and status\n\nPort 4990, service id `media-hub`, status alpha; openvibe.download is public since 2026-10-08. License: AGPL-3.0.","published_at":"2026-10-11T23:15:33.438Z","revision_published_at":"2026-10-16T02:53:44.603Z","revision_created_at":"2026-10-16T02:53:44.589Z","authorship":{"mode":"imported","workflow":null,"reviewed":false},"infobox":[{"key":"repository","label":"Repository","type":"url","value":"https://github.com/OpenVibers/OpenVibe.MediaHub"},{"key":"domain","label":"Domain","type":"text","value":"openvibe.download"},{"key":"port","label":"Port","type":"number","value":4990},{"key":"runtime","label":"Runtime","type":"text","value":"Node 22, Express 4, PostgreSQL 18 and Valkey 9"},{"key":"status","label":"Status","type":"text","value":"alpha"},{"key":"license","label":"License","type":"text","value":"AGPL-3.0"}],"citations":[{"url":"https://github.com/OpenVibers/OpenVibe.MediaHub/blob/6a170f5152f212b5233310d74f9fe595c6710489/README.md","title":"OpenVibe.MediaHub README.md (commit 6a170f5)","source_item_id":null,"retrieved_at":"2026-10-16T03:00:00.000Z","quote":"makes an edited copy and never touches the original.","license_note":null},{"url":"https://github.com/OpenVibers/OpenVibe.MediaHub/blob/6a170f5152f212b5233310d74f9fe595c6710489/STATUS.json","title":"OpenVibe.MediaHub STATUS.json (commit 6a170f5)","source_item_id":null,"retrieved_at":"2026-10-16T03:00:00.000Z","quote":"public at https://openvibe.download since 2026-10-08","license_note":null}],"attachments":[],"links":[{"space":"openvibe","slug":"openvibe-ai"},{"space":"openvibe","slug":"openvibe-events"},{"space":"openvibe","slug":"openvibe-live"},{"space":"openvibe","slug":"openvibe-media"},{"space":"openvibe","slug":"openvibe-network"},{"space":"openvibe","slug":"openvibe-search"}],"indexability":{"indexable":false,"reasons":["ai_generated_unreviewed"]}}