-
Notifications
You must be signed in to change notification settings - Fork 62
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
Add UDP Media Support #66
Comments
Hi. |
Currently, mumble uses an outdated encryption algorithm called AES-OCB2 for UDP transmission. We can not find a python library that is usable to perform this encryption. This is the primary reason why the development of UDP transmission of many mumble libraries has stalled. There's a plan in mumble's roadmap regarding adding new ciphers and new protocols in mumble-voip/mumble#3918, mumble-voip/mumble#4238, and mumble-voip/mumble#4299, but I think based on my observation, we can't expect new ciphers to be added in mumble 1.4.0. |
Hello azlux, But still good work! Thumbs up |
A big change is comming into the mumble dev branch, mumble will have voice over protobuff, it will be easier for us to implement the UDP protocol |
any updates on this? |
I think #82 actually provided a usable OCB2 implementation, but I haven't tested it yet. There was one pure python implementation of OCB2 in the past and we tested it in 2020. The result was very poor (too slow to keep up with the audio stream and the CPU was at 100%). #82 used pycryptodome so there is a chance it can run much faster. But I doubt how much CPU it will eat up... At this moment, just keeping the audio stream running consumes a significant fraction of CPU. |
Hello,
This library is great, however I get occasional hitching in the audio when using it. I suspect this is due to the use of TCP for the audio stream. UDP is much better at handling imperfect networking conditions for media streams, it would be worthwhile to implement this and use it by default, with only fallback to TCP as the Mumble client does.
The text was updated successfully, but these errors were encountered: