Jellyfish iOS Client
Jellyfish Client library for iOS apps written in Swift.
Components
The repository consists of 2 separapable components:
JellyfishClientSdk
- Jellyfish client fully compatible withJellyfish
, responsible for exchaning media events and receiving media streams which then are presented to the userJellyfishCLientDemo
- Demo application utilizingJellyfish
client
Example App
Really simple App allowing to test Jellyfish 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
Documentation
API documentation is available here.
Installation
Add JellyfishClientSDK dependency to your project.
Developing
- 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.
Contributing
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.
Jellyfish Ecosystem
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 Jellyfish's capabilities |
Resources | Jellyfish Book - theory of the framework, Docs, Tutorials |
Membrane | Jellyfish is based on Membrane, Discord |
Compositor | Compositor - Membrane plugin to transform video |
Protobufs | If you want to use Jellyfish on your own, you can use our protobufs |
Copyright and License
Copyright 2023, Software Mansion
Licensed under the Apache License, Version 2.0