在没有Internet访问权限的本地网络中使用WebRTC运行应用程序

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

我希望在一个项目中使用WebRTC,在该项目中,我需要从一台计算机(具有wifi热点和USB摄像头的机器人)通过本地网络将视频实时传输到另一台计算机(该机器人的控制器)。在这种情况下,两台计算机都是单板计算机,视频流是单向的。我还希望两台计算机在两个方向上相互传递数据。我在研究中发现了WebRTC,它似乎具有我正在寻找的所有功能。

通过对演示NodeJS程序的初步测试,WebRTC似乎几乎正是我想要的。我一直试图克服的一个大问题是,默认情况下,似乎要求在两个客户端之间使用在线信令服务器。我研究发现,可以在本地网络中用第三台计算机创建信令服务器,但是这种设置不适用于我的项目。

我研究了其他解决方案,并遇到了实现WebRTC的OpenVidu,但允许将信令服务器内置到其中一台客户端计算机中(至少这是我在另一stack overflow post中所读的内容)。我尚未测试此工具是否可以解决我的问题,但目前我被该项目所使用的不支持ARM处理器的项目使用的docker映像所阻止,该映像由我的单板计算机使用,因此需要进行特殊安装。] >

在经历可能会或可能不会正常工作的过程之前,我想问问是否还有另一种更简单的解决方案来运行WebRTC,而无需访问互联网并且不需要第三台计算机作为信令服务器,或者是否对除WebRTC对我的应用程序会更好。我对这项技术非常陌生,肯定会缺少一个简单的解决方案或现有的解决方案。在此问题上的任何帮助将不胜感激。

对于那些好奇的人,正在使用的单板计算机是NVidia Jetson Nanos。

我正在寻求在一个项目中使用WebRTC,在该项目中,我需要从一台计算机,具有wifi热点和USB摄像头的机器人,本地网络上的视频流向另一台计算机,...的控制器进行实时流传输]]] >

找到了解决方案。使用Google Codelabs example,此修复程序仅涉及删除配置中的默认ice服务器。从本质上讲,它意味着更改

const config = {
  iceServers: [
    {urls: ["stun:stun.l.google.com:19302"]}
  ]
}

to

const config = {
  iceServers: []
}
webrtc robotics nvidia-jetson-nano signaling openvidu
1个回答
0
投票

找到了解决方案。使用Google Codelabs example,此修复程序仅涉及删除配置中的默认ice服务器。从本质上讲,它意味着更改

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