...
Если участник публикует более одного потока с камеры, на WCS будет доступен только один поток.
Поддержка TURN
Поскольку для публикации и проигрывания аудио и видео дорожек в браузере используется стандартный объект RTCPeerConnection
, работа через TURN сервер настраивается при создании этого объекта. Например, по умолчанию потоки в примере SFU Two Way Streaming публикуются напрямую:
Code Block | ||||
---|---|---|---|---|
| ||||
pc = new RTCPeerConnection();
... |
Если необходимо использовать TURN сервер, например, встроенный TURN сервер WCS, код должен быть изменен следующим образом:
Code Block | ||||
---|---|---|---|---|
| ||||
let connectionConfig = {
iceServers: [
{
urls: 'turn:wcs:3478?transport=tcp',
credential: 'coM77EMrV7Cwhyan',
username: 'flashphoner'
}
],
iceTransportPolicy: "relay"
};
pc = new RTCPeerConnection(connectionConfig);
... |
Здесь:
wcs
- адрес WCS сервера;flashphoner
- имя пользователя встроенного TURN сервера по умолчанию;coM77EMrV7Cwhyan
- пароль встроенного TURN сервера по умолчанию
В этом случае медиа трафик пойдет через TURN сервер, встроенный в WCS. Эту возможность можно использовать также для обертывания WebRTC трафика в TCP при плохом качестве каналов у клиента, т.к. WCS не поддерживает TCP транспорт для SFU потоков.
Известные проблемы
1. Публикация потока, захваченного с какого-либо из окон на экране в нескольких качествах, и сворачивание этого окна приводит к крашу вкладки браузера Chrome
...