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

Voice Overhaul and Video Calling #313

Open
8 of 34 tasks
insertish opened this issue Jan 24, 2023 · 7 comments · May be fixed by #318
Open
8 of 34 tasks

Voice Overhaul and Video Calling #313

insertish opened this issue Jan 24, 2023 · 7 comments · May be fixed by #318
Assignees

Comments

@insertish
Copy link
Member

insertish commented Jan 24, 2023

Functional requirements:

  • User can connect to a voice chat and start listening to other participant's or streaming a participant's video.
  • A server owner may restrict who can join using the channel using the "Connect" permission.
  • A server owner or moderator (with "DeafenMembers" permission) may restrict who can listen server-wide.
  • Users may turn on their microphone and broadcast it to other participants.
  • Users are able to turn off their microphone at any moment.
  • A server owner may restrict who can talk in a channel using the "Speak" permission.
  • A server owner or moderator (with "MuteMembers" permission) may restrict who can talk server-wide.
  • Users may share one or more video streams, such as their camera, a game, or their screen.
  • Users are able to turn off their video streams at any moment.
  • A server owner may restrict who can share video by using the "Video" permission.
  • A server owner or moderator (with "MoveMembers" permission) may move a member between channels.
  • A server owner may configure an "afk" room that users are automatically moved in to if they appear to be idle.
  • A user is able to mute another person for themselves in a call.
  • A user is able to change the volume of another person for themselves in a call.
  • A user is able to start or stop watching any particular video stream.
  • Users receive a notification when a call is started in a group chat.
  • The message is updated when the call ends with the total duration.

TODO: incomplete list

Non-functional requirements:

  • Users are only able to join one voice channel at a time.
  • Users experience low-latency communication by default.
  • Users can tell if there is an ongoing call in a room and who is participating.
  • Users can tell at a glance if there is an ongoing call in a server.
  • Users are able to see their current call status at a glance.
  • Users are able to tell who is currently talking in a room.
  • Users are able to tell who is currently not broadcasting their voice.
  • Users are able to tell who is currently not listening to anybody else.
  • Users are able to tell which other people can hear them.
  • Users are able to test if other people would be able to hear them.
  • Users automatically hear voice and (camera) video by default.
  • Users automatically watch screen shares within the context of group chats.
  • Users do not automatically watch screen shares within the context of servers.
  • Users are able to choose a layout which best fits what they are doing, i.e. watching a stream or listening to people.

TODO: incomplete list

Needs discussion:

  • (non-functional) Users are automatically disconnected from voice calls when they are idle.
  • (functional) Users are able to preview video streams before watching them.

Future work:

  • Integrate high-quality noise cancellation a-la Krisp but open-source, e.g. DeepFilterNet
@insertish insertish changed the title doc: issues to look out for when building new voice client epic: voice rewrite Jan 24, 2023
@Graxo
Copy link

Graxo commented May 2, 2023

Hi! I was wondering was the current status is on this. I would love to use Revolt, i got everything running except for the voice channels.

@Rexogamer
Copy link
Member

Rexogamer commented May 2, 2023

We're currently focusing on the client rewrite - once that is done, we'll focus on this

@Graxo
Copy link

Graxo commented May 2, 2023

We're currently focusing on the client rewrite - once that is done, we'll focus on this

Alright, so Revolt is not usable as voice chat solution atm?

@Rexogamer
Copy link
Member

Rexogamer commented May 2, 2023

It is technically useable, but the experience isn't necessarily up to scratch - please have patience as we are a group of volunteers 🙏

@Graxo
Copy link

Graxo commented May 2, 2023

It is technically useable, but the experience isn't necessarily up to scratch - please have patience as we are a group of volunteers 🙏

yes, ofcourse. ill be patient.
Im trying to get the "old" branch to work.. but as there is no support for it and im not managing it by myself, ill wait for a new release.

@insertish insertish transferred this issue from revoltchat/vortex Mar 27, 2024
@insertish insertish changed the title epic: voice rewrite Voice Overhaul and Video Calling Mar 28, 2024
@insertish insertish self-assigned this Mar 28, 2024
@insertish insertish pinned this issue Apr 11, 2024
@Zomatree Zomatree linked a pull request Apr 12, 2024 that will close this issue
@nlutterman
Copy link

Is there a need for assistance with this? Is this work on hold because there isn't enough bandwidth?

I'd be willing to lend a hand if that's the case.

@Zomatree
Copy link
Member

Zomatree commented May 7, 2024

Its in development, you can see the progress at #318

@Zomatree Zomatree linked a pull request May 20, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: On Hold
Development

Successfully merging a pull request may close this issue.

5 participants