ios отображается только первый кадр из трансляции

inpost

Member
Здравствуйте.
Установил последнюю версию web_sdk: 0.5.28.2753.133
Так же обновил сервер до самой последней версии.

При включении трансляции в ios (iphone), показывается первый кадр и он замораживается. Трансляция на сервер идёт корректная, публикуются все кадры, а вот в указанный div в "display" выводится только один кадр. То есть пользователь не видит то, что он транслирует.
Проверяю на PC, этой проблемы нет, на Mac Safari тоже, касается только мобильного safari на ios.

Код я не трогал, до этого была сборка осенняя прошлого года (4 месяца назад) и там показывалась собственная камера при трансляции.

Сам код вызова трансляции:
Code:
session.createStream({
        name: streamName,
        display: localVideo,
        cacheLocalResources: true,
        constraints: {
            audio: false,
            video: {
                width: 640,
                height: 480,
                minBitrate: 600,
                maxBitrate: 1200
            }
        },
        record: recordStream
})
 

Max

Administrator
Staff member
Добрый день,

Уточните, пожалуйста,
- версию iOS и модель iPhone
- есть ли ошибки в консоли
- воспроизводится ли проблема с demo-примерами Web SDK
 

inpost

Member
iOS: 12.4.5 , последний версии. Телефоны все iPhone, и 5s, и Xr, XS.
- Воспроизводится только в iphone, где не знаю как открыть консоль. Есть эмулятор, он выводит:


С Demo проблема не воспроизводится. Конечно, я могу весь код удалить и начать по кусочкам восстанавливать проблему, но может быть вы можете сразу подсказать с чем может быть связана подобная проблема? Потому что на старой версии не было, и в новой только IOS себя так ведёт.
 

inpost

Member
Сравнил код на DEMO, и увидел новую конструкцию:
Code:
Flashphoner.playFirstVideo(localVideo, true, PRELOADER_URL).then(function() {
    publishStream();
});
Теперь обрабатывать надо через then, попробовал и полетело, работает нормально!
 

Max

Administrator
Staff member
Да, playFirstVideo возвращает promise, который разрешается при успешном проигрывании прелоадера. Это описано в документации к WebSDK и касается как воспроизводимого видео, так и локального (отображения трансляции).
 
Top