mirror of
https://github.com/openlibrecommunity/olcrtc.git
synced 2026-07-03 14:05:39 +02:00
docs(wbstream): explain datachannel needs moderator token in auth.token
- expand auth.token entry with canPublishData effect on datachannel - note in compatibility matrix and transport table - add moderator-grant screenshots and ru sync - record future auto-grant idea as a docs note
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 220 B |
Binary file not shown.
|
After Width: | Height: | Size: 2.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
+19
-2
@@ -30,7 +30,7 @@
|
||||
|
||||
**Telemost:** only vp8channel passes stably. DataChannel was removed from Telemost. seichannel is not supported. videochannel is slow.
|
||||
|
||||
**WBStream:** all transports except datachannel work. DataChannel does not work in the normal guest flow without being granted moderator - WB Stream issues tokens with `canPublishData=false`, and DC does not route data.
|
||||
**WBStream:** all transports except datachannel work. DataChannel does not work in the normal guest flow without being granted moderator - WB Stream issues tokens with `canPublishData=false`, and DC does not route data. To use `datachannel` over `wbstream`, set `auth.token` to an account/moderator token (`canPublishData=true`); see `auth.token` in the optional fields below.
|
||||
|
||||
**Jitsi:** datachannel passes stably - it is implemented on top of the colibri-ws bridge channel and sends bytes via an `EndpointMessage{raw}` broadcast. It fits self-hosted and public Jitsi Meet instances without authentication (`https://meet.small-dm.ru/...`, `https://meet1.arbitr.ru/...`, `https://meet.handyweb.org/...`, `https://meet.jit.si/...`, etc.). Check in a browser which of the servers is reachable in your network. Video transports (vp8channel, seichannel, videochannel) expose a sendable VideoTrack through the pion PeerConnection after the Jingle session-accept, but Jicofo requires additional protocol steps (LastN, ReceiverVideoConstraints, source-add) to route video - that is why they are marked `~`.
|
||||
|
||||
@@ -61,7 +61,7 @@ Speed in descending order: `datachannel` > `vp8channel` > `seichannel` > `videoc
|
||||
| YAML field | Description |
|
||||
|-----------|----------|
|
||||
| `debug` | `true` for verbose connection logs |
|
||||
| `auth.token` | Pre-issued account token for `wbstream`. When set, the session joins as that account instead of an anonymous guest; empty uses the guest flow. In the guest flow the obtained token is logged once so it can be copied back into this field to keep the same identity |
|
||||
| `auth.token` | Pre-issued account token for `wbstream`. When set, the session joins as that account instead of an anonymous guest; empty uses the guest flow. In the guest flow the obtained token is logged once so it can be copied back into this field to keep the same identity. Practical effect for `datachannel`: a guest token carries `canPublishData=false`, so the SCTP data channel opens but routes no bytes (the tunnel is up and silent); an account token with moderator rights carries `canPublishData=true` and routes data normally. So `datachannel` over `wbstream` requires an `auth.token` with publish rights; on the guest flow use `vp8channel`, `seichannel` or `videochannel` instead. To grant moderator: open the participants list, then the three dots next to the client/server entry, then the `Moderator` button (needed on both sides) |
|
||||
| `profiles` | List of failover profiles for `srv`/`cnc` |
|
||||
| `failover.retry_delay` | Pause before the next profile, e.g. `2s` |
|
||||
| `failover.max_cycles` | How many full passes over the profiles to make; `0` = unlimited |
|
||||
@@ -197,6 +197,23 @@ For codec `tile` exactly `1080x1080` is required.
|
||||
|
||||
WB Stream DataChannel **does not work** in the normal guest flow - WB Stream issues tokens with `canPublishData=false`, and DC does not route data. This mode is marked as expected fail in E2E tests. For normal use pick `vp8channel`, `seichannel` or `videochannel`.
|
||||
|
||||
To make `datachannel` work you need an account/moderator token in `auth.token` (`canPublishData=true`) on both sides. To grant moderator in the WB Stream UI: open the participants list
|
||||
|
||||

|
||||
|
||||
click the three dots next to the client/server entry
|
||||
|
||||

|
||||
|
||||
then press the `Moderator` button
|
||||
|
||||

|
||||
|
||||
> Future work: when joining with a ghost/account token that already holds
|
||||
> moderator rights, the client could be auto-promoted to moderator so
|
||||
> `datachannel` works without manual promotion. Not implemented yet;
|
||||
> moderator is still required on both sides manually.
|
||||
|
||||
```yaml
|
||||
# the room ID must be created manually via https://stream.wb.ru
|
||||
|
||||
|
||||
+19
-1
@@ -30,7 +30,7 @@
|
||||
|
||||
**Telemost:** только vp8channel стабильно проходит. DataChannel удалён из Telemost. seichannel не поддерживается. videochannel - медленно.
|
||||
|
||||
**WBStream:** все транспорты кроме datachannel работают. DataChannel в обычном guest flow без выдавания модератора не работает - WB Stream выдаёт токены с `canPublishData=false`, и DC не маршрутизирует данные.
|
||||
**WBStream:** все транспорты кроме datachannel работают. DataChannel в обычном guest flow без выдавания модератора не работает - WB Stream выдаёт токены с `canPublishData=false`, и DC не маршрутизирует данные. Чтобы использовать `datachannel` поверх `wbstream`, задай `auth.token` с токеном аккаунта/модератора (`canPublishData=true`); см. `auth.token` в необязательных полях ниже.
|
||||
|
||||
**Jitsi:** datachannel стабильно проходит - реализован поверх colibri-ws bridge channel и шлёт байты через `EndpointMessage{raw}` broadcast. Подходит для self-hosted и публичных Jitsi Meet инстансов без аутентификации (`https://meet.small-dm.ru/...`, `https://meet1.arbitr.ru/...`, `https://meet.handyweb.org/...`, `https://meet.jit.si/...` и т.п.). Проверьте в браузере, какой из серверов доступен в вашей сети. Видео-транспорты (vp8channel, seichannel, videochannel) экспонируют sendable VideoTrack через pion PeerConnection после Jingle session-accept, но Jicofo требует дополнительных протокольных шагов (LastN, ReceiverVideoConstraints, source-add) для маршрутизации видео - поэтому они помечены `~` .
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
| YAML поле | Описание |
|
||||
|-----------|----------|
|
||||
| `debug` | `true` для подробных логов соединений |
|
||||
| `auth.token` | Заранее выданный токен аккаунта для `wbstream`. Если задан, сессия подключается под этим аккаунтом, а не анонимным гостем; пустое значение использует guest flow. В guest flow полученный токен один раз пишется в лог, чтобы его можно было вставить в это поле и сохранить ту же личность. Практическое следствие для `datachannel`: guest-токен несёт `canPublishData=false`, поэтому SCTP data channel поднимается, но байты не возит (туннель установлен и молчит); токен аккаунта с правами модератора несёт `canPublishData=true` и возит данные нормально. Значит `datachannel` поверх `wbstream` требует `auth.token` с правами на публикацию; в guest flow используй `vp8channel`, `seichannel` или `videochannel`. Как выдать модератора: открой список участников, потом три точки рядом с записью клиента/сервера, потом кнопку `Модератор` (нужно с обеих сторон) |
|
||||
| `profiles` | Список профилей failover для `srv`/`cnc` |
|
||||
| `failover.retry_delay` | Пауза перед следующим профилем, например `2s` |
|
||||
| `failover.max_cycles` | Сколько полных проходов по профилям сделать; `0` = бесконечно |
|
||||
@@ -197,6 +198,23 @@ transport. Используй одинаковые traffic-настройки н
|
||||
|
||||
WB Stream DataChannel **не работает** в обычном guest flow - WB Stream выдаёт токены с `canPublishData=false`, и DC не маршрутизирует данные. Этот режим помечен как expected fail в E2E тестах. Для обычного использования выбирай `vp8channel`, `seichannel` или `videochannel`.
|
||||
|
||||
Чтобы `datachannel` заработал, нужен токен аккаунта/модератора в `auth.token` (`canPublishData=true`) с обеих сторон. Как выдать модератора в UI WB Stream: открой список участников
|
||||
|
||||

|
||||
|
||||
нажми три точки рядом с записью клиента/сервера
|
||||
|
||||

|
||||
|
||||
потом нажми кнопку `Модератор`
|
||||
|
||||

|
||||
|
||||
> На будущее: когда подключаемся с ghost/account токеном, у которого уже
|
||||
> есть права модератора, клиента можно было бы авто-повышать до модератора,
|
||||
> чтобы `datachannel` работал без ручной выдачи. Пока не реализовано;
|
||||
> модератор всё ещё нужно выдавать вручную с обеих сторон.
|
||||
|
||||
```yaml
|
||||
# room ID нужно создать вручную через https://stream.wb.ru
|
||||
|
||||
|
||||
Reference in New Issue
Block a user