我们正在与peerjs(Webrtc)建立视频聊天。我们有一个nodewebkit版本和一个chrome版本。 但由于某种原因,如果chrome启动了一个mediawebkit的媒体流,我们会在nw中得到跟随错误。
PeerJS: Creating RTCPeerConnection.
peer.min.js:1 PeerJS: Listening for ICE candidates.
peer.min.js:1 PeerJS: Listening for `negotiationneeded`
peer.min.js:1 PeerJS: Listening for data channel
peer.min.js:1 PeerJS: Listening for remote stream
peerJS: Setting remote description RTCSessionDescription {sdp: "v=0↵o=- 2956768960815374026 2 IN IP4 127.0.0.1↵s…5525 label:87a9904d-945d-4393-ad98-68be98482104↵", type: "offer"}
peer.min.js:1 PeerJS: ERROR Error: Failed to parse SessionDescription. Failed to parse audio codecs correctly.
callingManager.js:293 webrtc:Failed to parse SessionDescription. Failed to parse audio codecs correctly.
peer.min.js:1 PeerJS: Failed to setRemoteDescription, Failed to parse SessionDescription. Failed to parse audio codecs correctly.
8peer.min.js:1 Uncaught SyntaxError: Failed to execute 'addIceCandidate' on 'RTCPeerConnection': The ICE candidate could not be added.
所以错误是:
Error: Failed to parse SessionDescription. Failed to parse audio codecs correctly.
nodewebkit到Chrome运行良好。
Nw版本:v0.12.3 Chrome版本:46
这是媒体保障问题吗?有人可以帮忙吗? 谢谢!
答案 0 :(得分:8)
Chrome 46改变了SDP m-line中的协议来自" RTP / SAVPF"到" UDP / TLS / RTP / SAVPF"。似乎node-webkit是一个非常古老的webrtc版本(> 1年),无法解决这个问题。
这已经宣布了很长一段时间。见https://twitter.com/juberti/status/656535175635963904等人
Munge你的SDP并替换" UDP / TLS / RTP / SAVPF"使用" RTP / SAVPF"。