0

我一直在使用Janus Gateway服务器为 Vuejs 应用程序提供 WebRTC 流。

为了设置 WebRTC 连接并将视频元素绑定到媒体流对象,我尝试了两个不同的客户端。我在本地 janus.js 以及使用这个gist的janus-api客户端上都取得了成功。

这两个库都启动了与 RESTAPI 和 Websocket Janus Api 的连接,我在浏览器中得到了预期的视频流。

但是,当我离开页面并返回时,我无法查看视频源。我正在使用 vue-router 来破坏包括视频元素以及 janus 会话和插件在内的组件。这不会重新加载浏览器页面(如果我这样做,它会按预期工作)。

来自 janus 客户端的所有浏览器控制台日志在第一次和第二次访问页面时都是相同的。没有错误所有握手都成功。唯一的区别是它们没有显示流。

是否可以在不重新加载页面的情况下建立第二个 webrtc 连接,即使在第一个被破坏之后也是如此?

4

1 回答 1

0

问题原来是由于我在页面更改时停止发送 Janus 服务器帧。这导致 UDP 流在 janus 服务器内解构。然后在返回页面时重新创建。新流的创建导致 WebRTC 握手失败。我改变了从不停止发送帧的方法,页面更改现在可以正常工作。

于 2018-11-09T22:39:35.837 回答