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

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

@@ -0,0 +1,48 @@
# Failover-конфиг
# Используй одинаковый порядок профилей на обеих сторонах.
mode: srv
crypto:
key_file: "./olcrtc.key"
net:
dns: "1.1.1.1: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
data: data
profiles:
- name: wb-vp8
auth:
provider: wbstream
room:
id: "REPLACE_WITH_WB_ROOM_ID"
net:
transport: vp8channel
- name: jitsi-datachannel
auth:
provider: jitsi
room:
id: "https://meet.example.org/REPLACE_WITH_ROOM_NAME"
net:
transport: datachannel
failover:
retry_delay: 2s
max_cycles: 0

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