Skip to content

livekit 服务器部署

快速启动

  1. [github](Release v1.6.1 · livekit/livekit · GitHub) 下载linux 编译好的二进制包 上传到 服务器livekit

  2. 运行服务

    • 将config.yaml 文件上传到livekit-server包的同级目录下

    • 运行服务

      ./livekit-server --config config.yaml

配置

  1. livekit 内置turn服务(但是我运行后无法正常穿透)

  2. 另外搭建trun 与stun服务(采用coturn 运行)

  3. 打包后使用官方提供测试地址,测试是否正常运行

  4. 配置config文件,将turn与stun 采用搭建的配置

  5. 运行livekit 服务

  6. 使用ssl证书 通过wss协议与https协议访问livekit服务

    • 域名申请ssl证书

    • nginx 反向代理配置如下

location ^~ /
{
    proxy_pass http://127.0.0.1:7880;
    proxy_set_header Host 127.0.0.1;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    proxy_http_version 1.1;
}

config.yaml配置文件

yaml
port: 7880
log_level: info
rtc:
  tcp_port: 7881
  port_range_start: 50000
  port_range_end: 60000
  use_external_ip: true
  use_ice_lite: false
  stun_servers:  # 配置stun服务器地址
    - stun 服务器公网ip:3478
  turn_servers:  # 配置 turn服务器地址
    - host: trun服务器公网ip
      port: 3479
      protocol: tls
      username: turn服务器用户密码
      credential: turn服务用户密码

redis:
  address: 127.0.0.1:6379
  password: redis密码
  sentinel_master_name: redis-key
keys:
# 随机生成秘钥对
  APIn4cwW: 0l0gaRnfsYVFZckgRSWLnnYcCd

# 房间设置
room:
  empty_timeout: 300
  max_participants: 0
  enabled_codecs:
    - mime: audio/opus
    - mime: video/vp8
  enable_remote_unmute: true
  max_metadata_size: 0
  playout_delay:
    enabled: true
    min: 100
    max: 2000
  sync_streams: true

signal_relay:
  retry_timeout: 30s
  min_retry_interval: 500ms
  max_retry_interval: 5s
  stream_buffer_size: 1000
psrpc:
  max_attempts: 3
  timeout: 500ms
  backoff: 500ms
  buffer_size: 1000
audio:
  active_level: 30
  min_percentile: 40
  update_interval: 500
  smooth_intervals: 4
  active_red_encoding: true