Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
themeRDark
codecs_exclude_sfu=alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,flv,mpv,vp8,h265
webrtc_cc_min_bitrate=1000000
profiles=42e01f,640028

...

1. Откройте пример SFU client в браузере, например https://demo.flashphoner.com:8888/client2/sfu/examples/client/main.html, введите URL сервера, имя комнаты, пин-код и имя пользователя, нажмите Enter

...

Если участник публикует более одного потока с камеры, на WCS будет доступен только один поток.

Поддержка TURN

Поскольку для публикации и проигрывания аудио и видео дорожек в браузере используется стандартный объект RTCPeerConnection , работа через TURN сервер настраивается при создании этого объекта. Например, по умолчанию потоки в примере SFU Two Way Streaming публикуются напрямую:

code

Code Block
languagejs
themeRDark
pc = new RTCPeerConnection();
...

Если необходимо использовать TURN сервер, например, встроенный TURN сервер WCS, код должен быть изменен следующим образом:

Code Block
languagejs
themeRDark
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

...

Решение: открыт баг в Chromium, до исправления этого бага (исправлен в версии Chrome 98.0.4736.0) публиковать поток, захваченный с какого-либо окна на экране, в одном качестве (без Simulcast)