Fishjam 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 Fishjam:
- building from source (requires Elixir and native dependencies)
- using Fishjam Docker images
To learn more, refer to Installation page in Fishjam docs.
Fishjam provides server SDKs (used to manage the state of Fishjam server) and client SDKs (used to connect to the Fishjam instance, receive media, etc.).
To get the list of all available SDKs, go to SDKs page in Fishjam 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 Fishjam with WebRTC, refer to WebRTC peer page in Fishjam docs to learn how to do that. Dashboard makes HTTP requests to Fishjam that need to be authorized and requires a token to do so, learn more from Authentication page in Fishjam docs.
Everything you need to get started with Fishjam is available in the Fishjam docs.
You can read about theoretical concepts and problems we encountered in the Fishjambook.
Copyright 2022, Software Mansion
Licensed under the Apache License, Version 2.0