# olcrtc server config example # Run with: olcrtc server.yaml mode: srv # Connection topology link: direct # p2p link type auth: provider: jitsi # jitsi | telemost | jazz | wbstream | none # For jitsi: full conference URL (https://host/room or host/room). # For telemost / wbstream / jazz: room ID returned by the service. room: id: "https://meet.cryptopro.ru/REPLACE_WITH_ROOM_NAME" crypto: # 32-byte hex (64 chars). Generate with: openssl rand -hex 32 # Or use key_file: "./olcrtc.key" to keep the secret out of this file. key: "REPLACE_ME_WITH_64_HEX_CHARS" net: transport: datachannel # datachannel | videochannel | seichannel | vp8channel dns: "8.8.8.8:53" liveness: interval: 10s timeout: 5s failures: 3 # Optional planned rebuild for long-running calls. # lifecycle: # max_session_duration: 6h # Optional reliability shaping for encrypted wire messages. # traffic: # max_payload_size: 4096 # min_delay: 5ms # max_delay: 30ms # 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 | jitsi 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)