Невозможно просмотреть поток из Janus-Gateway в Vuejs при смене страницы

Я работал с сервером Janus Gateway, чтобы предоставить поток WebRTC для приложения Vuejs.

Я попробовал два разных клиента, чтобы настроить соединение WebRTC и привязать видеоэлемент к объекту медиапотока. Я добился успеха как с собственным janus.js, так и с клиентом janus-api. используя эту суть.

Обе эти библиотеки инициируют соединение с RESTAPI и Websocket Janus Api, и я получаю видеопоток в браузере, как и ожидалось.

Однако, когда я ухожу со страницы и возвращаюсь, я не могу просматривать видеопоток. Я использую vue-router, который уничтожает компонент, включая видеоэлемент, а также сеанс janus и плагин. Это не перезагружает страницу браузера (если я это сделаю, все будет работать должным образом).

Все журналы консоли браузера от клиентов janus идентичны при первом и втором посещении страницы. Ошибок нет, все рукопожатия проходят успешно. Единственная разница в том, что на них не отображается поток.

Можно ли установить второе соединение webrtc без перезагрузки страницы, даже после того, как первое будет уничтожено?


person Bradley Schwarz    schedule 08.11.2018    source источник


Ответы (1)


Проблема оказалась из-за того, что я перестал отправлять фреймы сервера Janus при смене страницы. Это вызвало деконструкцию потока UDP на сервере janus. Затем воссоздайте, когда страницу вернули. Создание нового потока привело к сбою рукопожатия WebRTC. Я изменил свой подход, чтобы никогда не прекращать отправку кадров, и изменения страниц теперь работают правильно.

person Bradley Schwarz    schedule 09.11.2018