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

Implement Voice / Video calling #5

Open
EricApostal opened this issue Mar 4, 2025 · 0 comments
Open

Implement Voice / Video calling #5

EricApostal opened this issue Mar 4, 2025 · 0 comments
Labels
enhancement New feature or request

Comments

@EricApostal
Copy link
Collaborator

About

In order to support voice / video, we will need to add support for either Discord's UDP voice protocol, or WebRTC. I personally and more for WebRTC as it is supported on all platforms, and I'd like to keep web as a vague target.

Firebridge already has support for interacting with the voice gateway, however, I have not been able to establish a WebRTC connection (despite many painful hours of trying).

The best documentation is here: https://docs.discord.sex/topics/voice-connections#webrtc-connections.

There is a reverse-engineering project for Discord called "Spacebar, " which is a project that aims to re-create the Discord backend 1:1. One of the custom clients is called "Jank Client," and the developer claims to have gotten WebRTC to work. The socket connection hasn't been an issue when trying to implement it, it's been completely with the SDP. You can find his implementation here. I can't be 100% sure that it works, however, it's the best reference I have.

I am not against a UDP client, I just see it as a bit of a waste of time as WebRTC would handle voice / video / etc, all through native libraries, with no per-platform implementation. It also allows for the usage of more specific libraries, such as flutter_webrtc, which handle a lot automatically.

@EricApostal EricApostal added the enhancement New feature or request label Mar 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant