我使用Janus将视频流从RTSP / H.264相机(QD800)通过WebRTC传递到浏览器。
我在这里讲的是哪些浏览器? 以下是详细信息:
最初,在与客户(Janus)协商时,相机会在SDP中将420029作为profile-level-id发送。
然而,因此Firefox无法播放此版本(420029表示级别4.1,FF在理论上只能播放3.1,但两者都是约束基线配置文件)。
现在我的Janus流媒体插件配置如下所示:
[rtsp-test]
type = rtsp
id = 4
description = RTSP
url = rtsp://admin:admin@a.b.c.d:554/11
audio = no
video = yes
videopt = 96
videortpmap = H264/90000
videofmtp = profile-level-id=42e01f\;packetization-mode=1\;sprop-parameter-sets=Z00AKpWoHgCJ+VA=,aO48gA==
secret = adminpwd
如您所见,它覆盖了videofmtp配置中的profile-level-id。
这很好用,我可以在两个操作系统的FF和Chrome中检查WebRTC控制台中的新profile-level-id。
我使用为Janus(demos / streamingtest.html)提供的默认演示HTML。
在两个浏览器中都没有显示任何视频。 仅显示白色框。
当我点击播放时:
PS1。:我的相机正常工作,VLC可以直接播放RTSP流。
PS2:FF和Chrome实际上都在接收流但无法对其进行解码。
PS3。:我还尝试通过FFMPEG传递整个RTSP:
ffmpeg -i 'rtsp://ip-camera' -an -codec copy -f rtp 'rtp://127.0.0.1:20000'
然后使用Janus的RTP示例,但我得到了与上面相同的结果。请参阅FFMPEG's output。
在Janus帮助小组中,自从流经Janus以来我已尽可能地走了,但他们的能力已经不再适合了。
参考文献: