1
Fork 0
The Galène videoconference server
Go to file
Juliusz Chroboczek 7961d7279b Move monotonic time to separate package, use microseconds. 2020-05-03 11:06:08 +02:00
estimator Implement rate estimation. 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 Fix TotalLost value in receiver reports. 2020-05-03 11:06:08 +02:00
static Disable checkbox on media failure in setLocal and SharedMedia. 2020-05-03 11:06:08 +02:00
.gitignore Add .gitignore. 2020-04-30 19:13:32 +02:00
README Add README. 2020-04-29 18:31:54 +02:00
client.go Move monotonic time to separate package, use microseconds. 2020-05-03 11:06:08 +02:00
go.mod Unmarshal RTP directly instead of using helper functions. 2020-04-28 14:52:36 +02:00
go.sum Initial commit. 2020-04-25 01:06:57 +02:00
group.go Move monotonic time to separate package, use microseconds. 2020-05-03 11:06:08 +02:00
sfu.go Display actual rate in statistics. 2020-05-03 11:06:08 +02:00

README

Build the server binary:

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

Create a server certificate:

    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

Setup 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/>