1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-22 08:35:57 +01:00
The Galène videoconference server
Find a file
Juliusz Chroboczek b26a8cad78 Label tracks explicitly.
For now, this is only used to request screen sharing as opposed to normal
videos.  In the future, it will be used for simulcasting.
2020-05-17 23:28:19 +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 Rework sending of NACKs. 2020-05-03 11:06:08 +02:00
static Label tracks explicitly. 2020-05-17 23:28:19 +02:00
.gitignore Add .gitignore. 2020-04-30 19:13:32 +02:00
client.go Label tracks explicitly. 2020-05-17 23:28:19 +02:00
go.mod Update pion/webrtc to 2.2.9. 2020-05-09 10:42:49 +02:00
go.sum Update pion/webrtc to 2.2.9. 2020-05-09 10:42:49 +02:00
group.go Label tracks explicitly. 2020-05-17 23:28:19 +02:00
README Fix README. 2020-05-03 18:30:01 +02:00
sfu.go Include jitter in track statistics. 2020-05-03 11:06:08 +02:00

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