我一直在与Janus Gateway服务器一起为Vuejs应用程序提供WebRTC流。
我尝试了两个不同的客户端,以建立WebRTC连接并将视频元素绑定到mediastream对象。我在使用本机janus-api的本机janus.js和gist客户端上都取得了成功。
这两个库都启动了与RESTAPI和Websocket Janus Api的连接,并且按预期在浏览器中获得了视频流。
但是,当我离开页面返回时,我无法查看视频供稿。我正在使用vue-router破坏包括视频元素以及janus会话和插件的组件。这不会重新加载浏览器页面(如果我这样做,它将按预期工作)。
在第一次和第二次访问该页面时,来自janus客户端的所有浏览器控制台日志都是相同的。没有错误,所有握手均成功。唯一的区别是它们没有显示流。
即使在第一个webrtc连接被销毁后,也可以在不重新加载页面的情况下建立第二个webrtc连接吗?
答案 0 :(得分:0)
原来,该问题是由于在页面更改后我停止发送Janus服务器帧而导致的。这导致UDP流在janus服务器中解构。然后在页面返回时重新创建。新流的创建导致WebRTC握手失败。我更改了方法,从不停止发送帧,并且页面更改现在可以正常工作。