通过应用而非浏览器将视频流式传输到WebRTC - java

我已经搜寻了很多东西,还没有找到一个“明确的”答案,以了解是否可以做到这一点或如何做到(我很高兴编写一个应用,只需要知道使用什么即可)

  • 我有一个Raspberry Pi,我想将视频和音频从其USB网络摄像头流传输到WebRTC服务器/客户端。
  • 我的Raspberry Pi没有安装GUI / Xwindows,因此没有Web浏览器(即使具有GUI,也没有可在Raspberry Pi上运行的WebRTC浏览器)
  • 因此,我想要的是一种无需Java即可使用Java或Python或JS制作应用程序的方法……我向其发出启动命令,以告知WebRTC服务器在哪里(IP)以及可以加入的空间…或者我将它们设置在配置文件
    -可能我需要告诉应用程序/代码也要发送什么视频和音频。

    ?那么,有什么代码可以使我开发上述解决方案?

    我看过几件事,但尚不清楚它们是否可以用来满足我的要求:

  • Janus(不确定是否是为我想要的做的)http://janus.conf.meetecho.com/
  • Gstreamer(也许是,但是再次不确定我也将如何发送我的RTCserver)
  • Sourcey(关闭,但在C++中,它在使用外部WebRTC服务器时看起来有问题
    http://sourcey.com/webrtc-native-to-browser-video-streaming-example/
  • 再次解释:

  • 我有一个小型Linux设备(RasPi),它具有网络摄像头和麦克风
  • 它没有GUI,没有xWindows,因此没有浏览器可以在
  • 上执行WebRTC

  • 我想将网络摄像头的视频和音频流传输到WebRTC服务器/客户端
  • 我不需要从其他客户端取回视频。
  • 我并不是想将RasPi变成WebRTC服务器,已经看到了很多,但这不是我想要的。
  • 我知道Java和Python,我很乐意用其中一种来开发应用程序,我只需要知道使用什么技术将视频/音频发送到WebRTC服务器,并且其中的任何支持信息都是有帮助的。
    开发完成后,我将在此处发布指向正常工作的应用的链接,这对于希望从小型廉价Linux设备流至WebRTC会议室的其他人可能有用。

    参考方案

    UV4L确实可以满足您的需求:

    多亏了适用于UV4L的新的特殊模块,现在可以加入
    任何地方的Jitsi Meet Web Conference的会议室(包括
    免费,公共Meet.jit.si服务)和直播视频和音频直播
    从您的相机和麦克风到所有参与者或观众
    房间里不需要任何浏览器!

    在您的应用程序中,通过HTTP / GET向UV4L Streaming Server发送正确的命令就足以启动和停止流传输并传递您要连接的Jitsi视频桥的URL。

    Java 8`Stream`可以并行运行,甚至不需要您吗? - java

    如我所见,在使用Java 8 Stream时,显而易见的代码无论是“对象”流还是原始流(即IntStream和朋友)都将仅使用:someStreamableResource.stream().whatever() 但是,然后,相当多的“流媒体资源”也有了.parallelStream()。读取javadoc时不清楚的是.stream()流是否始终是顺序的,以…

    JAVA 8具有任何匹配属性的对象的过滤器列表 - java

    我的要求是通过匹配任何属性的字符串来过滤对象列表。例如,假设Contact类具有三个属性:街道,城市,电话。我知道java流过滤器是如何工作的,在这里我必须将输入字符串与每个属性进行比较,如下所示:contactList.stream().filter(contact -> contact.getStreet().equals("dubai&…

    Java:正则表达式模式匹配器是否有大小限制? - java

    我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 :)

    Java:找到特定字符并获取子字符串 - java

    我有一个字符串4.9.14_05_29_16_21,我只需要获取4.9。数字各不相同,所以我不能简单地获得此char数组的前三个元素。我必须找到最正确的.并将其子字符串化直到那里。我来自Python,因此我将展示Python的实现方法。def foobar(some_string): location = some_string.rfind('.&…

    Java:线程池如何将线程映射到可运行对象 - java

    试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …