ianramzy/decentralized-video-chat

Call recording

alesanchezr opened this issue · 4 comments

How difficult will it be to implement call recording? Maybe use the twillio API for that as well?
At the end of the call when you click on "end call" you get the link of the recording.

I'm willing to contribute on that but maybe you guys can help me start by pointing me on the right direction.

The Twilio API doesn't help with this, because WebRTC is a peer-to-peer protocol, which means the data is transmitted end-to-end (or at least it should be).

Call recording is therefore basically impossible, because websites can't interface with the file system, and keeping the whole call in memory isn't feasible.

Oh ok, but maybe something like this?

What we do in server-side recording is route our media via a media server instead of directly between the browsers. This isn’t TURN relay – a TURN relay doesn’t get to “see” what’s inside the packets as they are encrypted end-to-end. What we do is terminate the WebRTC session at the server on both sides of the call – route the media via the server and at the same time send the decoded media to post processing and recording.

Maybe I can add some plugin to incorporate that. I will keep doing research and see if there is a "plug-n-play" way to do it.

You are free to look into it, but this more or less defeats the purpose of having a peer-to-peer connection ^^

Another idea is to have some kind of 'recorder' join the call, i.e. a client with the purpose to record all video streams from the actual participants. This seems easier to implement, without having to change zipcall internally!
Check out #64 for more infos :D

Thank you!