For a video call SDK, the first results are jitsi/jitsi-meet (Jitsi Meet is a full-stack, WebRTC-based video conferencing platform that can be embedded into your own applications via its iframe API or SDK, offering screen sharing, group calls, and a self-hostable signaling server — exactly the embeddable SDK you need), peers/peerjs (PeerJS is a JavaScript library that wraps WebRTC for peer-to-peer audio/video/data connections and includes a self‑hostable signaling server, making it a direct fit as an embeddable video calling SDK that covers the core required features for in‑app integration) and feross/simple-peer. aiortc/aiortc and anyrtcio-community/anyrtc-rtmp-opensource round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
Embed real-time video conferencing and audio communication features directly into your custom web or mobile applications.
Jitsi Meet is an open-source platform for real-time audio and video communication. It provides a complete infrastructure for hosting secure video conferences, supporting features such as screen sharing, messaging, and participant polling. The platform is designed for both standalone use and integration into external web or mobile applications. The system utilizes a selective forwarding unit architecture to route media streams between participants, ensuring efficient communication across multiple users. It relies on standardized real-time transport protocols to manage data transmission and inc
Jitsi Meet is a full-stack, WebRTC-based video conferencing platform that can be embedded into your own applications via its iframe API or SDK, offering screen sharing, group calls, and a self-hostable signaling server — exactly the embeddable SDK you need.
PeerJS is a real-time communication library and framework designed to establish direct peer-to-peer data and media connections between browsers. It provides a simplified wrapper for managing the lifecycles of WebRTC connectivity, enabling the exchange of audio, video, and data without a central relay. The project includes a coordination server that handles signaling management by mapping unique user identities to network connection details. This server facilitates the discovery of remote peers and the exchange of metadata required to perform the initial connection handshake. The framework su
PeerJS is a JavaScript library that wraps WebRTC for peer-to-peer audio/video/data connections and includes a self‑hostable signaling server, making it a direct fit as an embeddable video calling SDK that covers the core required features for in‑app integration.
simple-peer is a JavaScript library that provides a wrapper for WebRTC to simplify the establishment of peer-to-peer networking in the browser. It serves as a tool for creating direct device-to-device connections for the transmission of binary data and real-time media streaming. The library manages the exchange of strings and binary buffers through a data channel implementation and provides tools for sharing real-time audio and video tracks between peers. It covers the full lifecycle of peer connectivity, including signaling coordination, session description negotiation, and the gathering of
Simple-peer is a JavaScript library that provides a lightweight WebRTC wrapper for establishing peer-to-peer audio and video connections, making it a genuine building block for video calling integration, though it lacks built-in group call, screen sharing, and customizable UI features.
aiortc is a Python implementation of the WebRTC protocol, providing an asynchronous stack for real-time audio, video, and data streaming between peers. It functions as a media engine and data channel implementation that manages peer connections through a non-blocking framework. The library enables the establishment of direct peer-to-peer networking by negotiating session descriptions and connectivity paths. It facilitates secure, bidirectional data transmission via data channels and supports low-latency media streaming using standard codecs. The system includes capabilities for network NAT t
aiortc is a low-level Python WebRTC library that gives you the core peer-to-peer media streaming needed for video calling, but it does not include the higher-level features you asked for such as a customizable UI, screen sharing, group call support, or a self-hostable signaling server — you would need to build all of those yourself.
This project is an RTMP media streaming SDK and a real-time communication framework designed for pushing and playing audio and video streams. It provides tools for interactive broadcasting, low-latency voice and video calls, and a cross-platform media player compatible with Windows, iOS, and Android. The toolkit enables interactive live broadcasting with support for multi-host interactions and the ability to push streams to distribution servers via CDN. It includes a cloud recording manager for capturing live sessions and saving them as files to cloud storage, along with a system for composit
AnyRTC RTMP OpenSource is a real-time communication SDK that supports low-latency voice and video calls, WebRTC, and cross-platform deployment (Windows, iOS, Android), so it fits as an embeddable video calling SDK; however, its emphasis on RTMP streaming and interactive broadcasting means it is more tailored to live broadcasting workflows than a general-purpose video calling SDK.
This project is a WebRTC screen sharing server designed to facilitate the streaming of desktop views between multiple participants. It functions as a signaling server to coordinate connection metadata and a relay server to ensure connectivity for users behind restrictive firewalls or symmetric NATs. The server enables real-time screen sharing by establishing direct peer-to-peer connections to reduce latency and server load. It utilizes a relay architecture to maintain stable communication when direct paths are blocked by network firewalls. The system provides coordination for session managem
Screego/server is a self-hostable WebRTC screen sharing server (signaling and relay) rather than an embeddable video calling SDK—it provides only screen sharing, not two‑way video or audio calls, and lacks a client‑side UI kit or the full feature set needed for general video calling integration.
QtScrcpy is a cross-platform desktop application designed for mirroring and controlling Android devices. It functions as a high-performance client that captures mobile display output and streams it to a computer monitor, enabling real-time interaction through a persistent connection. The application distinguishes itself by supporting the simultaneous management of multiple mobile devices from a single interface, allowing for batch operations and synchronized inputs. Users can map standard desktop mouse and keyboard actions to mobile touch events using custom scripts, facilitating efficient na
QtScrcpy is an Android screen-mirroring and control application, not an embeddable video-calling SDK — it lacks WebRTC, signaling, group calls, and the ability to integrate into your own app as a communication component.
Neko is a virtual desktop infrastructure platform that provides containerized browser isolation and remote desktop environments. It enables users to host secure, ephemeral browser instances that can be accessed and managed through a standard web browser, ensuring consistent execution across different host systems. The platform distinguishes itself through its collaborative capabilities, allowing multiple users to view and interact with a single shared browser session in real time. It synchronizes keyboard, mouse, and gamepad inputs from multiple participants while providing integrated tools f
Neko is a self-hosted remote desktop and virtual browser platform that streams a shared browser session over WebRTC, but it’s a collaborative desktop tool rather than an embeddable video calling SDK you integrate into your own application.
Flat is an open-source virtual classroom client that combines real-time video conferencing, an interactive whiteboard, screen sharing, and session recording into a single cross-platform application. Built with Electron and React, it provides a desktop shell for hosting and joining live teaching sessions on Windows and macOS, with a web-based interface that integrates video, audio, whiteboard annotations, and messaging for synchronous student engagement. The platform distinguishes itself through its integration of Agora's Real-Time Communication engine with the Software-Defined Real-Time Netwo
Flat is a complete virtual classroom application built on Agora RTC, not an embeddable SDK for integrating video calling into custom applications, so it does not fit the request for a software development kit.
Mirotalksfu is a WebRTC video conferencing platform and AI-integrated meeting suite. It functions as a real-time communication system for hosting high-resolution audio and video meetings, serving as a self-hosted virtual classroom and a collaborative workspace. The platform distinguishes itself by integrating generative AI assistants, speech recognition, and digital avatars into live sessions. It also operates as an RTMP streaming gateway, allowing users to broadcast live meeting content to external audiences and platforms. The system provides a collaboration suite featuring a shared interac
Mirotalksfu is a full self-hosted video conferencing platform with AI features and a meeting suite, not an embeddable SDK you integrate into your own application — you would use it as a standalone service rather than a library to build your own app.
Fluid Player is a web-based media playback library designed to embed lightweight, responsive video players into websites. It supports standard video formats and adaptive streaming across modern browsers, providing a foundation for consistent media delivery and custom interface branding. The library distinguishes itself through integrated support for industry-standard advertising protocols, allowing for the injection and orchestration of linear and non-linear video advertisements. It includes built-in tracking for viewer engagement and performance metrics, ensuring that ad delivery is synchron
Fluid Player is a video playback library for embedding pre-recorded or adaptive-stream content, not an SDK for real-time video calling—it lacks WebRTC, screen sharing, group calls, and self-hostable signaling, so it's a neighbouring media tool rather than the communication SDK you need.
BigBlueButton is an open-source virtual classroom software and meeting server designed for hosting real-time online teaching sessions. It functions as a WebRTC video conferencing platform and collaboration suite, providing a self-hosted environment for virtual classroom management and online course administration. The system distinguishes itself through specialized educational tools, including an interactive quiz engine, breakout room coordination, and live polling. It provides a comprehensive suite of collaborative assets such as a shared infinite whiteboard, real-time co-authored notes, and
BigBlueButton is a complete virtual classroom platform and meeting server, not an embeddable SDK — you run it as a stand-alone app rather than integrating its video calling capabilities into your own application.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| jitsi/jitsi-meet | 29.4K | TypeScript | Apache-2.0 | |
| peers/peerjs | 13.4K | TypeScript | MIT | |
| feross/simple-peer |
| 7.8K |
| JavaScript |
| MIT |
| aiortc/aiortc | 5.1K | Python | BSD-3-Clause |
| anyrtcio-community/anyrtc-rtmp-opensource | 4.9K | C++ | GPL-3.0 |
| screego/server | 10.3K | Go | gpl-3.0 |
| barry-ran/qtscrcpy | 29.9K | C++ | Apache-2.0 |
| m1k1o/neko | 17.2K | Go | apache-2.0 |
| netless-io/flat | 6.4K | TypeScript | MIT |
| miroslavpejic85/mirotalksfu | 2.9K | JavaScript | agpl-3.0 |