gpt4 book ai didi

html - 视频和音频流-仅服务器到客户端

转载 作者:可可西里 更新时间:2023-11-01 13:21:31 26 4
gpt4 key购买 nike

有没有一种方法,可以使用服务器上安装的摄像机将网站上的视频和音频仅流化为客户端,例如,像youtube一样?

我已经开始阅读webrtc,但是如果我使用webrtc,我应该创建一个电击/转向服务器和其他东西,以一种方式,我认为不需要流(这只是我对这些东西的理解。),因为我没有从字面上看,不需要客户的任何东西,无论他们的视频还是音频。

因此,有一种方法可以使用html5来实现,仅在一个方向上进行流传输:
server (camera) -> clients
是否有关于此的东西,还是我应该坚持使用webrtc

最佳答案

我将解释这种情况下的可能解决方案,也许还有其他解决方案,但是我希望我给您一个大致的解决方案,并以此为起点探索更多有关WebRTC的惊人可能性。如果某些内容无法理解,请告诉我。

因此,WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs。很好,那就是:WebRTC具有相当不错的浏览器支持(尽管并不是每个浏览器都支持,Safari才在一个月前开始使用Safari 11支持它)。但是在这种情况下,我们要在服务器端使用WebRTC。归根结底,我们仍然可以考虑点对点实时通信,其中对等方之一是服务器。

我不知道您是否熟悉Node.js,但我建议您使用它编写Server应用程序(<3 Javascript!):

  • 有一些包装WebRTC功能的库可在服务器端使用,例如node-webrtcnode-rtc-peer-connection
  • 但是我建议您看一看electron-werbrtc,因为
    其他人可能正在使用不赞成使用的方法或不完整。
    electronic-webrtc在后台运行无头电子客户端
    使用Chromium的内置WebRTC实现。所以你应该
    能够访问服务器中的相机并创建要
    投放到其他对等对象(浏览器)。

  • 以上就是与WebRTC相关的任务,在这种情况下:流视频对等(服务器)到对等(浏览器)。

    现在,让我们谈谈信号处理,眩晕和转向。
  • 信号:现在想象一个具有2个浏览器的点对点方案,他们想要建立直接连接并在彼此之间流传输视频和音频。但是他们彼此不认识,例如,如果我不知道您的家庭住址,我就无法给您寄信。因此,他们需要一种有助于彼此了解的服务,以便他们可以拥有对方的IP。这应该通过所谓的“信令服务器”来完成。如果您以某种方式知道其他对等IP,则不需要信令服务器。
  • STUN / TURN :上面的方案在局域网中非常有效,其中每个对等方都有其自己的IP地址,并且它们之间没有防火墙和路由器。但是否则,您可能在NAT或防火墙后面有对等点,然后您的信令服务器将无法使两个对等点都能发现自己。如果在NAT后面有对等点,则需要STUN服务器,而在防火墙后面的对等点则需要TURN服务器。这有点简化,但是我只想让您了解何时需要STUN / TURN服务器。

  • 为了更好地理解Signaling,STUN和TURN,有一个 very graphic article可以完美地解释它们。

    现在, 为您的场景:
  • 我认为您可能不需要STUN / TURN服务器,也不需要实现信令过程,因为本应从服务器接收流的浏览器会知道该服务器地址,对吗?因此,他们可以与其建立WebRTC连接。
  • 编辑:很可能您将需要在服务器和客户端(浏览器)之间实现某种握手,因此这将是信令过程。 这不是WebRTC的一部分,这就是为什么您需要自己实现它。正如我所说,这是2个对等方可以彼此发现的方式,但是它们也根据本地媒体条件(例如编解码器,它们可以处理的分辨率等)交换信息。对于您的情况,您的信令服务器可以托管在同一服务器上您经常使用:您可以构建一个小型node.js应用程序,在其中运行并轻松管理所有信令过程,这没什么大不了的。我建议您阅读此article,尤其是“如何构建信令服务?”部分。通常,该站点上的所有WebRTC文章都非常有帮助。

  • 你能理解这个吗?我认为,有了它,您就可以开始进行更多的挖掘,看看这样做是否足够,或者您需要实现更多的东西。希望能帮助到你!

    关于html - 视频和音频流-仅服务器到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46635558/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com