Node.js EasyRTC视频记录
Node.js EasyRTC video record
我正在为 node.js 使用 easyrtc 框架,以便为网站提供视频聊天功能。我需要录制每个聊天会话的视频。不幸的是,easyrtc 没有这样的选项。我想这是因为节点服务器扮演着 "signaling" 服务器的角色。有谁知道这个问题的解决方案是否存在?也许我应该动态地将视频从客户端发送回服务器或其他东西?我将不胜感激您的所有建议!
WebRTC 的创建是为了生成 p2p 视频会议,这意味着媒体将直接从一个客户端传输到另一个客户端,而不会在服务器中停止。
为了在服务器上捕获媒体,您可以执行以下任一操作:
- 让客户端录制视频并上传到服务器(可以用 EasyRTC 完成),或者
- 使用 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.
我正在为 node.js 使用 easyrtc 框架,以便为网站提供视频聊天功能。我需要录制每个聊天会话的视频。不幸的是,easyrtc 没有这样的选项。我想这是因为节点服务器扮演着 "signaling" 服务器的角色。有谁知道这个问题的解决方案是否存在?也许我应该动态地将视频从客户端发送回服务器或其他东西?我将不胜感激您的所有建议!
WebRTC 的创建是为了生成 p2p 视频会议,这意味着媒体将直接从一个客户端传输到另一个客户端,而不会在服务器中停止。
为了在服务器上捕获媒体,您可以执行以下任一操作:
- 让客户端录制视频并上传到服务器(可以用 EasyRTC 完成),或者
- 使用 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.