Voice Overhaul and Video Calling
Link To Implementation
If you are reading this from the roadmap, the following is not a list of features that is currently available but our internal progress on development.
Functional requirements:
- [x] User can connect to a voice chat and start listening to other participant's or streaming a participant's video.
- [x] A server owner may restrict who can join using the channel using the "Connect" permission.
- [x] A server owner or moderator (with "DeafenMembers" permission) may restrict who can listen server-wide.
- [x] Users may turn on their microphone and broadcast it to other participants.
- [x] Users are able to turn off their microphone at any moment.
- [x] A server owner may restrict who can talk in a channel using the "Speak" permission.
- [x] A server owner or moderator (with "MuteMembers" permission) may restrict who can talk server-wide.
- [x] Users may share one or more video streams, such as their camera, a game, or their screen.
- [x] Users are able to turn off their video streams at any moment.
- [x] A server owner may restrict who can share video by using the "Video" permission.
- [x] 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.
- [x] 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
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.
We're currently focusing on the client rewrite - once that is done, we'll focus on this
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?
It is technically useable, but the experience isn't necessarily up to scratch - please have patience as we are a group of volunteers 🙏
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.
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.
Its in development, you can see the progress at https://github.com/revoltchat/backend/pull/318
I want help i need know and learn to help to accel this process because i some happy with revolt and 75% migrate when this function start BETA ALL for clients i migrate discord to REVOLT 100%
What is the latest situation? Can it be used even though it's a WIP?
nope its on hold for i guess forever its cooked
It's a pretty big project. I've been meaning to try and find the time to contribute. Hopefully I can soon.
This will be a great addition!
Especially now that Oligarchs control the traditional social networks.
Gotta go private.
It would be so nice if we could test even a buggy version, that could take me closer to my dream of leaving Discord
(non-functional) Users are automatically disconnected from voice calls when they are idle.
I think this is an anti-feature. A much more elegant approach would be to keep user in the voice channel, but make voice connection dormant (stop sending any audio data) . Then start sending audio again as soon as sound is detected. Even then, I think this overengineering is not needed at all. Opus audio requires little bandwith and already optimizes silence.
Users can judge whether user is AFK by presence
the lack of video streaming is the main thing preventing my friends from moving to revolt, with discord's upcoming AI age verification we came back to revolt to check in again, still no progress on this?
the lack of video streaming is the main thing preventing my friends from moving to revolt, with discord's upcoming AI age verification we came back to revolt to check in again, still no progress on this?
The work is being done here https://github.com/revoltchat/backend/pull/414
the lack of video streaming is the main thing preventing my friends from moving to revolt, with discord's upcoming AI age verification we came back to revolt to check in again, still no progress on this?
The work is being done here #414
thanks for replying, i wish you luck in implementing more features!
What is the latest situation on solfhosted voice channels? I saw that #414 is merged, so it should be replaced in selfhosted version too?
What is the latest situation on solfhosted voice channels? I saw that #414 is merged, so it should be replaced in selfhosted version too?
Yes! Tracking issue: https://github.com/stoatchat/self-hosted/issues/176 It also necessarily needs the new client, since we didn't backport voice features.