Jellyfish is an open-source, general-purpose media server that ships with support for multiple media protocols. It can be thought of as a multimedia bridge meant for creating different types of multimedia systems that lets you easily create a real-time video conferencing system, a broadcasting solution, or both at the same time.
It leverages the Membrane RTC Engine, a real-time communication engine/SFU library built with Membrane.
There are two ways of running Jellyfish:
- building from source (requires Elixir and native dependencies)
- using Jellyfish Docker images
To learn more, refer to Installation page in Jellyfish docs.
Jellyfish provides server SDKs (used to manage the state of Jellyfish server) and client SDKs (used to connect to the Jellyfish instance, receive media, etc.).
To get the list of all available SDKs, go to SDKs page in Jellyfish docs.
-
WebRTC Dashboard
A standalone dashboard that can create rooms, add peers and send media between the peers. Available here. To use the dashboard, you need to set up Jellyfish with WebRTC, refer to WebRTC peer page in Jellyfish docs to learn how to do that. Dashboard makes HTTP requests to Jellyfish that need to be authorized and requires a token to do so, learn more from Authentication page in Jellyfish docs.
Everything you need to get started with Jellyfish is available in the Jellyfish docs.
You can read about theoretical concepts and problems we encountered in the Jellybook.
Copyright 2022, Software Mansion
Licensed under the Apache License, Version 2.0