Fishjam Client library for iOS apps written in Swift.
The repository consists of 3 separate components:
FishjamClient
- Fishjam client fully compatible withFishjam
, responsible for exchanging media events and receiving media streams which then are presented to the userFishjamClientDemo
- Demo application utilizingFishjam
clientMembraneRTC
- iOS WebRTC client
Really simple App allowing to test Fishjam client
functionalities. It consist of 2 screens:
- Joining screen where user passes peer token followed by join button click
- Room's screen consisting of set of control buttons and an area where participants' videos get displayed
API documentation is available here.
Add FishjamClient dependency to your project.
- Run
./scripts/init.sh
in the main directory to install swift-format and release-it and set up git hooks - Edit
Debug.xcconfig
to set backend url in development. - Run
release-it
to release. Follow the prompts, it should update version in podspec, make a commit and tag and push the new version.
We welcome contributions to iOS Client SDK. Please report any bugs or issues you find or feel free to make a pull request with your own bug fixes and/or features.
Client SDKs | React, React Native, iOS, Android |
Server SDKs | Elixir, Python, OpenAPI |
Services | Videoroom - an example videoconferencing app written in elixir Dashboard - an internal tool used to showcase Fishjam's capabilities |
Resources | Fishjam Book - theory of the framework, Docs, Tutorials |
Membrane | Fishjam is based on Membrane, Discord |
Compositor | Compositor - Membrane plugin to transform video |
Protobufs | If you want to use Fishjam on your own, you can use our protobufs |
Copyright 2023, Software Mansion
Licensed under the Apache License, Version 2.0