node.js - 构建聊天应用程序、NodeJS 和 Express - 我应该使用什么来进行媒体流式传输?
问题描述
我以前使用 NodeJS(即带有客户端的中央聊天服务器,没有 p2p)、Electron 或只是好的旧 Express 构建了聊天服务器。我想尽可能多地重用我的旧代码。因此,对我来说,唯一缺失的部分是使用什么来启用公共和私人视频/音频流。文件发送不是必需的。
有什么东西可以让我“轻松”加入这个模型吗?我知道 Kurento 和一些类似的产品,但是对于我希望的工作方式,这些感觉有点矫枉过正。
更新:给出一些关于 WebRTC 的建议,我愿意接受,但这个应用程序的计划包括任何视频广播和文本的自动审核/内容过滤。所以我认为这样的解决方案需要以某种方式将服务器视为“硬编码”对等方,以便假设它会看到通过公共聊天网络发送的任何内容的副本是相当安全的。当然,对于私人通信,情况不一定如此。另一方面,在最坏的情况下,在辐条拓扑中运行也很好。
解决方案
您可以从 WebRTC 示例开始 https://webrtc.github.io/samples/
WebRTC 现在是音频/视频通话的一种标准。这一切都是 p2p 工作,没有服务器交互。您需要构建的唯一一件事是连接 2 个用户的信令协议。为此,您可以使用/扩展您的 nodejs 应用程序聊天。
推荐阅读
- java - 如何截取 GridLayout 的屏幕截图然后分享
- python - argparse设置,解析后设置值
- javascript - 扩展 Toast UI Image Editor 的预建函数 addShape
- database - 无法在 MongoDB 查询中找到匹配项
- javascript - 如何在无状态组件中合并值?
- pine-script - 解释 tradingview 松脚本自引用变量值
- python-3.x - 使用 Twitter API 发送直接消息不起作用
- r - 如何将临时 _main.Rmd 文件保存在 bookdown 中(没有错误时)
- javascript - FORM : 签入 javascript
- ruby-on-rails - nil:NilClass 的未定义方法“每个”。实例变量不起作用