1
Fork 0
The Galène videoconference server
Go to file
Juliusz Chroboczek 1365683ad6 Fix selection of alternate media devices.
Thanks to Giuseppe Castagna for noticing.
2020-05-29 15:56:06 +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 Fix selection of alternate media devices. 2020-05-29 15:56:06 +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 Simplify some usages of client.error. 2020-05-28 04:27:15 +02:00
conn.go Use explicit add/remove messages in writerLoop. 2020-05-27 11:25:37 +02:00
go.mod Update dependencies. 2020-05-23 21:04:14 +02:00
go.sum Update dependencies. 2020-05-23 21:04:14 +02:00
group.go Don't delete empty groups. 2020-05-28 01:10:18 +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/>