OpenVibe.Media · part of OpenVibe Services
Open media and object storage for OpenVibe and your apps.
Every video, clip, picture and file on the OpenVibe sites lives here, and your apps get the same API: objects and S3, thumbnails in any size, streaming playback and live frames. Public media plays and downloads without an account.
- 824
- public recordings and videos
- 429
- public clips
- 91
- emotes and sounds
- 1,231
- thumbnails in six sizes
Part of OpenVibe Services: the building blocks every OpenVibe product runs on, with one console, one account and one SDK.
Latest public media
What it does
The media layer under every OpenVibe site, open to your apps through the same API.
From your app
Public media needs no key. Your own objects take a project token or a Zone key.
<img src="https://openvibe.media/t/<thumbnail>?w=320&fmt=webp" width="320" loading="lazy" alt="">
<img src="https://openvibe.media/live/@goosely/frame.jpg?w=640" alt="goosely, live now">const { createObjectsClient } = require('openvibe-sdk/media');
// tokens: createServiceTokenClient() for your developer app; app is your project id
const objects = createObjectsClient({ app: 'prj_…', tokenClient: tokens });
const obj = await objects.upload(fs.readFileSync('q3.pdf'), { kind: 'file', mimeType: 'application/pdf', filename: 'q3.pdf' });
const { url } = await objects.signedUrl(obj.id, { ttl: 300 });aws --endpoint-url https://s3.openvibe.media s3 cp ./site s3://assets/ --recursive # a Zone key and zoneLimits
What one project gets in each environment.
| Limit | Production | Sandbox |
|---|---|---|
| Stored bytes (every namespace of the tenant) | 1 GB | 100 MB |
| Size of a single-part upload | 256 MB | 256 MB |
| Size of a multipart upload | 20 GB | 20 GB |
| Size of one multipart part | 256 MB | 256 MB |
| Hours an unfinished upload holds its quota | 72 hours | 72 hours |
| Days a deleted object can be restored | 30 days | 30 days |
These are the limits the service enforces, read from openvibe.media/limits.json.
Questions
Do I need an account to watch?
No. Public videos, clips, sounds and files play and download without an account; watch pages for recordings and clips are on OpenVibe.Video.
How does my app store files here?
Over S3 with a project key from OpenVibe.Zone (any S3 tool, endpoint s3.openvibe.media), or through the object API with the openvibe-sdk/media client: single or multipart uploads, resumable, signed URLs.
What sizes can a thumbnail be?
Any public thumbnail answers /t/<id>?w=<width>&fmt=<format>: widths 64, 96, 160, 320, 480 or 640, as WebP, AVIF or JPEG, made once and cached.
Can I show what a live stream looks like right now?
Yes: /live/@<username>/frame.jpg is a near-real-time frame of that streamer's live recording (?w= for a width, ?format=json for a status). When they are offline it is an offline card with a 404.
What happens to something I delete?
A deleted object can be restored for a while before it is purged; the limits below say for how long. Its thumbnails and copies go with it.
What are the limits?
They are published as JSON at /limits.json and in the table on this page: storage per project, upload and part sizes, and how long an unfinished upload holds its space.