Невозможно просмотреть поток от Janus-Gateway в Vuejs при смене страницы - PullRequest
0 голосов
/ 08 ноября 2018

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

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

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

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

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

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

1 Ответ

0 голосов
/ 10 ноября 2018

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

...