Skip to content
openvibers/openrestream
Commits
main · README.md
-
OpenRestream: the legacy deploy fallback is deleted; worker generations move to deploy/scripts/workers.sh (#35)OpenVibers · 10 Oct 2026
68f3c91
-
openvibe-shared v2.20.3 (was v2.20.2) (#33)OpenVibers · 10 Oct 2026
848bc1a
-
openvibe-shared v2.20.2 (was v2.20.0) (#31)OpenVibers · 9 Oct 2026
41d908f
-
OpenRestream: OpenVibe Live on by default, and the site says what it is (open restreaming) (#28)OpenVibers · 9 Oct 2026
d8d3a4c
-
openvibe-contracts v0.126.0 (was v0.122.1) (#29)OpenVibers · 9 Oct 2026
55a414f
-
OpenRestream: the product at openre.stream is OpenRestream (owner, 2026-10-09) (#26)OpenVibers · 9 Oct 2026
bd5b26e
-
openvibe-shared v2.20.0 (was v2.17.0) (#27)OpenVibers · 9 Oct 2026
bdc8709
-
OpenRe: fixes from the pre-launch security review, and openre.stream launches (cutover B0 (a)) (#25)OpenVibers · 9 Oct 2026
a7f2b2b
-
openvibe-contracts v0.122.1 (was v0.112.0) (#24)OpenVibers · 9 Oct 2026
423f2a4
-
openvibe-shared v2.17.0 (was v2.15.0) (#23)OpenVibers · 9 Oct 2026
998f700
-
openvibe-shared v2.15.0 (was v2.13.2) (#22)OpenVibers · 8 Oct 2026
e80c308
-
openvibe-shared v2.13.2 (was v2.13.0) (#20)OpenVibers · 8 Oct 2026
023b612
-
openvibe-sdk v0.35.0 (was v0.26.0) (#19)OpenVibers · 7 Oct 2026
9b211d3
-
openvibe-contracts v0.112.0 (was v0.76.0) (#18)OpenVibers · 7 Oct 2026
ea270ea
-
Bump openvibe-shared v2.3.1 → v2.5.0 (#11)OpenVibers · 3 Oct 2026
abd1921
-
Move the API shutdown onto openvibe-sdk/service gracefulStop (#8)OpenVibers · 2 Oct 2026
d272503
-
Plan T4: the RFC 9725 follow-ups the independent review of PR 5 left… (#6)OpenVibers · 2 Oct 2026
af1fb50
-
Restart ICE, check If-Match and Bearer on WHIP PATCH and DELETE (#5)OpenVibers · 2 Oct 2026
ff2048b
-
OpenRe's webrtc worker (plan T4, transports step 2): WHIP ingest, the mediasoup SFU and viewer signaling in one worker kind (workers/webrtc.js + webrtc/{sfu,sdp,signaling}.js; UDP 10200-10300 beside Live's 10000-10100), a WHIP session going live on ICE connected as Live's handler does, browser broadcasters over /b/<key> and viewers over /w/<playback id>, a loopback RTP egress API (describe, PlainRTP consumer to a local port pair) for the restream worker, Media's RTP recorder and the thumbnail grabber. Recording a webrtc session goes through Media's RTP ingest (migration 0003: rtp_handle and the port pair); live thumbnails come from the worker that owns the source and are uploaded as Media objects (namespace live) and carried as thumbnail_url on openre.session.updated. Admission, leases and drains follow the rtmp/jsmpeg workers. The worker refuses to start in production without MEDIASOUP_ANNOUNCED_IP. mediasoup, sdp-transform and ws are dependencies, werift a dev dependency for test/webrtc-e2e.test.js (a real WebRTC client: WHIP offer to RTP egress, a counted viewer, recording through Media's RTP ingest, a browser broadcaster, refusals, DELETE, a lost lease, a drain). npm test 21/25 (4 PostgreSQL-only skips) and test:pg 25/25 (verified).OpenVibers · 29 Sept 2026
75a5dd7
-
OpenRe carries JSMPEG (plan T4, transports step 1): one protocol name per transport (rtmp, webrtc, jsmpeg; whip accepted on input as webrtc; worker kinds rtmp-ingest, restream, webrtc, jsmpeg; migration 0002 rewrites stored names), and a real jsmpeg worker: MPEG-TS POST /<key>/<w>/<h>/ admitted by key like RTMP, WebSocket viewers by playback id (viewer count in heartbeats and the session), a loopback tap for restream, generations/drain/lease like the RTMP worker; the playback descriptor carries jsmpeg { ws_url, width, height }; restream reads the tap; a jsmpeg recording request fails with a stated reason (openre.recording.failed), never silently. The webrtc-ingest and sfu stubs become one webrtc stub. [email protected]; cutover.md gains the JSMPEG slot procedure. npm test 19/23 (4 need PostgreSQL), test:pg 23/23.OpenVibers · 29 Sept 2026
63c9ad0
-
The SQLite era is gone (on PostgreSQL since 2026-09-28; no compatibility kept): the one-time migrate-to-postgres script, the *_DB_PATH settings (config, .env.example, systemd unit, test helpers), the unused better-sqlite3 dependency and its lockfile entries, and docs, docstrings and STATUS lines about SQLite or its rollback window. Reviewed independently before shipping. npm test 15/18 test files passed, 3 skipped (api-restart.test.js: api-restart: skipped (OpenRe proc.OpenVibers · 29 Sept 2026
36c7026
-
OpenRe.Stream on PostgreSQL (ADR-035, roadmap WS-X2 G5): openvibe-sdk/db, async throughout, every transaction serializable.OpenVibers · 28 Sept 2026
405682c
-
npm test no longer counts a skipped test as passed (roadmap WS-Q task 7; openvibe-shared/test-runner, Shared v1.25.0). test/run.js counted every file that exited 0 as passed, so rtmp-e2e without ffmpeg, which checks nothing and exits 0, read as green. It is now the shared runner (same files, one at a time as before, 180 s timeout per file): a test prints "<label>: skipped (<why>)" for what it could not run, and that file is listed with ○ and its reasons and not counted as passed; --strict makes a skip fail the run. rtmp-e2e now prints "rtmp-e2e: skipped (no ffmpeg on PATH)" (it said SKIPPED, in words no runner read); without ffmpeg the run reads 17/18 test files passed, 1 skipped. openvibe-shared is pinned at v1.25.0 (from v1.24.0; README and STATUS.json follow). npm test (Node 22, ffmpeg installed) 18/18.OpenVibers · 28 Sept 2026
d9f4240
-
OpenRe's /api/ready is in the openvibe-shared/ready shape (roadmap WS-Q task 7, Shared v1.24.0). It answered { status, checks: { db: true, key: true }, … }, an ad-hoc body Network's registry could only read by HTTP status, so the status page showed OpenRe up (basis ready-legacy) on a 200 alone; since Network ac71bb4 it shows degraded for that reason. Now createReadiness with required db and network_key (as before: 503 without them) and optional workers (a ready rtmp-ingest and restream worker), coordinator (a valid lease) and events_relay, so a worker generation rolling over degrades the API, which keeps serving reads, rather than failing it. A restore drill's relay is skipped ("restore drill: never publishes"), never ok. The body keeps mode, store, workers, coordinator and events for scripts/cutover-preflight.js, which already requires status ready. openvibe-shared is pinned at v1.24.0 (from v1.22.0); README and STATUS.json name it. Tests: api (shape, required flags, no workers → degraded, preflight fields kept) and drill-mode (relay skipped). npm test (Node 22) 18/18.OpenVibers · 28 Sept 2026
0afc069
-
README and STATUS.json are current (roadmap WS-U task 3): a Capabilities section lists the seven openre.* capabilities and what OpenRe calls at Events, Live (live.lineage.resolve, also added to the grants list) and Media; Security notes point to SECURITY.md; Deploying says how an API and a worker deploy roll back. Stale facts corrected: the status line and launch rule say the RTMP ingest is public on 1936 and Live is wired (phase A of docs/cutover.md, 2026-09-23), not loopback-only and inert; Depends on names the current pins (contracts v0.49.0, sdk v0.12.0, shared v1.22.0). STATUS.json names openvibe-contracts v0.49.0, fixes the livePatch note, gains features and is updated 2026-09-28.OpenVibers · 28 Sept 2026
c77ec2a
-
deploy/scripts/deploy.sh hands over to ovhost deploy openre (OpenVibe.Host strategy release-layout; roadmap WS-N task 11). The old script is kept, unchanged, as deploy/scripts/deploy-legacy.sh. deploy (release + api in one), release [<ref>] (ovhost deploy openre --prepare-only: releases/<sha12>, npm ci, chown ubuntu; the sha12 alone on stdout as before), api [<sha>] (deploy --to <sha>: switch current, restart openre-api and the coordinator only, roll back if not ready), rollback [<sha>] and plan (or DRY_RUN=1) go to ovhost; workers, status and prune always run deploy-legacy.sh, since ovhost never starts, stops or restarts a worker unit and prunes on its own, never a release a worker generation runs from. ovhost also refuses an API restart while an ingest session is open (--wait-idle, --force). The wrapper asks ovhost capabilities openre first and falls back to deploy-legacy.sh (deploy = release then api, rollback <sha> = api <sha>) when ovhost is missing, too old or the host inventory does not deploy openre with release-layout (OVHOST_LEGACY=1 forces it). test/deploy-wrapper.test.js. README.OpenVibers · 27 Sept 2026
fadd8a3
-
openvibe-shared v1.5.1, openvibe-contracts v0.33.0OpenVibers · 23 Sept 2026
cc70a5a
-
openvibe-shared v1.5.0, openvibe-contracts v0.32.0, openvibe-sdk v0.5.0OpenVibers · 23 Sept 2026
cf90bac
-
RTMP cutover runbook and tooling. docs/cutover.md covers the whole cutover with owner and agent steps, a check and an undo for each: deploy the newest release, OPENRE_RTMP_BIND=0.0.0.0 through a new worker generation, 1936/tcp at the provider edge (owner), Live's OPENRE_URL/OPENRE_PUBLIC_URL/OPENRE_EVENTS_SECRET and the Events subscription, a rehearsal with a real destination, and the per-slot migration with the switch, key regeneration and personal-key rotation (H4), plus rollback per slot and for every slot at once.OpenVibers · 23 Sept 2026
e0dc1b4
-
Docs: STATUS.json and README match production (2026-09-23)OpenVibers · 23 Sept 2026
450f87c
More commits