doc: sync doc with sei cfg

This commit is contained in:
zarazaex69
2026-05-07 01:40:32 +03:00
parent 842975f5f9
commit d60f5d4ac8
3 changed files with 98 additions and 41 deletions

View File

@@ -80,10 +80,10 @@ Enter choice [1-4, default: 1]:
```
Рекомендации:
- **datachannel** - самый быстрый (~6 МБ/с), работает везде кроме telemost
- **datachannel** - работает везде помимо telemost, самый быстрый (~6 МБ/с)
- **vp8channel** - работает везде включая telemost, вводи FPS=60, batch=64
- **seichannel** - для wbstream/sber, всё по умолчанию
- **videochannel** - медленный (~200 КБ/с), только в крайнем случае
- **seichannel** - работает везде помимо telemost, вводи всё по умолчанию (FPS=20, batch=1, frag=900, ack-ms=3000)
- **videochannel** - работает везде включая telemost, медленный (~200 КБ/с), только в крайнем случае
### Room ID
@@ -129,6 +129,17 @@ VP8 batch size (frames per tick) [default: 1]: 64
Введи `60` и `64` - это оптимальные значения.
### Параметры транспорта (только для seichannel)
```
SEI FPS [default: 20]: 60
SEI batch size (frames per tick) [default: 1]: 64
SEI fragment size in bytes [default: 900]: 900
SEI ACK timeout in milliseconds [default: 3000]: 2000
```
Нажми Enter для всех - значения по умолчанию оптимальны.
### Результат
После запуска скрипт выведет:
@@ -137,11 +148,11 @@ VP8 batch size (frames per tick) [default: 1]: 64
[+] Server started successfully!
Container name: olcrtc-server
Carrier: telemost
Transport: vp8channel
Room ID: 75587919855134
Carrier: Carrier
Transport: Transport
Room ID: Room ID
Client ID: default
Encryption key: 4fc9ab159c0268a12766be00c0a85138df5905f72c5eb5780c380507ebe0174d
Encryption key: Encryption key
```
**Сохрани Room ID, Client ID и Encryption key** - они нужны для клиента.
@@ -171,7 +182,7 @@ Enter Client ID [default: default]: default
Когда спросит ключ:
```
Enter Encryption Key (hex): 4fc9ab159c0268a12766be00c0a85138df5905f72c5eb5780c380507ebe0174d
Enter Encryption Key (hex): Encryption key
```
Вставь ключ с сервера.
@@ -241,7 +252,3 @@ podman stop olcrtc-client
**`podman: command not found`** - установи podman (см. начало документа).
**`git: command not found`** - установи git.
**Контейнер запустился но curl возвращает домашний IP** - подожди 10-15 секунд после старта, соединение устанавливается не мгновенно.
**Ключ уже есть в `~/.olcrtc_key`** - скрипт не генерирует новый, использует старый. Если хочешь новый - удали файл: `rm ~/.olcrtc_key`.

View File

@@ -141,7 +141,7 @@ openssl rand -hex 32
Это обязательный идентификатор клиента. Он должен совпадать на сервере и клиенте, иначе сервер отклонит соединение.
```sh
CLIENT_ID=my-phone
CLIENT_ID=default
```
Подойдёт любая короткая строка без пробелов: `home-laptop`, `android-01`, `pc`.
@@ -171,12 +171,12 @@ CLIENT_ID=my-phone
Для telemost `-id` - это ID комнаты телемоста. Создай комнату через [telemost.yandex.ru](https://telemost.yandex.ru/) и вставь ID из ссылки.
### jazz + datachannel (максимальная скорость, не работает в telemost)
### wbstream + datachannel (максимальная скорость, не работает в telemost)
```sh
./build/olcrtc-linux-amd64 \
-mode srv \
-carrier jazz \
-carrier wbstream \
-transport datachannel \
-id any \
-client-id "$CLIENT_ID" \
@@ -189,24 +189,40 @@ CLIENT_ID=my-phone
При `-id any` сервер создаст комнату автоматически и напишет ID в логах:
```
Jazz room created: abc123xyz
Wbstream room created: abc123xyz
```
Этот ID нужно передать клиенту.
### wbstream + seichannel
### telemost + seichannel
```sh
./build/olcrtc-linux-amd64 \
-mode srv \
-carrier telemost \
-transport seichannel \
-id 75587912855134 \
-client-id "$CLIENT_ID" \
-key <hex-key> \
-link direct \
-dns 1.1.1.1:53 \
-data data \
-fps 20 -batch 1 -frag 900 -ack-ms 3000
```
### wbstream + datachannel
```sh
./build/olcrtc-linux-amd64 \
-mode srv \
-carrier wbstream \
-transport seichannel \
-transport datachannel \
-id any \
-client-id "$CLIENT_ID" \
-key <hex-key> \
-link direct \
-dns 1.1.1.1:53 \
-data data
-data data \
```
### Добавить отладку
@@ -246,12 +262,30 @@ Jazz room created: abc123xyz
-vp8-batch 64
```
### jazz + datachannel
### telemost + seichannel
```sh
./build/olcrtc-linux-amd64 \
-mode cnc \
-carrier jazz \
-carrier telemost \
-transport seichannel \
-id 75587912855134 \
-client-id "$CLIENT_ID" \
-key <hex-key> \
-link direct \
-dns 1.1.1.1:53 \
-data data \
-socks-host 127.0.0.1 \
-socks-port 1080 \
-fps 20 -batch 1 -frag 900 -ack-ms 3000
```
### wbstream + datachannel
```sh
./build/olcrtc-linux-amd64 \
-mode cnc \
-carrier wbstream \
-transport datachannel \
-id abc123xyz \
-client-id "$CLIENT_ID" \
@@ -277,7 +311,7 @@ SOCKS5 server listening on 127.0.0.1:1080
curl --socks5-hostname 127.0.0.1:1080 https://icanhazip.com
```
Должен вернуть IP сервера, а не домашний.
Должен вернуть IP сервера.
Или выставить переменную чтобы весь трафик шёл через прокси:
@@ -300,15 +334,3 @@ mage lint # запустить линтер
mage podman # собрать образ через podman
mage docker # собрать образ через docker
```
---
## Частые проблемы
**`mage: command not found`** - добавь `~/go/bin` в PATH (см. шаг 3).
**`go.mod:3: invalid go version`** - версия go слишком старая, нужна 1.26+ (см. шаг 2).
**`submodule path ... No such file or directory`** - забыл `--recurse-submodules`. Исправить: `git submodule update --init --recursive`.
**curl возвращает домашний IP** - подожди 10-15 секунд, соединение устанавливается не мгновенно. Смотри логи с `--debug`.

View File

@@ -11,7 +11,7 @@
| seichannel | ✗ | ✓ | ✓ |
| videochannel | ✓ | ✓ | ✓ |
Скорость по убыванию: datachannel (~6 МБ/с) > vp8channel > seichannel > videochannel (~200 КБ/с)
Скорость по убыванию: datachannel > vp8channel > seichannel > videochannel
---
@@ -27,15 +27,15 @@
| `-key` | Ключ шифрования hex 64 символа. Генерация: `openssl rand -hex 32` |
| `-link` | Всегда `direct` |
| `-data` | Всегда `data` |
| `-dns` | DNS-сервер, например `1.1.1.1:53` |
---
## Необязательные флаги
| Флаг | Описание | По умолчанию |
|------|----------|:------------:|
| `-dns` | DNS-сервер | `1.1.1.1:53` |
| `--debug` | Подробные логи соединений | выкл |
| Флаг | Описание |
|------|----------|
| `--debug` | Подробные логи соединений |
---
@@ -89,7 +89,20 @@
---
## seichannel / datachannel
## seichannel
**Рекомендуется: `-fps 60 -batch 64 -frag 900 -ack-ms 2000`**
| Флаг | Описание | По умолчанию |
|------|----------|:------------:|
| `-fps` | FPS H264 потока | `60` |
| `-batch` | Кадров за тик | `64` |
| `-frag` | Размер фрагмента в байтах | `900` |
| `-ack-ms` | Таймаут ACK в миллисекундах | `2000` |
---
## datachannel
Дополнительных флагов нет - всё по умолчанию.
@@ -97,6 +110,21 @@
## Готовые команды
### telemost + seichannel
```sh
# сервер
./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 + vp8channel
```sh