使用带树莓派3b +的websocket / webRTC将实时视频从本地IP流传输到外部网络中的浏览器

问题描述 投票:0回答:1

这里有人对使用TURN / STUN服务器的websocket和webRTC有一定的经验吗?

要求:从本地IP向外部网络中的浏览器发送实时视频提要,我需要一些通过raspberry pi 3b +实现的帮助。我的相机源是android设备,使用第三方应用程序,我可以通过本地网络生成视频供稿。使用相同的应用程序,我可以通过Youtube Live进行流式传输,但是在超低延迟模式和启用dvr的情况下,延迟约为2秒。而且我正在尝试减少流的延迟。

Q1。半公开TURN服务器是否提供一对一的对等。或者任何人都可以跳进URL并查看并覆盖我在流式传输的内容?请提供一些服务提供商列表。

仅供参考,最多可以连接1-2个用户的浏览器

Q2。我是否需要Janus网关将webRTC / websockets数据发送到TURN / STUN服务器?由于树莓派已连接到其他网络,并且由于运营商的限制,我无法进行端口转发

Q3。我是否既需要STUN / TURN服务器,还是需要webRTC而不是websocket来通过互联网发送我的视频流。 websockets还不够吗?

Q4。由于我们不在本地网络上实施,因此我们也需要在树莓派上安装coTURN吗?

Q5。是否有任何Android应用程序可以使用公开的ws URL将相机中的数据发布到websocket / werRTC服务器?

任何帮助都会非常有帮助。

websocket raspberry-pi webrtc stun janus-gateway
1个回答
1
投票

Q1。 TURN服务器中继媒体。他们通过为每个连接对等方分配49152–65535之间的中继端口来实现此目的。然后,该中继端口将用于将媒体传输到第二个对等方。由于这是集冰过程的一部分,对等方将知道自动使用哪些中继端口。回到您的问题:其他对等方无法写入该中继端口,握手时该比率为1对1,其他人没有机会覆盖它。

Q2。您绝对不需要Janus Gateway即可使用TURN。没有端口转发的情况下,TURN和STUN对于NAT-Traversal可能会正常工作。

Q3。您至少需要一个TURN服务器(但理想情况下,您希望使用1个STUN服务器和1个TURN服务器)。 STUN在大多数情况下都可以工作,但是如果存在防火墙或复杂的NAT(阻止入站udp连接),则STUN将失败。 TURN只是这些情况的后备。需要WebRTC吗?对于仅流式传输视频,这取决于用例。一系列图像可以通过websocket传输,它们可以很好地处理Blob。但是这样您将不会获得非常流畅的,高fps和高分辨率的视频流。当然,我不知道通过websocket传输音频的可用方法。

Q4。树莓派是可以传输媒体的Peer?对等体不需要本地TURN服务器安装,您只需要1 TURN服务器(该服务器不应在NAT后面,可能在某些Web服务器上运行)。 TURN服务器是一个单独的实例。编辑为了您的私人测试和开发目的,您可以使用https://numb.viagenie.ca/。我对商业转弯服务器托管商知之甚少,除了其中一些存在。对于拥有虚拟服务器或根服务器的用户,可以选择安装coTURNthis教程可能会有所帮助。为了检查服务器是否正常工作,我还发现this snippet非常有用。END EDIT

Q5。自从websocket以来,没有可将webRTC流发布到ws URL的android应用消息仅由webrtc用于发信号(即,告诉对等方其主机候选者,它们是集冰过程中获悉的IP地址和端口,其中包括TURN和STUN ip和端口组合)。

© www.soinside.com 2019 - 2024. All rights reserved.