我正在尝试使用ffmpeg和janus-gateway在本地网络中进行视频流。我将h264视频直接传输到ffmpeg,然后从那里以rtp流的形式传输到janus。然后Janus做其余的事情。
问题是,当我试图打开流使用流测试html页面包含在janus,我可以选择流,但我从来没有看到任何东西。在我启动janus的控制台上,它抛出了多个错误,首先是:"SDP缺少强制性信息"。"SDP缺少强制性信息"
显然,SDP缺少了一些这样的授权。
a=ice-ufrag:?
a=ice-pwd:?
我想这是演示页面的javascript的问题。
当我加载页面并点击启动按钮时,它做的一切都像它应该做的那样,还没有错误。它用我的流填充了可用的流列表,当使用firefox中的网络分析器时,我可以看到,janus正在向页面的javascript发送正确的SDP。该SDP包含了正确的流的信息,也包含了冰的授权信息。
然后,当我选择流并点击启动按钮时,javascript向janus发送了一个包含SDP的请求,但这个SDP与之前收到的SDP完全不同,确实缺少了冰的授权信息。里面还有一堆完全错误的信息。比如这个SDP是VP8的视频,而我的流媒体和之前收到的正确SDP其实是H264视频。
谁能发一个简单的例子,从janus接收一个单一的webrtc视频流,好吗?
我一直在寻找一个例子,一段时间,但没有发现任何除了演示,这是不适合我和完全不相关的webrtc视频会议或聊天室的例子,这是没有任何用处的我。
我想做的就是让一个signle H264视频流以尽可能小的延迟甚至是零延迟从树莓派传到一个本地托管的html网页上。
我试过使用hls,但那是太多的延迟,有人建议使用webrtc...
不要紧。
我现在已经切换到使用uv4l的视频流和主机的实际网页,显示视频流。
这几乎是开箱即用,而且比较容易实现。