1
Fork 0
The Galène videoconference server
Go to file
Juliusz Chroboczek 47d23658b5 Add profiling support. 2020-05-20 23:43:46 +02:00
estimator Implement rate estimation. 2020-05-03 11:06:08 +02:00
jitter Include jitter and delay in receiver reports. 2020-05-03 11:06:08 +02:00
mono Move monotonic time to separate package, use microseconds. 2020-05-03 11:06:08 +02:00
packetcache Implement packagecache.GetAt. 2020-05-20 23:41:29 +02:00
static Implement commands /lock and /unlock. 2020-05-18 15:24:04 +02:00
.gitignore Add .gitignore. 2020-04-30 19:13:32 +02:00
README Fix README. 2020-05-03 18:30:01 +02:00
client.go Signal new tracks explicitly. 2020-05-20 23:43:46 +02:00
go.mod Upgrade and remove unused dependencies 2020-05-18 20:35:25 +02:00
go.sum Upgrade and remove unused dependencies 2020-05-18 20:35:25 +02:00
group.go Signal new tracks explicitly. 2020-05-20 23:43:46 +02:00
sfu.go Add profiling support. 2020-05-20 23:43:46 +02:00

README

Build the server binary:

    CGO_ENABLED=0 go build -ldflags='-s -w'

Create a server certificate:

    mkdir data
    openssl req -newkey rsa:2048 -nodes -keyout data/key.pem -x509 -days 365 -out data/cert.pem

Set the server administrator's username and password (optional):

    echo 'god:topsecret' > data/passwd

Configure the list of STUN and TURN servers (optional):

    vi static/ice-servers.json

Set up a group

    mkdir groups
    vi groups/public.json

    {
      "allow-anonymous":true,
      "public":true,
      "op":[{"username":"jch","password":"1234"}],
      "presenter":[{}],
      "max-users":100
    }

Copy the necessary files to your server:

    rsync -a sfu static data groups server.example.org:/home/sfu/

Run the server binary:

    ssh server.example.org
    cd /home/sfu/
    nohup ./sfu &

-- Juliusz Chroboczek <https://www.irif.fr/~jch/>