pion/ion
Distributed RTC System by pure Go and Flutter
repo name | pion/ion |
repo link | https://github.com/pion/ion |
homepage | |
language | Go |
size (curr.) | 24262 kB |
stars (curr.) | 1297 |
created | 2019-03-11 |
license | MIT License |
ION
ION is a distributed RTC system written by pure go and flutter
Architecture
Features
-
Distributed Node
-
Standalone BIZ/ISLB and SFU node
-
Message Queue by NATS
-
SFU by Pure GO
-
MCU (WIP)
-
SFU<–>SFU relay (WIP)
-
High Performance (WIP)
-
Media Streaming
- WebRTC stack
- SIP stack (WIP)
- RTP/RTP over KCP
- JitterBuffer
- Nack
- PLI
- Lite-REMB
- Transport-CC(WIP)
- Anti-Loss-Package 30%+
-
-
SDK
- Flutter SDK
- JS SDK
-
Demo
Contributing
- adwpc - Original Author - ion server
- cloudwebrtc - Original Author - ion server and client sdk
- kangshaojun - Contributor UI - flutter and react.js
- Sean-Der - ion server and docker
Roadmap
Projects Welcome contributing to ion!
Stars
Screenshots
iOS/Android
PC/HTML5
How to use
Local Deployment
1. clone
git clone https://github.com/pion/ion
2. run
docker-compose up
3. chat
Open this url with chrome
http://localhost:8080
Online Deployment
1. clone
git clone https://github.com/pion/ion
2. set env
export WWW_URL=yourdomain
export ADMIN_EMAIL=yourname@yourdomain
3. run
docker-compose up
3. chat
Open this url with chrome
https://yourdomain:8080
Docker Tips
The provided docker-compose works for deploying to open usage, and can also be used for local development. It also supports auto-generate of certificates via LetsEncrypt.
It accepts the following enviroment variables.
WWW_URL
– Public URL if auto-generating certificatesADMIN_EMAIL
– Email if auto-generating certificates
To run on conference.pion.ly
you would run WWW_URL=conference.pion.ly ADMIN_EMAIL=admin@pion.ly docker-compose up
If WWW_URL
is set you will access via https://yourip:8080
OR http://yourip:8080
if not running with TLS enabled.