React Native lib-jitsi-meet — аудио / видео дорожки не добавляются в конференцию

#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. Вы нашли какое-либо решение?