OpenVidu Platform main repository
 
 
 
 
 
 
Go to file
cruizba 43c66b0708 openvidu-deployment: AWS HA: TURN over UDP for private Media Nodes, and signal the stack only when healthy
TURN over UDP for Media Nodes in private subnets. With TurnDomainName, TurnCertificateARN and
LoadBalancerSubnets set, and the Media Nodes in other subnets than the Load Balancers, a second
internet-facing Network Load Balancer forwards UDP 443 to the TURN server of the Media Nodes, with
cross-zone load balancing. It is only used when the SubnetProcessor detects private Media Nodes.
An NLB cannot have a UDP and a TLS listener on the same port, so TURN over TLS stays on the TURN
Load Balancer as the fallback. LiveKit gives clients the UDP TURN address as turn:<node IP>:443,
so each Media Node announces the IP of the NLB in its availability zone (--public-ip, and
--force-media-node-public-ip on the Master Nodes) instead of the NAT gateway IP. The NLB keeps the
static IPs that AWS assigns to it, so no Elastic IPs of the account are used: each Media Node
resolves the zonal DNS name of the NLB. New TurnUDPLoadBalancerDNS output.

Master Nodes signal their WaitCondition only once OpenVidu is installed, started and healthy, and
signal a failure on any error. Before, they signalled right after generating the shared secret,
so a failed installation still ended in CREATE_COMPLETE. The WaitCondition timeout goes from
PT20M to PT40M.


Assisted-by: claude-code - Anthropic - Claude Opus 5.5
2026-10-16 19:18:46 +02:00
.github chore: update OpenVidu/actions to v1.0.24 2026-10-11 14:50:15 +00: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: fix @deprecated tag on ToolbarComponent.onRoomDisconnected 2026-10-06 10:54:35 +02:00
openvidu-deployment openvidu-deployment: AWS HA: TURN over UDP for private Media Nodes, and signal the stack only when healthy 2026-10-16 19:18:46 +02:00
openvidu-livekit@2f779fc1fd Update openvidu-livekit submodule 2026-09-29 15:04:22 +00:00
openvidu-test-browsers openvidu-test-e2e: run ffmpeg and ffprobe in a pinned Docker image, never the host's 2026-10-09 11:42:50 +02:00
openvidu-test-e2e openvidu-test-e2e: run ffmpeg and ffprobe in a pinned Docker image, never the host's 2026-10-09 11:42:50 +02:00
openvidu-test-integration integration-tests: Refactor utility code. Exec MongoDB disconnect method after running all tests 2024-12-12 15:42:09 +01:00
openvidu-testapp openvidu-testapp: allow starting Participant Passthrough Egress 2026-10-08 16:30:08 +02: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]