OpenVidu Platform main repository
 
 
 
 
 
 
Go to file
pabloFuente 50c4778c12 openvidu-test-e2e: test the subscriber bandwidth estimate across video pauses
When a subscriber connection was left with audio only, the mediasoup
worker kept probing its bandwidth every 5 s. This happens when the camera
is muted, when the subscriber disables the video, or when the camera is
unpublished. With v3.32.1-openvidu2 each probe dropped the estimate to
its 30 kbps minimum, so the video came back on its lowest layer. With
v3.32.1-openvidu3 the probes had no cap: on a LAN, bursts of up to 1 MB
every 5 s and an estimate near 1 Gbps. openvidu-pro-mediasoup now sends
no probe while no video Consumer is active.

OpenViduTestAppE2eTest gets one test for each way a connection can end
up with audio only, holding it there for 20 s:
- cameraMuteKeepsSubscriberBweTest: the publisher mutes the camera.
- subscriberDisabledVideoKeepsSubscriberBweTest: the subscriber disables
  the video, which is what adaptive stream does with a hidden video.
- cameraUnpublishKeepsSubscriberBweTest: the camera is unpublished and
  published again. It is @OnlyMediasoup because LiveKit's pion engine
  starts a new track on its lowest layer by design.
The first two check that only the audio reaches the subscriber, under
250 KB. All three check that the first frames after the video comes back
are already the top layer.

The testapp's video info dialog now reports transportBytesReceived and
transportPacketsReceived, read from the peer connection's 'transport'
stats. The probes are RTX padding, and the video's inbound-rtp counters
do not count them.

publishCamera() and unpublishCamera() move to
AbstractOpenViduTestappE2eTest, and Publisher.addVideo() and
unpublishVideo() in OpenViduTestAppE2eEgressProTest now call them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 15:18:49 +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: archive lost-ingress-error, keep only the specs 2026-10-28 17:04:29 +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: test the subscriber bandwidth estimate across video pauses 2026-11-02 15:18:49 +01:00
openvidu-test-integration openvidu-test-integration: patched transitive dependencies 2026-10-26 17:34:26 +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]