OpenVidu Platform main repository
 
 
 
 
 
 
Go to file
pabloFuente 36f6996c2d openvidu-test-e2e: stop three Egress Pro tests failing healthy recordings
publisherCongestionVp9Test (pion): the A/V offset was +79..+109 ms before
the congestion and +90..+101 ms after it, but Recording.assertRecovered
also required every offset after it to be within 100 ms. The level a
long recording settles on, once the sync engine places its tracks by
their sender reports, changes from one recording to the next: up to
+155 ms locally, in a recording that had +7..+15 ms in its first 12 s.
On pion, every rebuild of the audio estimate (every 24 s) also moves the
audio by up to 70 ms. Each offset after the trouble must now be within
HEALED_AV_TOLERANCE_MS of the range it had before, and within
HEALED_AV_MAX_MS (250 ms); the median check stays. A recording with no
time before the trouble (publisherBadNetworkFromTheStartTest) keeps the
100 ms limit. Over the 336 network-test recordings of the last 20 CI
runs, the old rule failed 5 and the new one fails 1: the +241 ms after a
long outage with mediasoup on 2026-10-29, a real failure.

egressPacketLossAv1Test (mediasoup): "videoLosses 0" was right. The
recording had every frame through the 15 s of 30% loss, because NACKs
got every packet back: mediasoup resends a packet as often as it is
asked, and the AV1 track takes few packets per frame. videoLosses 0 now
passes when the video has no hole longer than 0.2 s during the loss.
Normal frame gaps in these recordings stay below ~106 ms, and a loss
leaves a hole of some 300 ms. The test logs both values.

twoCamerasTest (pion): the second camera never reached 640x480. When it
was published, the first camera dropped to 240x180 too, and neither came
back in the 8 s left. The browser had stopped sending their top layer:
LiveKit's SFU never limits the egress, which sends no REMB. The test now
waits up to 30 s until getStats() on each camera's sender shows a layer
640 wide at 10 fps or more, then records at least 3 s more. A timeout
fails with the browser's layers and quality limitation reason. Locally,
right after the second camera, Chrome reported "bandwidth", 577 kbps
and the top layer at 3 fps.

Verified locally with the published openvidu-server-pro:main and
egress-pro:main images (egress-pro 9d12eff, mediasoup-worker
v3.32.1-openvidu3), running the three tests together:
- mediasoup: 2 rounds, 6 of 6.
- pion: twoCamerasTest 7 of 7 and egressPacketLossAv1Test 3 of 3 with
  the final rule. One more run had +119..+155 ms before the loss and
  +151..+158 ms after: it is the one that set HEALED_AV_MAX_MS above
  150.
- A timeout run, waiting for 1280-wide cameras, failed with the
  browser's report.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 13:44:42 +01:00
.github Merge pull request #922 from OpenVidu/dependabot/github_actions/actions/upload-artifact-7.0.2 2026-10-26 17:23:32 +01:00
docs/images docs(readme): add a screenshot of the Meet application itself, before the embedded one 2026-09-17 10:03:53 +02:00
openvidu-components-angular openvidu-components-angular: Angular 20.3.34 and patched transitive dependencies 2026-10-26 17:34:26 +01:00
openvidu-dashboard openvidu-dashboard: ui-review-fixes, checked on a local deployment 2026-11-03 11:40:21 +01:00
openvidu-deployment openvidu-deployment: changelog: DigitalOcean keeps the fixed Media Nodes that stay 2026-10-28 15:23:57 +01:00
openvidu-livekit@2f779fc1fd Update openvidu-livekit submodule 2026-09-29 15:04:22 +00:00
openvidu-test-browsers openvidu-test-e2e: update all Maven dependencies and Java version 2026-10-21 16:47:28 +02:00
openvidu-test-e2e openvidu-test-e2e: stop three Egress Pro tests failing healthy recordings 2026-11-03 13:44:42 +01:00
openvidu-test-integration openvidu-test-integration: reconciler cases for the startup run, the live listing, a planned restart and a Redis without its data 2026-11-02 20:15:49 +01:00
openvidu-testapp openvidu-test-e2e: test the subscriber bandwidth estimate across video pauses 2026-11-02 15:18:49 +01:00
.gitignore Update .gitignore to include *.tfvars files 2026-02-10 16:56:09 +01:00
.gitmodules Add openvidu-livekit as git submodule 2024-07-02 19:23:37 +02:00
CONTRIBUTING.md Added CONTRIBUTING.md (optional) 2018-09-25 07:54:55 -07:00
LICENSE Initial commit 2016-10-10 15:31:27 +02:00
NOTICE Update Copyright dates 2022-03-18 10:31:19 +01:00
README.md docs(readme): drop the integration-tests badge 2026-09-17 10:25:19 +02:00

README.md

Backers on Open Collective Sponsors on Open Collective License badge

Documentation openvidu-server version Docker badge Support badge Twitter Follow

openvidu

Visit openvidu.io

What is OpenVidu?

OpenVidu is a self-hosted real-time video and audio stack, built on top of LiveKit and mediasoup, and developed by a team with over a decade of experience building WebRTC systems. It ships as two products:

OpenVidu Meet

OpenVidu Meet is a ready-to-use, self-hosted video conferencing application: an open-source alternative to Zoom, Google Meet and Jitsi Meet.

Using it requires no code. You deploy it and it works — rooms, recordings, chat, screen sharing and moderation included. It is also highly customizable: brand it with your own name, logo and colours, and choose which features each participant gets.

The OpenVidu Meet application: a video meeting with two participants, the self-view, and the toolbar with camera, microphone, screen sharing, captions and recording controls

With minimal effort it embeds into your own application, through an <iframe> or the OpenVidu Meet web component, and is driven from your backend with a REST API and webhooks:

OpenVidu Meet embedded inside a customer support web application: a two-participant video call with recording, screen sharing, chat and call controls, surrounded by the host application's own interface

OpenVidu Platform

OpenVidu Platform is the programmable client and server SDKs for building custom WebRTC applications with low-level control over media, on top of LiveKit and mediasoup. It is API-compatible with LiveKit: any LiveKit client/server SDK works unchanged.

Both products

  • Self-hosted only: deploy them on your own infrastructure (AWS, GCP, Azure, Oracle, DigitalOcean, on-premises). There is no hosted/SaaS tier: OpenVidu PRO is a paid, self-hosted edition, and the OpenVidu team offers support and consultancy.
  • Advanced media features: recording, RTMP/streaming egress, AI agents (transcription, translation), virtual backgrounds, and more.

Getting started

Community Forum

Visit OpenVidu Community Forum

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Acknowledgments

OpenVidu has been supported under project "CPP2021-008720 NewGenVidu: An elastic, user-friendly and privacy-friendly videoconferencing platform", funded by MCIN/AEI/10.13039/501100011033 and by the European Union-NextGenerationEU/PRTR.

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]