以低延迟将屏幕截图实时传输到前端网站
对于一个项目,我想将我的 Ubuntu 服务器上的桌面直播到前端网站(使用 Node/Express 在同一台服务器上运行)。
这将与使用 OBS/ffmpeg 直播到 Youtube/Twitch 并嵌入到我自己的网站中的效果相同。它必须是低延迟(<1 秒)
谁能指出我使用哪些协议/应用程序/教程作为大纲?
回答
要实现 < 1s 延迟,您必须使用 WebRTC(如 Brad 提到的)。这将限制使用您的流的其他参与者的数量,但可以将其扩展到 100 或 1000,具体取决于您的操作方式。
如果您对稍高的延迟(约 2-3 秒)感到满意,那么Amazon IVS可能非常适合您。请记住,您仍然需要一些东西来将流发送到 IVS,例如 OBS 或支持实时流的 WebRTC 实现。而且您需要将他们的播放器嵌入您的前端。
虽然您可以从头开始完成所有这些工作,但使用服务来处理更棘手的部分可能会更容易。
Daily(我为谁工作)可以为您处理 WebRTC 的所有事情,还可以让您向您选择的提供商发送实时流。它很容易上手,开箱即用,可让您与数百名参与者共享您的屏幕。这是我们为完成此操作而构建的示例chrome 扩展。
Twilio、Agora 或 Vonage(以及更多)等公司提供了许多具有类似功能的出色服务。
如果您想从头开始构建它,请查看https://webrtc.org/。