element-hq / element-call

Group calls powered by Matrix
https://call.element.io
GNU Affero General Public License v3.0
599 stars 93 forks source link

Call Recording #283

Open atharen opened 2 years ago

atharen commented 2 years ago

Using MoSCoW method: M - Must have; S - Should have; C - Could have; W - Won't have

Is your feature request related to a problem? Please describe. I would like a convenient and reliable way to record calls.

Describe the solution you'd like [M] At minimum, the ability to click a button during a call session, initiating a local recording, including the video and audio of all participants, and if screen sharing is applicable, the audio playing through that respective stream.

Other, lower priority features to consider (Probably can be split in their own tasks/issues...):

Describe alternatives you've considered OBS is an option, but not really convenient. Jitsi has call recordings but only through Dropbox. Zoom has call recordings but closed source.

Additional context Recording through WebRTC could be an option... I think this would cover the first lower priority bullet as should be built-in natively by the browser.

@ara4n (I presume) had suggested this on a recent HackerNews thread for a Twitch-like streaming solution based on Matrix. Not exactly the same feature, but still seems relevant.

Could be made available as an option in the ellipses menu. record_button

Recording settings could go in an appropriate new tab record_settings

compgeniuses commented 2 years ago

The call recording could also offer an option to store recording on Nextcloud, or download the recording after the call.

toniocat commented 2 years ago

How about the party who's call you are recording could also set a flag "Do not allow my call to be recorded" as well? This could work well for copyright video or audio, that shouldn't be recorded.

mingsterism commented 2 months ago

is there any updates on this feature? how can it be done if i'd wish to contribute

fkwp commented 2 months ago

is there any updates on this feature? how can it be done if i'd wish to contribute

There are several options to tackle that issue:

mingsterism commented 1 month ago

which would you recommend is the better option for the long term. seems to me like the Recording bot will be best as it does not store data on people's own local storage which can take space. if it's a recording bot, do you have an idea of how it could be done? sorry, i'm new to element-call. happy to look deeper into the codes but if there was some direction that would be greatly appreciated as well.

thanks

fkwp commented 1 month ago

In very secure aware environments I would recommend the local recording.

For the implementation of the recording bot there are on a high level two different approaches: