doc: add examples T x C

This commit is contained in:
zarazaex69
2026-05-21 17:55:59 +03:00
parent 19dba1691d
commit c3fb28cf83
28 changed files with 968 additions and 153 deletions

View File

@@ -1,73 +0,0 @@
# Пример клиентского конфига olcrtc
# Запуск: olcrtc client.yaml
mode: cnc
auth:
provider: jitsi # должен совпадать с сервером
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с сервером.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: datachannel # должен совпадать с сервером
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
# Необязательный плановый rebuild долгих звонков.
# lifecycle:
# max_session_duration: 6h
# Необязательный лимит/pacing для зашифрованных wire-сообщений.
# traffic:
# max_payload_size: 4096
# min_delay: 5ms
# max_delay: 30ms
# Локальный SOCKS5 listener для приложений.
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
# Прямой engine-режим: используется только при auth.provider: none.
engine:
name: ""
url: ""
token: ""
vp8:
fps: 60
batch_size: 64
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none
codec: qrcode
qr_size: 0
qr_recovery: low
tile_module: 4
tile_rs: 20
data: data
debug: false

View File

@@ -9,9 +9,31 @@ olcrtc /etc/olcrtc/client.yaml
Готовые примеры:
- [`server.example.yaml`](./server.example.yaml)
- [`client.example.yaml`](./client.example.yaml)
- [`failover.example.yaml`](./failover.example.yaml)
- [`server.jitsi.datachannel.yaml`](./examples/server.jitsi.datachannel.yaml)
- [`client.jitsi.datachannel.yaml`](./examples/client.jitsi.datachannel.yaml)
- [`server.jitsi.videochannel.yaml`](./examples/server.jitsi.videochannel.yaml)
- [`client.jitsi.videochannel.yaml`](./examples/client.jitsi.videochannel.yaml)
- [`server.jitsi.seichannel.yaml`](./examples/server.jitsi.seichannel.yaml)
- [`client.jitsi.seichannel.yaml`](./examples/client.jitsi.seichannel.yaml)
- [`server.jitsi.vp8channel.yaml`](./examples/server.jitsi.vp8channel.yaml)
- [`client.jitsi.vp8channel.yaml`](./examples/client.jitsi.vp8channel.yaml)
- [`server.telemost.datachannel.yaml`](./examples/server.telemost.datachannel.yaml)
- [`client.telemost.datachannel.yaml`](./examples/client.telemost.datachannel.yaml)
- [`server.telemost.videochannel.yaml`](./examples/server.telemost.videochannel.yaml)
- [`client.telemost.videochannel.yaml`](./examples/client.telemost.videochannel.yaml)
- [`server.telemost.seichannel.yaml`](./examples/server.telemost.seichannel.yaml)
- [`client.telemost.seichannel.yaml`](./examples/client.telemost.seichannel.yaml)
- [`server.telemost.vp8channel.yaml`](./examples/server.telemost.vp8channel.yaml)
- [`client.telemost.vp8channel.yaml`](./examples/client.telemost.vp8channel.yaml)
- [`server.wbstream.datachannel.yaml`](./examples/server.wbstream.datachannel.yaml)
- [`client.wbstream.datachannel.yaml`](./examples/client.wbstream.datachannel.yaml)
- [`server.wbstream.videochannel.yaml`](./examples/server.wbstream.videochannel.yaml)
- [`client.wbstream.videochannel.yaml`](./examples/client.wbstream.videochannel.yaml)
- [`server.wbstream.seichannel.yaml`](./examples/server.wbstream.seichannel.yaml)
- [`client.wbstream.seichannel.yaml`](./examples/client.wbstream.seichannel.yaml)
- [`server.wbstream.vp8channel.yaml`](./examples/server.wbstream.vp8channel.yaml)
- [`client.wbstream.vp8channel.yaml`](./examples/client.wbstream.vp8channel.yaml)
- [`failover.yaml`](./examples/failover.yaml)
## Схема

View File

@@ -0,0 +1,34 @@
# Клиентский конфиг: jitsi + datachannel
# Запуск: olcrtc docs/examples/client.jitsi.datachannel.yaml
mode: cnc
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с сервером.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: datachannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
data: data
debug: false

View File

@@ -0,0 +1,40 @@
# Клиентский конфиг: jitsi + seichannel
# Запуск: olcrtc docs/examples/client.jitsi.seichannel.yaml
mode: cnc
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с сервером.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: seichannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
data: data
debug: false

View File

@@ -0,0 +1,47 @@
# Клиентский конфиг: jitsi + videochannel
# Запуск: olcrtc docs/examples/client.jitsi.videochannel.yaml
mode: cnc
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с сервером.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: videochannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none
codec: qrcode
qr_size: 0
qr_recovery: low
tile_module: 4
tile_rs: 20
ffmpeg: ffmpeg
data: data
debug: false

View File

@@ -0,0 +1,38 @@
# Клиентский конфиг: jitsi + vp8channel
# Запуск: olcrtc docs/examples/client.jitsi.vp8channel.yaml
mode: cnc
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с сервером.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: vp8channel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
vp8:
fps: 60
batch_size: 64
data: data
debug: false

View File

@@ -0,0 +1,34 @@
# Клиентский конфиг: telemost + datachannel
# Запуск: olcrtc docs/examples/client.telemost.datachannel.yaml
mode: cnc
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: datachannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
data: data
debug: false

View File

@@ -0,0 +1,40 @@
# Клиентский конфиг: telemost + seichannel
# Запуск: olcrtc docs/examples/client.telemost.seichannel.yaml
mode: cnc
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: seichannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
data: data
debug: false

View File

@@ -0,0 +1,47 @@
# Клиентский конфиг: telemost + videochannel
# Запуск: olcrtc docs/examples/client.telemost.videochannel.yaml
mode: cnc
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: videochannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none
codec: qrcode
qr_size: 0
qr_recovery: low
tile_module: 4
tile_rs: 20
ffmpeg: ffmpeg
data: data
debug: false

View File

@@ -0,0 +1,38 @@
# Клиентский конфиг: telemost + vp8channel
# Запуск: olcrtc docs/examples/client.telemost.vp8channel.yaml
mode: cnc
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: vp8channel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
vp8:
fps: 60
batch_size: 64
data: data
debug: false

View File

@@ -0,0 +1,34 @@
# Клиентский конфиг: wbstream + datachannel
# Запуск: olcrtc docs/examples/client.wbstream.datachannel.yaml
mode: cnc
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: datachannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
data: data
debug: false

View File

@@ -0,0 +1,40 @@
# Клиентский конфиг: wbstream + seichannel
# Запуск: olcrtc docs/examples/client.wbstream.seichannel.yaml
mode: cnc
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: seichannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
data: data
debug: false

View File

@@ -0,0 +1,47 @@
# Клиентский конфиг: wbstream + videochannel
# Запуск: olcrtc docs/examples/client.wbstream.videochannel.yaml
mode: cnc
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: videochannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none
codec: qrcode
qr_size: 0
qr_recovery: low
tile_module: 4
tile_rs: 20
ffmpeg: ffmpeg
data: data
debug: false

View File

@@ -0,0 +1,38 @@
# Клиентский конфиг: wbstream + vp8channel
# Запуск: olcrtc docs/examples/client.wbstream.vp8channel.yaml
mode: cnc
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с сервером.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с сервером
net:
transport: vp8channel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
host: "127.0.0.1"
port: 8808
user: "" # необязательная входящая auth
pass: ""
vp8:
fps: 60
batch_size: 64
data: data
debug: false

View File

@@ -1,4 +1,4 @@
# Пример failover-конфига olcrtc
# Failover-конфиг
# Используй одинаковый порядок профилей на обеих сторонах.
mode: srv

View File

@@ -0,0 +1,33 @@
# Серверный конфиг: jitsi + datachannel
# Запуск: olcrtc docs/examples/server.jitsi.datachannel.yaml
mode: srv
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с клиентом.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: datachannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
data: data
debug: false

View File

@@ -0,0 +1,39 @@
# Серверный конфиг: jitsi + seichannel
# Запуск: olcrtc docs/examples/server.jitsi.seichannel.yaml
mode: srv
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с клиентом.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: seichannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
data: data
debug: false

View File

@@ -0,0 +1,46 @@
# Серверный конфиг: jitsi + videochannel
# Запуск: olcrtc docs/examples/server.jitsi.videochannel.yaml
mode: srv
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с клиентом.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: videochannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none
codec: qrcode
qr_size: 0
qr_recovery: low
tile_module: 4
tile_rs: 20
ffmpeg: ffmpeg
data: data
debug: false

View File

@@ -0,0 +1,37 @@
# Серверный конфиг: jitsi + vp8channel
# Запуск: olcrtc docs/examples/server.jitsi.vp8channel.yaml
mode: srv
auth:
provider: jitsi
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Должен совпадать с клиентом.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: vp8channel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
vp8:
fps: 60
batch_size: 64
data: data
debug: false

View File

@@ -0,0 +1,33 @@
# Серверный конфиг: telemost + datachannel
# Запуск: olcrtc docs/examples/server.telemost.datachannel.yaml
mode: srv
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: datachannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
data: data
debug: false

View File

@@ -0,0 +1,39 @@
# Серверный конфиг: telemost + seichannel
# Запуск: olcrtc docs/examples/server.telemost.seichannel.yaml
mode: srv
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: seichannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
data: data
debug: false

View File

@@ -0,0 +1,46 @@
# Серверный конфиг: telemost + videochannel
# Запуск: olcrtc docs/examples/server.telemost.videochannel.yaml
mode: srv
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: videochannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none
codec: qrcode
qr_size: 0
qr_recovery: low
tile_module: 4
tile_rs: 20
ffmpeg: ffmpeg
data: data
debug: false

View File

@@ -0,0 +1,37 @@
# Серверный конфиг: telemost + vp8channel
# Запуск: olcrtc docs/examples/server.telemost.vp8channel.yaml
mode: srv
auth:
provider: telemost
# Для telemost: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_TELEMOST_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: vp8channel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
vp8:
fps: 60
batch_size: 64
data: data
debug: false

View File

@@ -0,0 +1,33 @@
# Серверный конфиг: wbstream + datachannel
# Запуск: olcrtc docs/examples/server.wbstream.datachannel.yaml
mode: srv
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: datachannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
data: data
debug: false

View File

@@ -0,0 +1,39 @@
# Серверный конфиг: wbstream + seichannel
# Запуск: olcrtc docs/examples/server.wbstream.seichannel.yaml
mode: srv
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: seichannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
data: data
debug: false

View File

@@ -0,0 +1,46 @@
# Серверный конфиг: wbstream + videochannel
# Запуск: olcrtc docs/examples/server.wbstream.videochannel.yaml
mode: srv
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: videochannel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none
codec: qrcode
qr_size: 0
qr_recovery: low
tile_module: 4
tile_rs: 20
ffmpeg: ffmpeg
data: data
debug: false

View File

@@ -0,0 +1,37 @@
# Серверный конфиг: wbstream + vp8channel
# Запуск: olcrtc docs/examples/server.wbstream.vp8channel.yaml
mode: srv
auth:
provider: wbstream
# Для wbstream: Room ID, который вернул сервис.
# Должен совпадать с клиентом.
room:
id: "REPLACE_WITH_WB_ROOM_ID"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
key: "REPLACE_ME_WITH_64_HEX_CHARS" # должен совпадать с клиентом
net:
transport: vp8channel
dns: "8.8.8.8:53"
liveness:
interval: 10s
timeout: 5s
failures: 3
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
vp8:
fps: 60
batch_size: 64
data: data
debug: false

View File

@@ -1,76 +0,0 @@
# Пример серверного конфига olcrtc
# Запуск: olcrtc server.yaml
mode: srv
auth:
provider: jitsi # jitsi | telemost | wbstream
# Для jitsi: полный URL комнаты (https://host/room или host/room).
# Для telemost / wbstream: Room ID, который вернул сервис.
room:
id: "https://meet.small-dm.ru/REPLACE_WITH_ROOM_NAME"
crypto:
# 32 байта в hex (64 символа). Сгенерировать: openssl rand -hex 32
# Можно использовать key_file: "./olcrtc.key", чтобы не хранить секрет прямо здесь.
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
# Необязательный плановый rebuild долгих звонков.
# lifecycle:
# max_session_duration: 6h
# Необязательный лимит/pacing для зашифрованных wire-сообщений.
# traffic:
# max_payload_size: 4096
# min_delay: 5ms
# max_delay: 30ms
# Исходящий SOCKS5-прокси на серверной стороне (необязательно).
socks:
proxy_addr: "" # например "127.0.0.1"
proxy_port: 0 # например 1080
# Прямой engine-режим: используется только при auth.provider: none.
engine:
name: "" # livekit | goolom | jitsi
url: ""
token: ""
# Настройки vp8channel (только когда net.transport == vp8channel).
vp8:
fps: 60
batch_size: 64
# Настройки seichannel (только когда net.transport == seichannel).
sei:
fps: 60
batch_size: 64
fragment_size: 900
ack_timeout_ms: 2000
# Настройки videochannel (только когда net.transport == videochannel).
video:
width: 1920
height: 1080
fps: 30
bitrate: "2M"
hw: none # none | nvenc
codec: qrcode # qrcode | tile (для tile нужно 1080x1080)
qr_size: 0 # 0 = авто
qr_recovery: low # low (7%) | medium (15%) | high (25%) | highest (30%)
tile_module: 4 # 1..270, только для codec: tile
tile_rs: 20 # 0..200, только для codec: tile
data: data # директория с runtime-данными (names, surnames)
debug: false
ffmpeg: ffmpeg # путь к ffmpeg, нужен только videochannel