1

I'm using easyrtc framework for node.js in order to provide web site with video chat. I need to record the video from each chat session. Unfortunately easyrtc doesn't have such option. I suppose it's because node server playing role of "signaling" server. Does anybody know whether the solution of this issue exists? Maybe I should dynamically send video from client back to server or something else? I would appreciate all your advice!

Vladyslav Nikolaiev
  • 1,819
  • 3
  • 20
  • 39

1 Answers1

2

WebRTC was created to generate p2p video conferences, this means that the media will go from a client directly to the other without stopping in the server.

In order to capture the media at the server, you can do any of the following:

  1. Let the clients record the video and upload it to the server (can be done with EasyRTC), or
  2. Let the server stay in the middle using a WebRTC gateway: How to record a relayed stream on server using TURN

The first option is easier to implement but will require the users to send the videos using their bandwith. If they send the video while on the conference, it will result in quality loss since they will be sending video twice. If they send the video once the conference is done, you have the risk on them leaving the page before the upload is completed.

The second option will require you to deploy a WebRTC gateway which will require huge processing and bandwith resources but it will solve all the problems at client level. You may want to take a look at 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.

Community
  • 1
  • 1
Javier Conde
  • 2,553
  • 17
  • 25
  • Can you give any examples of implementing TURN server? I'll be very grateful. – Vladyslav Nikolaiev Jan 14 '16 at 17:53
  • Initially my post said TURN but I was really meaning a WebRTC gateway. I have edited my answer to point you to some of the implementations. You will be able to find all the information about installation and configuration in their pages. – Javier Conde Jan 14 '16 at 18:12