...
Контроль наличия медиа трафика работает только при публикации, но не при проигрывании потоков.
Отключение контроля активности видео и аудио дорожек по имени потока
В сборке 5.2.1784 добавлена возможность отключить контроль активности видео и аудио дорожек в потоках, имя которых совпадает с регулярным выражением
Code Block | ||
---|---|---|
| ||
rtp_activity_audio_exclude=stream1
rtp_activity_video_exclude=stream1 |
Это может быть полезно для потоков, трафик в которых может останавливаться на длительное время, например, для потоков с экрана или окна приложения:
Code Block | ||
---|---|---|
| ||
rtp_activity_audio_exclude=.*-screen$
rtp_activity_video_exclude=.*-screen$ |
В данном случае контроль активности не будет применяться к потокам с именами conference-123-user-456-screen
Если браузер Chrome публикует пустое видео при занятой веб-камере
...
Code Block | ||||
---|---|---|---|---|
| ||||
session.createStream({ name: streamName, display: localVideo, cacheLocalResources: true, receiveVideo: false, receiveAudio: false, videoContentHint: "detail" ... }).publish(); |
По умолчанию, В сборках WebSDK до 2.0.242 эта опция по умолчанию установлена в detail
и указывает браузеру удерживать разрешение, заданное в constraints при публикации. Однако, при публикации с некоторых веб камер, подключаемых по USB, браузер может в этом случае сбрасывать FPS. Если необходимо удерживать FPS, но разрешение публикации при этом не важно, необходимо установить опцию в motion
Code Block | ||||
---|---|---|---|---|
| ||||
session.createStream({ name: streamName, display: localVideo, cacheLocalResources: true, receiveVideo: false, receiveAudio: false, videoContentHint: "motion" ... }).publish(); |
Начиная со сборки 2.0.242, videoContentHint
установлена в motion
по умолчанию. Значения detail
или text
следует выбирать только при публикации экрана в браузере.
В сборке WebSDK 2.0.204 в пример Media Devices добавлен пример установки опции videoContentHint
...
Симптомы: страница в iOS Safari 15.1 крашится при старте публикации потока (баги Webkit https://bugs.webkit.org/show_bug.cgi?id=232381 и https://bugs.webkit.org/show_bug.cgi?id=231505)
Решение:
a) включить поддержку ориентации изображения на стороне клиента для iOS Safari
Code Block | ||||
---|---|---|---|---|
| ||||
session.createStream({
name: streamName,
...
cvoExtension: true
}).publish(); |
и в сборках сервера до 5.2.1074 отключить поддержку RTP bundle
Code Block | ||
---|---|---|
| ||
rtp_bundle=false |
Начиная со сборки 5.2.1074 поддержку RTP bundle отключать не требуется
b) использовать VP8 для публикации.org/show_bug.cgi?id=231505)
Решение:
a) включить поддержку ориентации изображения на стороне клиента для iOS Safari
Code Block | ||||
---|---|---|---|---|
| ||||
session.createStream({ name: streamName, ... stripCodecscvoExtension: "H264"true }).publish(); |
18. В Safari 16 переключение в полноэкранный режим работает только в случае, если для HTML5 видео элемента включены стандартные элементы управления
Симптомы: при переключении в полноэкранный режим видео не отображается, аудио продолжает играть, при нескольких переключениях подряд страница может зависнуть
Решение: обновить Web SDK до сборки 2.0.224 и включить стандартные элементы управления в плеере при помощи опции useControls
:и в сборках сервера до 5.2.1074 отключить поддержку RTP bundle
Code Block | ||
---|---|---|
| ||
rtp_bundle=false |
Начиная со сборки 5.2.1074 поддержку RTP bundle отключать не требуется
b) использовать VP8 для публикации
Code Block | ||||
---|---|---|---|---|
| ||||
function playStream(session) { var streamName = $('#streamName').val(); var options = .createStream({ name: streamName, display: remoteVideo, useControls: true }; ... stream = session.createStream(options).on(STREAM_STATUS.PENDING, function (stream) { ... }); stream.play(); }stripCodecs: "H264" }).publish(); |