首页 > 解决方案 > 无法在 Chrome 上设置远程报价 sdp

问题描述

我正在使用 Janus Gateway 将我的视频从 Gstreamer 流式传输到 Html。它在 Firefox 的情况下工作正常,但在 Chrome 上失败并出现以下错误:

streamingtest.js:166 WebRTC error: DOMException: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote offer sdp: Failed to set remote video description send parameters.

我试图检查是否有人遇到了同样的问题,但找不到任何关于他们如何解决它的解决方案。

我正在使用演示 js 脚本在前端渲染视频。以下是我的 SDP:

v=0
o=- 1568628002096316 1 IN IP4 192.168.86.32
s=Mountpoint 1
t=0 0
a=group:BUNDLE audio video
a=msid-semantic: WMS janus
m=audio 9 UDP/TLS/RTP/SAVPF 111
c=IN IP4 192.168.86.32
a=sendonly
a=mid:audio
a=rtcp-mux
a=ice-ufrag:4hn7
a=ice-pwd:Z3P8Mds5FjKaMDO0I7UJOl
a=ice-options:trickle
a=fingerprint:sha-256 _{fingerprint goes here}_
a=setup:actpass
a=rtpmap:111 opus/48000/2
a=msid:janus janusa0
a=ssrc:4050605038 cname:janus
a=ssrc:4050605038 msid:janus janusa0
a=ssrc:4050605038 mslabel:janus
a=ssrc:4050605038 label:janusa0
a=candidate:1 1 udp 2013266431 192.168.86.32 36232 typ host
a=end-of-candidates
m=video 9 UDP/TLS/RTP/SAVPF 96
c=IN IP4 192.168.86.32
a=sendonly
a=mid:video
a=rtcp-mux
a=ice-ufrag:4hn7
a=ice-pwd:Z3P8Mds5FjKaMDO0I7UJOl
a=ice-options:trickle
a=fingerprint:sha-256 _{fingerprint goes here}_
a=setup:actpass
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42e01f\;packetization-mode=1
a=rtcp-fb:96 nack
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 goog-remb
a=msid:janus janusv0
a=ssrc:452239926 cname:janus
a=ssrc:452239926 msid:janus janusv0
a=ssrc:452239926 mslabel:janus
a=ssrc:452239926 label:janusv0
a=candidate:1 1 udp 2013266431 192.168.86.32 36232 typ host
a=end-of-candidates

按照我用来启动 GStreamer 的命令:

v4l2src ! videoconvert ! videoscale ! videorate ! video/x-raw,width=640,height=480,framerate=15/1 ! videoconvert ! x264enc tune=zerolatency ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=127.0.0.1 port=8080

在过去的两天里,我一直在用头撞墙,但无法解决问题。任何帮助,将不胜感激。我尝试了演示中给出的任何内容,但没有帮助。

标签: htmlgoogle-chromegstreamerjanusjanus-gateway

解决方案


改变

a=fmtp:96 profile-level-id=42e01f\;packetization-mode=1

a=fmtp:96 profile-level-id=42e01f;packetization-mode=1

否则 profile-level-id 会被错误地解析,并且找不到通用的编解码器。


推荐阅读