...
Chrome | Firefox | Safari 11 | Edge | ||
---|---|---|---|---|---|
Windows | + | + | + | ||
Mac OS | + | + | + | ||
Android | + | + | |||
iOS | - | -+ (iOS 14.4) | + (iOS 14.4) | + |
Схема работы
- Браузер соединяется с сервером по протоколу Websocket и отправляет команду publish.
- Браузер захватывает микрофон и камеру и отправляет WebRTC поток на сервер.
- Второй браузер устанавливает соединение также по Websocket и отправляет команду play.
- Второй браузер получает WebRTC поток и воспроизводит этот поток на странице.
...
Code Block | ||||
---|---|---|---|---|
| ||||
publishStream = session.createStream({
...
disableConstraintsNormalization: true,
constraints: {
video: {
width: {ideal: 1024},
height: {ideal: 768}
},
audio: true
}
}).on(STREAM_STATUS.PUBLISHING, function (publishStream) {
...
});
publishStream.publish(); |
...
не применяется. Отсчет интервала ICE keep alive активируется автоматически, если WCS начинает первым высылать STUN keep alive пакеты, например, при входящем звонке или при публикации WebRTC потока на на другой сервер
13. MacOS Safari 14.0.2 (MacOS 11) не публикует поток со встроенной камеры MacBook с соотношением сторон 4:3
Симптомы: в примере Two Way Streaming, Stream Recording и других публикация начинается, но в течение 10 секунд прекращается отправка видео пакетов, при проигрывании потока виден черный экран, публикация завершается по отсутствию видео трафика
Решение:
a) Публиковать поток с соотношением сторон 16:9 (например, 320x180, 640x360 и т.д.)
Code Block | ||||
---|---|---|---|---|
| ||||
publishStream = session.createStream({
...
constraints: {
video: {
width: 640,
height: 360
},
audio: true
}
}).on(STREAM_STATUS.PUBLISHING, function (publishStream) {
...
});
publishStream.publish(); |
b) Обновить Web SDK до сборки 0.5.28.2753.153, где разрешение по умолчанию для Safari приведено к 16:9
c) Обновить MacOS до 11.3.1, Safari до 14.1 (16611.1.21.161.6)
14. При исключении профилей кодирования H264 потоки, опубликованные на Origin сервере в CDN, не играют на Edge
Симптомы: WebRTC поток H264, опубликованный на Origin, играет на Edge как аудио поток, в метриках отображается кодек VP8
Решение: при исключении профилей кодирования на Origin
Code Block | ||
---|---|---|
| ||
webrtc_sdp_h264_exclude_profiles=4d,64 |
указать на Edge разрешенные профили в настройке
Code Block | ||
---|---|---|
| ||
profiles=42e01f |
15. MacOS Safari 14.0.* после того, как видео заглушено, затем снова включено, перестает высылать видео пакеты из-за бага Webkit
Симптомы: после применения muteVideo(), затем unmuteVideo() публикация прекращается через минуту с ошибкой Failed by Video RTP activity
Решение: обновить MacOS до 11.3.1, Safari до 14.1 (16611.1.21.161.6), в данной сборке баг Webkit исправлен, проблема не воспроизводится