secure-videoconference

module
v0.0.0-...-64b69da Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 4, 2020 License: MIT

README

ION

ION is a distributed RTC system written by pure go and flutter

Financial Contributors on Open Collective Build Status MIT slack Go Report Card

Architecture

ion

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

Stargazers over time

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 certificates
  • ADMIN_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.

Directories

Path Synopsis
cmd
biz
sfu
pkg
db
log
rtc
rtc/rtpengine/deadline
Package deadline provides deadline timer used to implement net.Conn compatible connection
Package deadline provides deadline timer used to implement net.Conn compatible connection
rtc/rtpengine/udp
Package udp provides a connection-oriented listener over a UDP PacketConn
Package udp provides a connection-oriented listener over a UDP PacketConn

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL