繁体   English   中英

STREAM 实时网络摄像头到服务器并返回到 WEB 的最佳方式是什么?

[英]What's the best way to STREAM LIVE WEBCAM to SERVER and BACK TO THE WEB?

我需要一些帮助。

通过 web 从我的 WEBCAM 到服务器并返回给多个用户的最佳方式是什么?

本质上,我正在尝试创建一个可以支持许多用户的群组视频聊天应用程序。

我不希望它是点对点 webRTC。

I actually managed to make it work with getUserMedia() -> mediaRecorder -> ondataavailable -> pass blob chunks to node.js via SOCKET.IO -> socket.io sends back blob chunks to other connected users -> append those chunks to a sourceBuffer that's connected to a mediaSource这被设置为源 URL 上

它确实奏效了。 但它是如此缓慢、滞后和资源密集型。 由于这些块以每秒 20 次的速度通过,因此页面速度变慢了很多。 我认为您不应该这么快将那么多 blob 传递给 sourceBuffer,只是为了测试我尝试每 3 秒保存一次 mediaRecordings(所以它不是资源密集型)并将这些 webm blob 传递给 sourceBuffer 但对于一些原因只有第一个 webm 加载。 其他的不会被添加或开始播放。

它不能以这种方式用于生产应用程序。

这样做的“正确”方法是什么?

如何将视频 stream 从网络摄像头正确传递到 Node.js 服务器?

以及如何将 stream 这个直播 stream 从 Z3B2819DD4C244EDA52FAFZ2052 回到 web 的 Z3B2819DD4C244EDA2FAFZ2052 服务器上?

我有点失落。 请帮忙。

我使用 HLS 吗? 记录RTC?

我是通过 http 还是通过 Z3D7A7766E8CDEB1C1BAE2A47A1381Z 从 Node.js 获得 stream?

有些服务已经让您轻松做到这一点,例如 vonage video api tokbox,但那些似乎非常昂贵?

我想通过我自己控制的 Node.js 服务器运行视频流。

最好的方法是什么?

请帮忙。

谢谢

本质上,我正在尝试创建一个可以支持许多用户的群组视频聊天应用程序。

我不希望它是点对点 webRTC。

视频聊天需要低延迟,因此需要使用 WebRTC。 请记住,其中一个“对等方”实际上可以是服务器。

它确实奏效了。 但它是如此缓慢、滞后和资源密集型。

无论如何,视频编码/解码都是资源密集型的。 如果“慢”和“滞后”是指高延迟,那么是的,记录块、发送块、解码块,本质上都会有更高的延迟。 此外,您所描述的内容不会丢帧或动态调整编码,因此如果连接无法跟上,它只会缓冲直到可以。 这是与您想要的不同类型的权衡。

同样,对于视频聊天,实时性比质量和可靠性更重要。 如果这意味着丢弃帧,重新采样音频以快速赶上,以低比特率编码,甚至暂时完全丢弃流几秒钟,这就是需要发生的事情。 这就是整个 WebRTC 堆栈所做的。

由于这些块以每秒 20 次的速度通过,因此页面速度变慢了很多。 我认为您不应该这么快将那么多 blob 传递给 sourceBuffer。

不,这不太可能是您的问题。 接收端可能无法跟上所有这些流的解码速度。

我使用 HLS 吗?

不适合任何积极参与聊天的人......需要低延迟的人。 对于其他所有人,是的,您可以利用 HLS 和 DASH 为您提供一种更经济实惠的方式,在现有 CDN 上分发您的 stream。 请参阅此答案: https://stackoverflow.com/a/37475943/362536基本上,仔细检查您的要求并确定是否每个人都真正参与其中。 如果不是,请将它们转移到比 WebRTC 更便宜的流媒体方法。

记录RTC?

不,这与您的项目无关,坦率地说,我不知道为什么人们继续使用这个库做任何事情。 也许他们有一些我不知道的特定用例,但浏览器多年来一直内置MediaRecorder

有些服务已经让您轻松做到这一点,例如 vonage video api tokbox,但那些似乎非常昂贵?

这是一件昂贵的事情。 我想你会发现,在大多数情况下,使用已经准备好 go 的基础设施的现有服务会比自己做更便宜。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM