我在两个浏览器站点之间进行流,一个是主浏览器,另一个是从浏览器。主程序将视频传输给奴隶。主人总是活跃的,奴隶有时会连接。
我使用此配置启动双方的连接:
{'iceServers': [{'url': 'stun:mystunserveraddress'}]},
{'optional': [{'DtlsSrtpKeyAgreement': true},{'RtpDataChannels': true}]}师父提供不接收音频和视频的服务。从处理提供和回答与提供接收视频。主人处理答案。
冰候选人在两边都会被处理。在发送报价之前,视频被附加到对等连接上。
我对它进行了测试,使其与以下主从组合一起工作:
为什么它不适用于这些组合?没有出现错误。一切看起来都很普通,但是从中的视频元素是空白的。
从两端提供音频和视频,或自动不改变任何东西。
在Firefox主机上,我有两个“连接”状态,而在Chrome从服务器上,我有“检查”状态。
我已经在本地服务器和远程服务器上进行了测试,行为也是一样的。
它在AppRTC示例中也不起作用。
发布于 2015-01-23 15:23:21
备注:不要使用RtpDataChannels.它是旧的,它是Chrome的,它是不标准的-它甚至没有向标准提出。Chrome现在支持标准RTCDataChannels (pc.createDataChannel(.))它和火狐相互作用。
我强烈怀疑您的视频问题是JS代码中的一个bug,可能是依赖于成功回调的时间而不是其他回调,或者是针对ICE候选人的。如果SetRemoteDescription的成功回调没有返回,您就不应该添加ICE候选项,例如(排队并在成功后添加)。
如果您调用从Linux上的Chrome到Windows上的Chrome (反之亦然),它是否有效?这是应该的;这是人们一直在做的事情(在Chrome和Firefox上)。
https://stackoverflow.com/questions/28098999
复制相似问题