mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-26 15:13:40 +00:00
6.9 KiB
6.9 KiB
Настройки
Матрица совместимости
| Transport | telemost | jazz | wbstream |
|---|---|---|---|
| datachannel | ✗ | ⚠️ | ✓ |
| vp8channel | ✓ | ✓ | ✓ |
| seichannel | ✗ | ✓ | ✓ |
| videochannel | ✓ | ✓ | ✓ |
Легенда:
- ✓ - работает
- ✗ - не поддерживается
- ⚠️ - работает, но не желательно
Рекомендуемая комбинация: wbstream + datachannel - максимальная скорость, минимальный пинг.
Скорость по убыванию: datachannel > vp8channel > seichannel > videochannel
Обязательные флаги
| Флаг | Что вводить |
|---|---|
-mode |
srv на сервере, cnc на клиенте |
-carrier |
telemost, jazz или wbstream |
-transport |
datachannel, vp8channel, seichannel или videochannel |
-id |
Room ID. Для jazz/wbstream можно any - сгенерируется автоматически |
-client-id |
Общий идентификатор клиента. Должен совпадать на сервере и клиенте |
-key |
Ключ шифрования hex 64 символа. Генерация: openssl rand -hex 32 |
-link |
Всегда direct |
-data |
Всегда data |
-dns |
DNS-сервер, например 1.1.1.1:53 |
Необязательные флаги
| Флаг | Описание |
|---|---|
--debug |
Подробные логи соединений |
Флаги только для сервера (-mode srv)
| Флаг | Описание |
|---|---|
-socks-proxy |
Адрес SOCKS5-прокси для исходящего трафика сервера |
-socks-proxy-port |
Порт этого прокси |
Флаги только для клиента (-mode cnc)
| Флаг | Описание | По умолчанию |
|---|---|---|
-socks-host |
На каком адресе поднять SOCKS5 | 127.0.0.1 |
-socks-port |
На каком порту поднять SOCKS5 | 1080 |
datachannel
Дополнительных флагов нет - всё по умолчанию.
vp8channel
Рекомендуется: -vp8-fps 60 -vp8-batch 64 (числа лучше чётные, больший batch = выше скорость)
| Флаг | Описание | По умолчанию |
|---|---|---|
-vp8-fps |
FPS VP8 потока | 25 |
-vp8-batch |
Кадров за тик | 1 |
seichannel
Рекомендуется: -fps 60 -batch 64 -frag 900 -ack-ms 2000
| Флаг | Описание | По умолчанию |
|---|---|---|
-fps |
FPS H264 потока | 60 |
-batch |
Кадров за тик | 64 |
-frag |
Размер фрагмента в байтах | 900 |
-ack-ms |
Таймаут ACK в миллисекундах | 2000 |
videochannel
Рекомендуется: -video-codec qrcode -video-w 1080 -video-h 1080 -video-fps 60 -video-bitrate 5000k -video-hw none
| Флаг | Описание | По умолчанию |
|---|---|---|
-video-codec |
qrcode или tile |
qrcode |
-video-w |
Ширина в пикселях | 1920 |
-video-h |
Высота в пикселях | 1080 |
-video-fps |
FPS | 30 |
-video-bitrate |
Битрейт, например 2M или 5000k |
2M |
-video-hw |
Аппаратное ускорение: none или nvenc |
none |
-video-qr-recovery |
Коррекция ошибок QR: low / medium / high / highest |
low |
-video-qr-size |
Размер фрагмента QR в байтах, 0 = авто |
0 |
-video-tile-module |
Размер тайла в пикселях 1..270 (только tile) |
4 |
-video-tile-rs |
Reed-Solomon паритет % 0..200 (только tile) |
20 |
Для codec tile нужно точно 1080x1080.
Готовые команды
wbstream + datachannel (рекомендуется - максимальная скорость, без бана)
# сервер - room ID создастся сам, смотри логи
./olcrtc -mode srv -carrier wbstream -transport datachannel \
-id any -client-id <client-id> -key <hex-key> -link direct -data data -dns 1.1.1.1:53
# клиент
./olcrtc -mode cnc -carrier wbstream -transport datachannel \
-id <room-id> -client-id <client-id> -key <hex-key> -link direct -data data -dns 1.1.1.1:53 \
-socks-host 127.0.0.1 -socks-port 1080
telemost + vp8channel
# сервер
./olcrtc -mode srv -carrier telemost -transport vp8channel \
-id <room-id> -client-id <client-id> -key <hex-key> -link direct -data data \
-vp8-fps 60 -vp8-batch 64
# клиент
./olcrtc -mode cnc -carrier telemost -transport vp8channel \
-id <room-id> -client-id <client-id> -key <hex-key> -link direct -data data \
-socks-host 127.0.0.1 -socks-port 1080 \
-vp8-fps 60 -vp8-batch 64
telemost + seichannel
# сервер
./olcrtc -mode srv -carrier telemost -transport seichannel \
-id <room-id> -client-id <client-id> -key <hex-key> -link direct -data data \
-fps 60 -batch 64 -frag 900 -ack-ms 2000
# клиент
./olcrtc -mode cnc -carrier telemost -transport seichannel \
-id <room-id> -client-id <client-id> -key <hex-key> -link direct -data data \
-socks-host 127.0.0.1 -socks-port 1080 \
-fps 60 -batch 64 -frag 900 -ack-ms 2000
telemost + videochannel (крайний случай)
# сервер
./olcrtc -mode srv -carrier telemost -transport videochannel \
-id <room-id> -client-id <client-id> -key <hex-key> -link direct -data data \
-video-codec qrcode -video-w 1080 -video-h 1080 \
-video-fps 60 -video-bitrate 5000k -video-hw none
# клиент
./olcrtc -mode cnc -carrier telemost -transport videochannel \
-id <room-id> -client-id <client-id> -key <hex-key> -link direct -data data \
-socks-host 127.0.0.1 -socks-port 1080 \
-video-codec qrcode -video-w 1080 -video-h 1080 \
-video-fps 60 -video-bitrate 5000k -video-hw none
Подробнее про запуск: Быстрый старт · Мануальная сборка
URI-формат для клиентов: uri.md · Формат подписки
