#jitsi #video-conferencing #jitsi-meet
#jitsi #видеоконференцсвязь #jitsi-meet
Вопрос:
Мы пытаемся создать мобильное приложение React Native для Jitsi с нуля, используя lib-jitsi-meet API, и у нас есть собственный jitsi-meet на сервере AWS, и мы следовали руководству по быстрой установке. Для целей этого поста URL-адрес является https://jitsimeet.example.com
.
В приложении React Native мы можем присоединиться к конференции под названием test1
using JitsiMeetJS.initJitsiConference
. После присоединения пользователь отображается в браузере как «Fellow Jitster» по адресу jitsimeet.example.com/test1
, но треки (видео / аудио), которые мы добавляем в конференцию (из мобильного приложения React Native), не видны, а в браузере просто написано «Участник остановил камеру» и «Участник отключен».
Мы попробовали meet.jit.si
amp; beta.meet.jit.si
в нашем приложении React Native, чтобы проверить, связана ли проблема с нашей серверной установкой. Но они тоже не работали.
Мы также пробовали использовать ту же конференцию jitsimeet.example.com/test1
в браузере и в мобильном приложении jitsi-meet, и они оба работают нормально, без каких-либо проблем.
Мы также настроили репозиторий jitsi-meet локально. При запуске части React Native в эмуляторе Android она работает нормально (как присоединение к конференции, так и рендеринг аудио / видео дорожек).
Из приведенных выше наблюдений кажется, что проблема возникает из-за нашей реализации приложения React Native.
Наш код для компонента, который инициирует конференцию, можно найти здесь. Здесь вы можете найти ссылку на наш репозиторий. Чтобы запустить его, просто выполните npm i
и npx react-native run-android
. Мы используем полизаполнения в нашем коде react-native, как указано в репозитории jitsi-meet.
В журналах jicofo на нашем сервере мы смогли увидеть, что когда пользователи присоединяются через Веб или мобильное приложение jitsi-meet, мы получаем:
org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1@conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Got session-accept from: test1@conference.jitsimeet.example.com/2502e6ad
org.jitsi.jicofo.JitsiMeetConferenceImpl.log() Received session-accept from test1@conference.jitsimeet.example.com/2502e6ad with accepted sources:Sources{ video: [ssrc=467278592 ssrc=2301072636 ssrc=839807103 ssrc=3616291734 ssrc=2331517151 ssrc=3181098946 ] audio: [ssrc=2795704819 ] }@2129717334
В то время как, когда мы присоединяемся через наше приложение React Native, мы получаем только:
org.jitsi.jicofo.ParticipantChannelAllocator.log() Sending session-initiate to: test1@conference.jitsimeet.example.com/946022e6
Дополнительная информация, которая может оказаться актуальной
На стороне клиента мы добавляем дорожки после запуска CONFERENCE_JOINED
события, затем мы получаем следующие журналы
[JitsiConference.js] _doReplaceTrack - no JVB JingleSession
[JitsiConference.js] _doReplaceTrack - no P2P JingleSession
Как упоминалось выше, мы можем присоединиться к конференции из нашего приложения react native, и мы получаем CONFERENCE_JOINED
, USER_JOINED
USER_LEFT
события.
TRACK_ADDED
Событие также запускается локально сразу после добавления локальных дорожек. Но он не запускается при любых изменениях видео / общего доступа к рабочему столу / аудио, происходящих на других удаленных клиентах (веб-браузере или мобильном приложении jitsi-meet).
Как мы можем это исправить?
Комментарии:
1. Вы нашли какое-либо решение?