Javascript 我可以使用WebRTC接收非标准RTP流吗?

Javascript 我可以使用WebRTC接收非标准RTP流吗?,javascript,webrtc,rtp,Javascript,Webrtc,Rtp,我有一个软件运行在我网络中的一个节点上,它生成通过UDP/IP传输的RTP流。这些流包含流数据,但不是任何标准音频/视频格式(如H.264等)。我想有一个简单的Web应用程序,可以连接到这些流中,适当地解码有效负载,并显示其内容。我知道不可能从浏览器直接访问UDP套接字 有没有一种方法可以使用JavaScript/HTML5读取任意RTP流(即给定一个UDP端口号从中接收数据)?发送流的软件没有实现WebRTC指定的任何信令协议,我无法更改它。我只想能够得到RTP包的内容;我可以处理解码和显示,

我有一个软件运行在我网络中的一个节点上,它生成通过UDP/IP传输的RTP流。这些流包含流数据,但不是任何标准音频/视频格式(如H.264等)。我想有一个简单的Web应用程序,可以连接到这些流中,适当地解码有效负载,并显示其内容。我知道不可能从浏览器直接访问UDP套接字


有没有一种方法可以使用JavaScript/HTML5读取任意RTP流(即给定一个UDP端口号从中接收数据)?发送流的软件没有实现WebRTC指定的任何信令协议,我无法更改它。我只想能够得到RTP包的内容;我可以处理解码和显示,没有太多问题。

据我所知,WebRTC API集合中没有允许您这样做的内容。正如您所指出的,在浏览器中也没有直接的编程方式来处理UDP数据包

您可以使用Canvas和Web Audio API有效地播放任意视频,但这需要大量CPU。MediaSource扩展可以用于通过浏览器的编解码器运行数据,但您仍然需要以某种方式获取数据


我认为在您的情况下,最好的解决方案是在服务器端建立这些连接,并使用类似FFmpeg的东西在您的浏览器可以处理的编解码器和容器中输出流,然后简单地在视频元素中播放。然后,你可以连接到你想要的任何东西。我在Node.js上做过类似的项目,这使得通过管道将流传输到浏览器变得非常容易。

另一种选择是使用WASM并为流创建自己的播放器。这是近年来非常令人难以置信的技术>2014年。正如@Brad所述,WebRTC即使在2020年也不支持您所需的功能