【问题标题】:Stream real time video from local IP to browser in an external network using websocket/webRTC with raspberry pi 3b+使用带有树莓派 3b+ 的 websocket/webRTC 将实时视频从本地 IP 流式传输到外部网络中的浏览器
【发布时间】:2019-11-06 14:51:36
【问题描述】:

这里有人在使用 TURN/STUN 服务器的 websockets 和 webRTC 方面有一些经验吗?

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

第一季度。半公共 TURN 服务器是否提供一对一的对等点。或者任何人都可以直接跳转到 URL 并查看并覆盖我正在流式传输的内容?请提供一些服务提供商列表。

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

第二季度。我需要 Janus 网关将 webRTC/websockets 数据发送到 TURN/STUN 服务器吗?由于我的树莓派连接到不同的网络,并且由于运营商的限制,我无法进行端口转发

第三季度。我是否需要两个 STUN/TURN 服务器,或者我什至需要 webRTC 而不是 websockets 来通过互联网发送我的视频流。 websockets还不够吗?

第四季度。由于我们不是通过本地网络实现的,我们是否需要在树莓派上也安装 coTURN?

Q5。是否有任何 android 应用可以使用公共 ws URL 将数据从相机发布到 websocket/werRTC 服务器?

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

【问题讨论】:

    标签: websocket raspberry-pi webrtc stun janus-gateway


    【解决方案1】:

    第一季度。 TURN 服务器中继媒体。他们通过为每个连接的对等方分配一个介于 49152-65535 之间的中继端口来做到这一点。然后,此中继端口将用于将媒体传输到第二个对等方。对等方将自动知道要使用哪些中继端口,因为这是冰收集过程的一部分。回到您的问题:其他对等方无法写入该中继端口,握手是 1 对 1,其他人不可能覆盖它。

    第二季度。您绝对不需要 Janus 网关来使用 TURN。 TURN 和 STUN 可能会在没有端口转发的情况下对 NAT-Traversal 正常工作。

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

    第四季度。树莓派是传输媒体的Peer?对等点不需要安装本地 TURN 服务器,您只需要 1 台 TURN 服务器(它不应位于 NAT 后面,可能在某些 Web 服务器上运行)。 TURN 服务器是一个单独的实例。
    编辑
    出于您的私人测试和开发目的,您可以使用 https://numb.viagenie.ca/ 。我对商业转服务器主机了解不多,除了一些存在。对于拥有 v-server 或根服务器的人,安装 coTURN 可能是一种选择,this 教程可能会有所帮助。要检查服务器是否正常工作,我还发现this snippet 非常有用。
    结束编辑

    Q5。自 websocket 以来,没有将 webRTC 流发布到 ws URL 的 android 应用程序 消息仅被 webrtc 用于信令(即告诉对等方他们的主机候选者,这些是冰收集过程学习的 IP 地址和端口,这包括 TURN 和 STUN ip 和端口组合)。

    【讨论】:

    • 感谢您解决了我的大部分疑虑。您能否解释一下为什么我们不需要在树莓派中安装任何转向服务器的部分原因还请推荐一个具有公共 IP 范围的廉价转向服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 2017-10-08
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多