Рендеринг видео удаленных пользователей на устройствах iOS прерывистый при использовании @zoom/react-native-videosdk. Видеопоток от удаленных участников работает случайным образом — иногда отображается правильно, иногда вообще не рендерится. Эта проблема не возникает на устройствах Android, где удаленное видео обрабатывается стабильно.
Для воспроизведения
Шаги для воспроизведения поведения:
- Инициализируйте сеанс Zoom Video SDK на устройстве iOS
- Присоединитесь к сеансу Zoom с помощью Zoom.joinSession()
- Пусть удаленный пользователь присоединится к тому же сеансу (через Интернет или мобильное устройство)
- Отображение видео удаленного пользователя с помощью компонента ZoomView с его идентификатором пользователя
- Обратите внимание, что видеопоток удаленного пользователя периодически не отображается
Компонент ZoomView должен последовательно отображать видеопотоки удаленных участников на iOS, аналогично надежному поведению на Android. Как только удаленный пользователь присоединяется и его видео включено, его видеопоток должен отображаться в компоненте ZoomView.
Снимки экрана
https://github.com/user-attachments/ass ... 3d22c83527
https://github.com/user-attachments/ass ... 30d053c995
Версия среды: (заполните следующую информацию):
- React Native: 0.81.5
- Expo: ^54.0.31
- Zoom Video SDK: @zoom/react-native-videosdk@^2.4.0
- Узел: (ваша версия)
- Cocoapods: (ваша) версия)
- Устройство: iPhone
- ОС: iOS
- Рабочая платформа: Android (все протестированные версии работают корректно)
Реализация кода:
Код: Выделить всё
Код: Выделить всё
await zoom.joinSession({
sessionName: sessionName,
token: token,
userName: userName,
audioOptions: {
connect: true,
mute: false,
autoAdjustSpeakerVolume: false,
},
videoOptions: {
localVideoOn: Platform.OS === 'android' ? false : true,
},
sessionIdleTimeoutMins: 10,
});
- Присоединения удаленных пользователей корректно определяются с помощью EventType.onUserJoin.
- Список пользователей правильно обновляется при работе с удаленными пользователями.
- Удаленный рендеринг видео прерывистый — иногда работает, в других случаях происходит сбой
- Аудио от удаленных пользователей работает надежно
- Устройства Android стабильно воспроизводят удаленное видео
- Проблема возникает, когда удаленные пользователи присоединяются через Интернет или другие мобильные клиенты
- Когда удаленное видео работает изначально: если удаленный пользователь (веб) клиент) выключает свою камеру, экран устройства iOS зависает на последнем видеокадре вместо отображения заполнителя или пустого экрана.
- Замороженный кадр сохраняется, даже если срабатывает EventType.onUserVideoStatusChanged.
Когда пульт дистанционного управления видео пользователя успешно рендерится, и он выключает камеру:
- Ожидается: ZoomView должен очистить видео или показать заполнитель
- Реально на iOS: экран зависает на последнем кадре видео
- Фактически на Android: работает правильно — видео очищается или отображается заполнитель.
- Событие EventType.onUserVideoStatusChanged срабатывает правильно, но компонент ZoomView на iOS не обновляется, чтобы отразить изменение статуса видео.
Подробнее здесь: https://stackoverflow.com/questions/798 ... mera-disab
Мобильная версия