c++ OvenMediaEngine Answer Sdp解析错误:a=组:LS locQqN

qoefvg9y  于 2023-04-08  发布在  其他
关注(0)|答案(1)|浏览(119)

我无法连接到带有libdatachannel库的OvenMediaEngine服务器。当我发送应答消息时,它返回Could not parse SDP错误。我找不到应答类型消息的真实格式。
我发送了请求报价:

{"command", "request_offer"}

回复:

{"candidates":[{"candidate":"candidate:9845236701 1 UDP 50 192.168.xx.xx 10001 typ host","sdpMLineIndex":0},{"candidate":"candidate:8725610493 1 UDP 50 1xx.xx.0.1 10001 typ host","sdpMLineIndex":0}],"code":200,"command":"offer","id":508901731,"peer_id":0,"sdp":{"sdp":"v=0\r\no=OvenMediaEngine 101 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE locQqN\r\na=msid-semantic:WMS FrzS2IOoXH0GTmc93hD7njBQwtJ15CPNKRMu\r\na=fingerprint:sha-256 AA:11:19:C1:60:07:5A:C6:xx:xx:D3:A1:5D:4C:C3:44:C2:59:F6:09:88:36:79:13:73:34:C9:F8:12:E3:8B:47\r\na=ice-options:trickle\r\na=ice-ufrag:3ieW7O\r\na=ice-pwd:wY0yg2pcLTths19xUZ5PGfAk7XjiClQN\r\nm=video 9 UDP/TLS/RTP/SAVPF 98\r\nc=IN IP4 0.0.0.0\r\na=sendonly\r\na=mid:locQqN\r\na=setup:actpass\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=msid:FrzS2IOoXH0GTmc93hD7njBQwtJ15CPNKRMu c3Q4JeTvx29WAi7btFaSR6dZsrLnjIoMCuzE\r\na=extmap:1 urn:ietf:params:rtp-hdrext:framemarking\r\na=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=rtpmap:98 H264/90000\r\na=fmtp:98 packetization-mode=1;profile-level-id=42e01f;level-asymmetry-allowed=1\r\na=rtcp-fb:98 goog-remb\r\na=ssrc:2526952431 cname:1AThzs46gkvOHrDS\r\na=ssrc:2526952431 msid:FrzS2IOoXH0GTmc93hD7njBQwtJ15CPNKRMu c3Q4JeTvx29WAi7btFaSR6dZsrLnjIoMCuzE\r\na=ssrc:2526952431 mslabel:FrzS2IOoXH0GTmc93hD7njBQwtJ15CPNKRMu\r\na=ssrc:2526952431 label:c3Q4JeTvx29WAi7btFaSR6dZsrLnjIoMCuzE\r\n","type":"offer"}}

我创建应答消息:

{"command":"answer","id":508901731,"peer_id":0,"sdp":{"sdp":"v=0\r\no=rtc 2314657025 0 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE locQqN\r\na=group:LS locQqN\r\na=msid-semantic:WMS *\r\na=setup:active\r\na=ice-ufrag:hptN\r\na=ice-pwd:Ai0Bb1M+FufKdPNsatTQ6z\r\na=ice-options:ice2,trickle\r\na=fingerprint:sha-256 2B:A0:66:23:E9:74:AE:98:50:xx:xx:xx:EF:8C:DA:41:AA:8A:96:2C:C6:9B:C6:0B:EC:FA:B5:DF:E7:95:D7:BB\r\nm=video 9 UDP/TLS/RTP/SAVPF 98\r\nc=IN IP4 0.0.0.0\r\na=mid:locQqN\r\na=extmap:1 urn:ietf:params:rtp-hdrext:framemarking\r\na=extmap:4 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=recvonly\r\na=msid:FrzS2IOoXH0GTmc93hD7njBQwtJ15CPNKRMu c3Q4JeTvx29WAi7btFaSR6dZsrLnjIoMCuzE\r\na=rtcp-mux\r\na=rtpmap:98 H264/90000\r\na=rtcp-fb:98 goog-remb\r\na=fmtp:98 packetization-mode=1;profile-level-id=42e01f;level-asymmetry-allowed=1\r\n","type":"answer"}}

回复:

{"code":400,"error":"Could not parse SDP"}

我在服务器上看到了这个错误消息:

[2023-04-03 17:23:44.946] E [SPRtcSig-t15000:1439483] Signalling | rtc_signalling_server.cpp:410  | An error occurred while dispatch command answer for stream [#default#app/stream3]: [HTTP] Could not parse SDP (400), disconnecting...
terminate called after throwing an instance of 'Json::LogicError'
what():  in Json::Value::find(begin, end): requires objectValue or nullValue
[2023-04-03 17:23:44.946] C [SPRtcSig-t15000:1439483] OvenMediaEngine | signals.cpp:114  | OME received signal 6 (SIGABRT), interrupt.

我尝试了不同类型的回答消息,但结果没有改变。当我尝试错误的JSON格式服务器关闭。我找不到回答的消息格式。This link表面上已经找到了包含消息格式,但它不起作用。
有谁知道答案信息的格式还是我的错?

u3r8eeie

u3r8eeie1#

我不熟悉OvenMediaEngine,所以请对此持保留态度。
我会开始调查,注意到你的报价只包含BUNDLE组属性(所有流都捆绑在同一个套接字上)。在你的情况下,你只有一个视频流,所以这是多余的,但绝对不是错误的。
但是,您的答案包含两组:BUNDLE和LS。BUNDLE是可以的,因为报价中有它,但我怀疑答案是否可以包含报价中没有列出的组。你可以只删除
a=组:LS locQqN
从你的答案,看看会发生什么。顺便说一句,LS是为口形同步和你只有一个视频流,所以口形同步是没有用的在这里。
请参见https://datatracker.ietf.org/doc/rfc3388/ 8.4.1,其中说明
…分组请求总是由提供者执行,而不是由应答者执行

相关问题