html - 无法在 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
在过去的两天里,我一直在用头撞墙,但无法解决问题。任何帮助,将不胜感激。我尝试了演示中给出的任何内容,但没有帮助。
解决方案
改变
a=fmtp:96 profile-level-id=42e01f\;packetization-mode=1
至
a=fmtp:96 profile-level-id=42e01f;packetization-mode=1
否则 profile-level-id 会被错误地解析,并且找不到通用的编解码器。
推荐阅读
- hibernate - 像 Typescript Partial 这样的 Kotlin 功能?
- mongodb - 重写嵌套数组中的属性
- json - IOS/Swift/JSON:使用 swiftyJSON 解析嵌套的 JSON
- bash - 脚本从命令行运行,但不是从 finder
- java - JasperReports API 中的 FileResolver 由什么替代?
- azure-devops-rest-api - 获取附加到工作项的拉取请求
- java - FirestoreAdapter 无法填充回收站视图
- c++ - C++ make_pair map 找到第二个
- r - 'pkgdown' 用于多个包
- r - readr 中允许使用的“col_*()”形式的列对象是什么?