# olcrtc server config example # Run with: olcrtc -config server.yaml # Any CLI flag (e.g. -key, -id) overrides the corresponding YAML field. mode: srv # Connection topology link: direct # p2p link type auth: provider: wbstream # telemost | jazz | wbstream | none room: id: "ROOM_ID_HERE" client_id: "default" # deprecated: server identifier (will be removed in upcoming refactor) crypto: # 32-byte hex (64 chars). Generate with: openssl rand -hex 32 key: "REPLACE_ME_WITH_64_HEX_CHARS" net: transport: datachannel # datachannel | videochannel | seichannel | vp8channel dns: "8.8.8.8:53" # Outbound SOCKS5 proxy for server-side egress (optional) socks: proxy_addr: "" # e.g. "127.0.0.1" proxy_port: 0 # e.g. 1080 # Direct engine mode — only used when auth.provider is "none" engine: name: "" # livekit | goolom | salutejazz url: "" token: "" # vp8channel tuning (only when net.transport == vp8channel) vp8: fps: 25 batch_size: 1 # seichannel tuning (only when net.transport == seichannel) sei: fps: 20 batch_size: 1 fragment_size: 900 ack_timeout_ms: 3000 # videochannel tuning (only when net.transport == videochannel) video: width: 1920 height: 1080 fps: 30 bitrate: "2M" hw: none # none | nvenc codec: qrcode # qrcode | tile (tile requires 1080x1080) qr_size: 0 # 0 = auto qr_recovery: low # low (7%) | medium (15%) | high (25%) | highest (30%) tile_module: 4 # 1..270, only for codec: tile tile_rs: 20 # 0..200, only for codec: tile data: data # data directory (names files etc.) debug: false ffmpeg: ffmpeg # path to ffmpeg binary (only used by videochannel)