mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-26 07:08:11 +00:00
doc: sync doc with sei cfg
This commit is contained in:
31
docs/fast.md
31
docs/fast.md
@@ -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`.
|
||||
|
||||
@@ -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`.
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user