Javascript Chrome WebRTC中的单流音频/视频,无ssrc标签
当您从SDP中剥离a=ssrc线路时,是否可以通过Chrome的WebRTC进行单流音频(或视频)传输 我尝试过过滤掉a=ssrc行(代码如下),但单流音频不起作用。我还尝试了单流视频和重命名,而不是删除行,结果相同。我修改报价和应答SDP。有趣的是,当您尝试发送带有音频和视频的SDP时,这种过滤会起作用。在这种情况下,音频和视频(仅)都会起作用。然而,我在我们的应用程序中遇到了在这种情况下重新协商的问题,所以这可能不是一个有效的解决方案 您可以在此repo中看到单流音频/视频的最小示例: 如果可能的话,你能提供最少的工作音频代码示例吗?最好使用上面的回购协议,modifySdp函数(在public/client.js中)应该做什么 目前,它使用以下代码修改sdp:Javascript Chrome WebRTC中的单流音频/视频,无ssrc标签,javascript,google-chrome,webrtc,sdp,Javascript,Google Chrome,Webrtc,Sdp,当您从SDP中剥离a=ssrc线路时,是否可以通过Chrome的WebRTC进行单流音频(或视频)传输 我尝试过过滤掉a=ssrc行(代码如下),但单流音频不起作用。我还尝试了单流视频和重命名,而不是删除行,结果相同。我修改报价和应答SDP。有趣的是,当您尝试发送带有音频和视频的SDP时,这种过滤会起作用。在这种情况下,音频和视频(仅)都会起作用。然而,我在我们的应用程序中遇到了在这种情况下重新协商的问题,所以这可能不是一个有效的解决方案 您可以在此repo中看到单流音频/视频的最小示例: 如果
sdp = sdp.replace(/a=ssrc/g, 'a=xssrc');
sdp = sdp.replace(/a=msid-semantic/g, 'a=xmsid-semantic');
sdp = sdp.replace(/a=mid/g, 'a=xmid');
sdp = sdp.replace(/a=group:BUNDLE/g, 'a=xgroup:BUNDLE');
如果这是不可能的,你知道这样的限制是否已经在某处正式声明(请链接),或者只是在某个时候变得不可行?看起来它以前是工作的(大约在M29,见这里的评论-没有提到这是不应该工作的)
动机:我们有时通过SIP PBX发送SDP,有时会过滤掉SSRC线路。在这种情况下支持多个流显然是毫无疑问的(可能有一些服务器端黑客流?),但至少在这种情况下支持音频对我们来说是有用的。这应该仍然是可能的,即使有一些副作用,如(遗留)getStats无法识别流,请参阅(此错误)[
您尝试的是在调用setLocalDescription之前删除a=ssrc行。这可能行不通。如果您想模拟这种情况,请尝试在使用SDP调用setRemoteDescription之前删除它们。这确实解决了我的问题-我可能必须告诉Chrome使用一些ssrc标记数据包(不是从本地描述中删除),而是从远程描述中删除a=msid行,这样Chrome可以自动检测(?)标记的数据包。我猜?我没有时间去摆弄Wireshark…但是你的回答帮助很大,所以谢谢!/还不能升级/