You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome/Edge中RTCPeerConnection调用setRemoteDescription失败,Firefox正常

问题解决:Chromium系浏览器setRemoteDescription处理Gstreamer SDP失败

问题背景

Chrome/Edge调用RTCPeerConnection.setRemoteDescription()处理Gstreamer生成的音频SDP Offer时失败,报错Failed to execute 'setRemoteDescription' on 'RTCPeerConnection',但Firefox可正常完成并建立WebRTC通信。已尝试移除extmap:5、调整Opus码率,无效,可修改Gstreamer和浏览器两端。

原始SDP(修正格式错误后)

v=0
o=- 3161453914730518631 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
m=audio 9 UDP/TLS/RTP/SAVPF 97
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:n27/J2qABz9HDHxkf9RkwhgjBOTiPDfL
a=ice-pwd:76MaG+dD4chsG/ulzhPtPdrnzr7ykCK+
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:97 OPUS/48000
a=rtcp-fb:97 transport-cc
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=mid:audio0
a=fingerprint:sha-256 A3:DA:A3:F4:04:4E:20:57:A3:7D:C2:BB:7B:4C:39:D3:77:FE:7A:32:DA:84:C5:39:8D:4A:61:1D:28:BD:A8:D9
a=rtcp-mux-only

核心问题与解决方案

1. SDP语法格式错误(关键原因)

原SDP中extmap:5字段的URL被错误嵌套了后续的a=mid和a=fingerprint属性,导致Chromium系浏览器解析失败(Firefox容错性更高)。

  • 修复:检查Gstreamer生成SDP的元素(如webrtcbin)配置,确保每行属性独立,严格遵循RFC规范输出SDP。

2. Opus编码参数不完整

Chromium对Opus的SDP描述要求更严格,原SDP仅指定采样率,缺少声道数和编码参数:

  • 修复:修改rtpmap字段补充声道数,并添加fmtp属性:
    a=rtpmap:97 OPUS/48000/2
    a=fmtp:97 minptime=10;useinbandfec=1
    

3. RTCP复用属性冲突

原SDP同时存在a=rtcp-mux和a=rtcp-mux-only,Chromium对后者的兼容性较差:

  • 修复:移除a=rtcp-mux-only字段,保留a=rtcp-mux即可。

4. 辅助排查手段

Chrome中打开chrome://webrtc-internals/,查看SDP解析日志和错误详情,定位具体问题点。

修复后SDP示例

v=0
o=- 3161453914730518631 0 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-options:trickle
m=audio 9 UDP/TLS/RTP/SAVPF 97
c=IN IP4 0.0.0.0
a=setup:actpass
a=ice-ufrag:n27/J2qABz9HDHxkf9RkwhgjBOTiPDfL
a=ice-pwd:76MaG+dD4chsG/ulzhPtPdrnzr7ykCK+
a=rtcp-mux
a=rtcp-rsize
a=sendonly
a=rtpmap:97 OPUS/48000/2
a=fmtp:97 minptime=10;useinbandfec=1
a=rtcp-fb:97 transport-cc
a=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=mid:audio0
a=fingerprint:sha-256 A3:DA:A3:F4:04:4E:20:57:A3:7D:C2:BB:7B:4C:39:D3:77:FE:7A:32:DA:84:C5:39:8D:4A:61:1D:28:BD:A8:D9

内容的提问来源于stack exchange,提问作者Piki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 21:40:04