ION is a distributed RTC system written by pure go and flutter
-
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
- 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
Projects Welcome contributing to ion!
git clone https://github.com/pion/ion
Firstly pull images. Skip this command if you want build images locally
docker-compose pull
docker-compose up
Open this url with chrome
http://localhost:8080
git clone https://github.com/pion/ion
export WWW_URL=yourdomain
export ADMIN_EMAIL=yourname@yourdomain
docker-compose up
Open this url with chrome
https://yourdomain:8080
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 [email protected] 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.