我一直在与Janus Gateway服务器合作,为Vuejs应用程序提供WebRTC流。
我尝试了两个不同的客户端,以便建立WebRTC连接并将视频元素绑定到媒体流对象。我已经成功地使用了原生janus.js,以及使用此gist的janus-api客户端。
这两个库都启动了与RESTAPI和Websocket Janus Api的连接,我在浏览器中如期获得了一个视频流。
然而,当我离开页面并返回时,我无法查看视频提要。我使用的是vue-router,它破坏了组件,包括视频元素以及janus会话和插件。这不会重新加载浏览器页面(如果我这样做了,它会按预期工作)。
第一次和第二次访问页面时,来自janus客户端的所有浏览器控制台日志都是相同的。没有错误所有握手都成功。唯一的区别是他们没有显示流。
是否可以在不重新加载页面的情况下建立第二个webrtc连接,即使在第一个连接被销毁后也是如此?
发布于 2018-11-10 06:39:36
这个问题被证明是由于当页面改变时我停止发送Janus服务器帧的事实。这导致UDP流在janus服务器中解构。然后在页面返回到时重新创建。创建新流导致WebRTC握手失败。我改变了我的方法,从不停止发送帧,页面更改现在可以正常工作。
https://stackoverflow.com/questions/53199757
复制相似问题