mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-05-26 07:08:11 +00:00
docs: clarify wbstream datachannel limitations
This commit is contained in:
@@ -393,8 +393,9 @@ Carrier - это WebRTC сервис видеозвонков, через кот
|
||||
- Сервис трансляций от Wildberries: `stream.wb.ru`
|
||||
- **Рекомендуется** - самый стабильный
|
||||
- Минимальная прослойка, почти прямой relay
|
||||
- Работает со всеми транспортами: datachannel, vp8channel, seichannel, videochannel
|
||||
- Поддерживает автогенерацию Room ID (`mode: gen`)
|
||||
- Работает с vp8channel, seichannel, videochannel
|
||||
- DataChannel поддерживается условно: WB Stream должен выдать участникам право `canPublishData`, обычно через модераторские/permission права комнаты. В обычном guest flow DC не рекомендуется.
|
||||
- Room ID нужно создавать вручную через stream.wb.ru
|
||||
- Инициализация звонка автоматически
|
||||
|
||||
---
|
||||
@@ -409,8 +410,8 @@ Transport определяет как именно данные упаковыв
|
||||
|
||||
- Лимит payload: 12KB на сообщение (ограничение SFU)
|
||||
- Надёжный, упорядоченный (SCTP гарантирует)
|
||||
- Работает с jazz (нежелательно - банят) и wbstream
|
||||
- **Лучшая комбинация: `wbstream + datachannel`**
|
||||
- Работает с jazz (нежелательно - банят) и условно с wbstream
|
||||
- WB Stream DataChannel требует `canPublishData=true` у участников. Без модераторских/permission прав WB Stream может поднять соединение, но не маршрутизировать data packets.
|
||||
|
||||
### vp8channel
|
||||
|
||||
@@ -582,7 +583,7 @@ cd olcrtc
|
||||
# генерация ключа
|
||||
openssl rand -hex 32
|
||||
|
||||
# создать конфиг (пример: wbstream + datachannel)
|
||||
# создать конфиг (пример: wbstream + vp8channel)
|
||||
cat > server.yaml <<EOF
|
||||
mode: srv
|
||||
link: direct
|
||||
@@ -593,7 +594,7 @@ room:
|
||||
crypto:
|
||||
key: "REPLACE_WITH_64_HEX"
|
||||
net:
|
||||
transport: datachannel
|
||||
transport: vp8channel
|
||||
dns: "1.1.1.1:53"
|
||||
data: data
|
||||
EOF
|
||||
@@ -612,7 +613,7 @@ room:
|
||||
crypto:
|
||||
key: "REPLACE_WITH_64_HEX"
|
||||
net:
|
||||
transport: datachannel
|
||||
transport: vp8channel
|
||||
dns: "1.1.1.1:53"
|
||||
socks:
|
||||
host: "127.0.0.1"
|
||||
@@ -702,8 +703,8 @@ olcrtc://<Carrier>?<Transport><payload>@<RoomID>#<Key>$<MIMO>
|
||||
|
||||
**Примеры:**
|
||||
```
|
||||
olcrtc://wbstream?datachannel@room-01#d823fa...$RU / olc free sub
|
||||
olcrtc://wbstream?vp8channel<vp8-fps=60&vp8-batch=64>@room-01#d823fa...$RU
|
||||
olcrtc://wbstream?datachannel@room-01#d823fa...$RU / requires canPublishData
|
||||
olcrtc://telemost?seichannel<fps=60&batch=64&frag=900&ack-ms=2000>@room-01#d823fa...$RU
|
||||
```
|
||||
|
||||
@@ -717,7 +718,7 @@ olcrtc://telemost?seichannel<fps=60&batch=64&frag=900&ack-ms=2000>@room-01#d823f
|
||||
#refresh: 10m
|
||||
#icon: 🇷🇺
|
||||
|
||||
olcrtc://wbstream?datachannel@room-01#key$RU / free
|
||||
olcrtc://wbstream?vp8channel<vp8-fps=60&vp8-batch=64>@room-01#key$RU / free
|
||||
##name: RU-1
|
||||
##ip: 1.2.3.4
|
||||
##comment: basic free node
|
||||
@@ -731,7 +732,7 @@ olcrtc://wbstream?datachannel@room-01#key$RU / free
|
||||
|
||||
| Transport | telemost | jazz | wbstream |
|
||||
|---|:---:|:---:|:---:|
|
||||
| datachannel | - | `*` | `+` |
|
||||
| datachannel | - | `*` | `!` |
|
||||
| vp8channel | `+` | `+` | `+` |
|
||||
| seichannel | - | `+` | `+` |
|
||||
| videochannel | `+` | `+` | `+` |
|
||||
@@ -739,14 +740,15 @@ olcrtc://wbstream?datachannel@room-01#key$RU / free
|
||||
- `+` работает
|
||||
- `-` не поддерживается
|
||||
- `*` работает, но jazz банит IP за паттерны datachannel трафика
|
||||
- `!` работает только если WB Stream выдал участникам право `canPublishData` (обычно через модераторские/permission права)
|
||||
|
||||
**Рекомендуется:** `wbstream + datachannel` - максимальная скорость, минимальный пинг, без бана.
|
||||
**Рекомендуется для wbstream:** `vp8channel` как обычный режим. `wbstream + datachannel` быстрый, но не рекомендуется без модераторских прав: в guest flow WB Stream может выдавать токены с `canPublishData=false`, и DC не будет маршрутизировать данные.
|
||||
|
||||
**Скорость по убыванию:** `datachannel` > `vp8channel` > `seichannel` > `videochannel`
|
||||
|
||||
|
||||
|
||||
**Рекордный замер:** на связке `wbstream + datachannel` (test by `x2827262628281872727`) зафиксированы пинг **7 мс** и скорость **792.62 Mbps на вход / 749.69 Mbps на выход** - максимум, измеренный через olcRTC.
|
||||
**Рекордный замер:** на связке `wbstream + datachannel` (test by `x2827262628281872727`) зафиксированы пинг **7 мс** и скорость **792.62 Mbps на вход / 749.69 Mbps на выход** - максимум, измеренный через olcRTC. Сейчас этот режим зависит от WB Stream permission `canPublishData` и не считается рекомендуемым для обычного guest flow.
|
||||
|
||||
<img src="asset/speedtest.png" alt="speedtest" width="400">
|
||||
|
||||
|
||||
@@ -116,12 +116,12 @@ Enter choice [1-4, default: 1]:
|
||||
```
|
||||
|
||||
Рекомендации:
|
||||
- **datachannel** - самый быстрый, минимальный пинг. Работает с `jazz` и `wbstream`. **Jazz банит IP за datachannel** - лучше используй только с `wbstream`.
|
||||
- **datachannel** - самый быстрый, минимальный пинг. Работает с `jazz` и условно с `wbstream`. **Jazz банит IP за datachannel**; **WBStream DC требует `canPublishData`/модераторские права у участников**, поэтому для обычного guest flow не рекомендуется.
|
||||
- **vp8channel** - работает везде, быстрый, но большой пинг.
|
||||
- **seichannel** - работает везде кроме telemost, медленный, но мелкий пинг.
|
||||
- **videochannel** - работает везде, самый медленный и большой пинг.
|
||||
|
||||
**Лучшая комбинация: `wbstream + datachannel`** - максимальная скорость, минимальный пинг, без риска бана.
|
||||
**Рекомендуемая комбинация для wbstream: `wbstream + vp8channel`**. `wbstream + datachannel` используй только если участникам выданы права на отправку data packets.
|
||||
|
||||
### Room ID
|
||||
|
||||
|
||||
@@ -147,10 +147,12 @@ openssl rand -hex 32
|
||||
|
||||
На серверной машине (VPS и т.д.). Подбери нужную комбинацию carrier + transport из матрицы в [settings.md](settings.md).
|
||||
|
||||
### wbstream + datachannel (рекомендуется - максимальная скорость и пинг)
|
||||
### wbstream + vp8channel (рекомендуется)
|
||||
|
||||
Сначала создай руму вручную через сайт [wbstream](https://stream.wb.ru) (автогенерация через `mode: gen` для wbstream больше не поддерживается) и сохрани её ID.
|
||||
|
||||
`wbstream + datachannel` поддерживается только если участникам выданы права на отправку data packets (`canPublishData=true`), обычно через модераторские/permission права комнаты. В обычном guest flow DC не рекомендуется.
|
||||
|
||||
Создай YAML конфиг:
|
||||
|
||||
```yaml
|
||||
@@ -164,7 +166,7 @@ room:
|
||||
crypto:
|
||||
key: "d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799"
|
||||
net:
|
||||
transport: datachannel
|
||||
transport: vp8channel
|
||||
dns: "1.1.1.1:53"
|
||||
data: data
|
||||
```
|
||||
@@ -182,7 +184,7 @@ Room ID нужно передать клиенту.
|
||||
Добавь `debug: true` в YAML конфиг - увидишь каждое соединение:
|
||||
|
||||
```
|
||||
2026/05/03 08:05:23 Connecting link via direct/datachannel/wbstream...
|
||||
2026/05/03 08:05:23 Connecting link via direct/vp8channel/wbstream...
|
||||
2026/05/03 08:05:25 wbstream publisher state: connected
|
||||
2026/05/03 08:05:27 Link connected
|
||||
2026/05/03 08:05:43 sid=3 connect icanhazip.com:443
|
||||
@@ -195,7 +197,7 @@ Room ID нужно передать клиенту.
|
||||
|
||||
На своей машине. Auth provider, transport, room ID и key должны совпадать с сервером.
|
||||
|
||||
### wbstream + datachannel
|
||||
### wbstream + vp8channel
|
||||
|
||||
```yaml
|
||||
# client.yaml
|
||||
@@ -208,7 +210,7 @@ room:
|
||||
crypto:
|
||||
key: "<hex-key>"
|
||||
net:
|
||||
transport: datachannel
|
||||
transport: vp8channel
|
||||
dns: "1.1.1.1:53"
|
||||
socks:
|
||||
host: "127.0.0.1"
|
||||
@@ -239,7 +241,7 @@ room:
|
||||
crypto:
|
||||
key: "<hex-key>"
|
||||
net:
|
||||
transport: datachannel
|
||||
transport: vp8channel
|
||||
dns: "1.1.1.1:53"
|
||||
socks:
|
||||
host: "127.0.0.1"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
| Transport | telemost | jazz | wbstream |
|
||||
|-----------|:--------:|:----:|:--------:|
|
||||
| datachannel | - | * | + |
|
||||
| datachannel | - | * | ! |
|
||||
| vp8channel | + | + | + |
|
||||
| seichannel | - | + | + |
|
||||
| videochannel | + | + | + |
|
||||
@@ -23,8 +23,9 @@
|
||||
- `+` - работает
|
||||
- `-` - не поддерживается
|
||||
- `*` - работает, но не желательно
|
||||
- `!` - работает только если участникам выданы права на отправку data packets (`canPublishData`), обычно через модераторские права
|
||||
|
||||
**Рекомендуемая комбинация: `wbstream + datachannel`** - максимальная скорость, минимальный пинг.
|
||||
**Рекомендуемая комбинация для wbstream: `wbstream + vp8channel`**. `wbstream + datachannel` быстрый, но в обычном guest/anonymous flow WB Stream выдаёт токены с `canPublishData=false`; без выдачи участникам модераторских/permission прав DC не маршрутизирует данные и поэтому не рекомендуется.
|
||||
|
||||
Скорость по убыванию: `datachannel` > `vp8channel` > `seichannel` > `videochannel`
|
||||
|
||||
@@ -162,7 +163,9 @@ gen:
|
||||
|
||||
## Готовые конфиги
|
||||
|
||||
### wbstream + datachannel (рекомендуется - максимальная скорость, без бана)
|
||||
### wbstream + datachannel (не рекомендуется без модераторских прав)
|
||||
|
||||
WB Stream DataChannel работает только когда участникам выданы права на отправку data packets (`canPublishData=true`), обычно через модераторские/permission права комнаты. В обычном guest flow WB Stream может выдавать токены с `canPublishData=false`, тогда соединение поднимется, но данные через DC не пойдут. Для обычного использования выбирай `vp8channel`, `seichannel` или `videochannel`.
|
||||
|
||||
```yaml
|
||||
# room ID нужно создать вручную через https://stream.wb.ru
|
||||
@@ -201,7 +204,7 @@ socks:
|
||||
data: data
|
||||
```
|
||||
|
||||
### wbstream + datachannel + SOCKS5 аутентификация
|
||||
### wbstream + datachannel + SOCKS5 аутентификация (только с модераторскими правами)
|
||||
|
||||
```yaml
|
||||
# client.yaml с логином и паролем на прокси
|
||||
|
||||
@@ -154,7 +154,7 @@ olcrtc://wbstream?datachannel@abc123xyz#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
##name: DE-Backup
|
||||
##icon: 🇩🇪
|
||||
##color: #2EBD85
|
||||
##comment: reserve route, wbstream+datachannel - max speed
|
||||
##comment: reserve route, wbstream+datachannel requires canPublishData/moderator permissions
|
||||
```
|
||||
|
||||
## Имплементация клиента для подписок
|
||||
|
||||
@@ -113,13 +113,13 @@ Payload не используется.
|
||||
|
||||
## Примеры
|
||||
|
||||
### wbstream + datachannel (рекомендуется)
|
||||
### wbstream + datachannel (только с permission rights)
|
||||
|
||||
```text
|
||||
olcrtc://wbstream?datachannel@room-01#d823fa01cb3e0609b67322f7cf984c4ee2e4ce2e294936fc24ef38c9e59f4799$RU / olc free sub / IPv6
|
||||
```
|
||||
|
||||
Payload не нужен - datachannel параметров не имеет.
|
||||
Payload не нужен - datachannel параметров не имеет. Для WBStream этот режим не рекомендуется в обычном guest flow: участникам нужны права на отправку data packets (`canPublishData=true`), обычно через модераторские/permission права комнаты.
|
||||
|
||||
### Эквивалент YAML
|
||||
|
||||
|
||||
Reference in New Issue
Block a user