Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⏺️ Call recording #8324

Closed
4 of 5 tasks
nickvergessen opened this issue Nov 9, 2022 · 13 comments
Closed
4 of 5 tasks

⏺️ Call recording #8324

nickvergessen opened this issue Nov 9, 2022 · 13 comments
Assignees
Labels
1. to develop enhancement feature: call 📹 Voice and video calls feature: meetings 📅 Covering the webinary usecase incl. Lobby high overview

Comments

@nickvergessen
Copy link
Member

nickvergessen commented Nov 9, 2022

Following up on #1232 and some other issues here is the draft of the call recording feature we plan to work on.

📐 Design

Mockups & prototypes

  • Top bar is extended to show Add useful information to the top-bar when in a call #6766
    • Headline: Conversation name
    • Subline:
      • Recording icon when the call is being recorded
      • Duration of the call
      • Number of call participants
      • Description of the room
  • To start or stop a recording any moderator can use the "…" menu in the topbar next to the Call button
    • Starting and stopping should be logged as a system message
    • It might be necessary to play a sound when recording is started/stopped (to be clarified)
  • The recording shall be shared in the chat as a "normal file" but have a special section in the Media tab of the sidebar
  • Option to only record audio?

⚙️ Engineering

Requirements

  • Recording will be done with a virtual participant
    • Recording will be only speaker view for v1
    • First shared screenshare will be recorded if there is any
  • Web UI needs to show the same thing in "Promoted view" that is being recorded (currently not the case when sharing your own screen)
  • The recording shall be uploaded to either the/a owner/moderator of the conversation or to a "recording bot" users storage and then shared back into the chat.

Constraints

  • Only supported with HPB

Previous issues, attempts and solutions


Work packages

@nickvergessen
Copy link
Member Author

@mwalbeck Hi there, we also had a look at your talked app. There are some aspects that we like and some aspects that we don't like. If you want to, you could join our public talk chat ( https://cloud.nextcloud.com/call/c7fz9qpr ) at some point and we can clarify what can be reused and what should be redone and whether that will obsolete your app or be a side solution (since yours also works without the HPB if I saw that correctly)

@sudwhiwdh
Copy link

In the spirit of data sensitivity and user self-determination, I would find it wonderful if you introduce a similar transparency as BigBlueButton will do in the upcoming version.
https://docs.bigbluebutton.org/2.6/new.html#improved-notification-of-recording-start
It would be important to me that it is clear to participants at all times that they are being recorded. I also like the idea of giving participants the opportunity to leave a recorded room before they actually enter it, if they don't want to be part of the recording.

@nickvergessen
Copy link
Member Author

It would be important to me that it is clear to participants at all times that they are being recorded.

We plan to have a trigger message shown as well as a permanent indicator in the view.

Notifying people on the device checker/join Call screen when a recording is running already is also a good idea. 👍

@SystemKeeper
Copy link
Contributor

  • Starting and stopping should be logged as a system message

Will this also be send as a signaling message? When we're in a call in talk-ios, we don't receive chat messages - only if the user opens the chat. So at the moment we would need to periodically check if recording is started or not.

@nickvergessen
Copy link
Member Author

Should be doable additionally.

@SystemKeeper
Copy link
Contributor

It should be clear from the description and how we plan to implement it, but I think it should be noted somewhere that this is only supported in group conversations and not for all conversation types like 1:1.

@nickvergessen
Copy link
Member Author

Should we block 1-1? People could work around it by creating a group conversation with a single person as well. So I would not block this.

@SystemKeeper
Copy link
Contributor

So a virtual participant can join a 1:1 then? Then it's fine for me, thought that didn't work and only creating a group with one person would work.

@nickvergessen
Copy link
Member Author

Hmm I think it's totally independent of the server/API part. But @danxuliu can confirm

@nickvergessen
Copy link
Member Author

nickvergessen commented Dec 9, 2022

Regarding the start/stop recording and playing a sound.

As per the paper I found it has to be signaled that the call is being recorded at any time. Opposed to the "a user joined/left" it does not mention playing a sound, so I would say the current plan stands:

  • We show the info on the device checker screen
  • We enforce the device checker when recording is active
  • We show a "showSuccess" message when the recording ist started/stopped
  • We show the ⏺️ icon on the call time as already implemented.

@abdusalamApps
Copy link

abdusalamApps commented Jan 29, 2023

Awesome that you are working on this feature. I'll see if I can help. I can do Android development. So if Android ddevs here need help on this feature, I'm more than happy to help out.

@nickvergessen
Copy link
Member Author

cc @mahibi

@nickvergessen
Copy link
Member Author

All done but #8327
So closing this one and treating #8327 as follow up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop enhancement feature: call 📹 Voice and video calls feature: meetings 📅 Covering the webinary usecase incl. Lobby high overview
Projects
Archived in project
Development

No branches or pull requests

8 participants