Node.js EasyRTC视频记录

Node.js EasyRTC video record

我正在为 node.js 使用 easyrtc 框架,以便为网站提供视频聊天功能。我需要录制每个聊天会话的视频。不幸的是,easyrtc 没有这样的选项。我想这是因为节点服务器扮演着 "signaling" 服务器的角色。有谁知道这个问题的解决方案是否存在?也许我应该动态地将视频从客户端发送回服务器或其他东西?我将不胜感激您的所有建议!

WebRTC 的创建是为了生成 p2p 视频会议,这意味着媒体将直接从一个客户端传输到另一个客户端,而不会在服务器中停止。

为了在服务器上捕获媒体,您可以执行以下任一操作:

  1. 让客户端录制视频并上传到服务器(可以用 EasyRTC 完成),或者
  2. 使用 WebRTC 网关让服务器停留在中间:How to record a relayed stream on server using TURN

第一个选项更容易实施,但需要用户使用带宽发送视频。如果他们在会议期间发送视频,则会导致质量下降,因为他们将发送两次视频。如果他们在会议结束后发送视频,您将面临他们在上传完成之前离开页面的风险。

第二个选项将要求您部署一个 WebRTC 网关,这将需要大量的处理和带宽资源,但它将解决客户端级别的所有问题。你可能想看看 Janus and/or Kurento. There are other more complex WebRTC gateways which will allow you to connect WebRTC with SIP (VoIP) like Asterisk, Kamailio or FreeSWITCH.