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

Add UDP Media Support #66

Open
ReK42 opened this issue May 10, 2020 · 7 comments
Open

Add UDP Media Support #66

ReK42 opened this issue May 10, 2020 · 7 comments

Comments

@ReK42
Copy link

ReK42 commented May 10, 2020

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.

@azlux
Copy link
Owner

azlux commented May 10, 2020

Hi.
It is a topic I've try a lot.
There are a specific branch for UDP testing. I didn't manage to make it work for now.
Most of the time, my bot are in the same server as my murmur, so I don't have any issue with that.

@TerryGeng
Copy link

TerryGeng commented Jun 26, 2020

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.

@do1kbl
Copy link

do1kbl commented Apr 27, 2022

Hello azlux,
you have any plans to implement UDP with pymumble?
Its a nice library to used on same device with the murmur server.
But on external device from server the Audio is broken

But still good work! Thumbs up

@azlux
Copy link
Owner

azlux commented May 4, 2022

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

@VSuc
Copy link

VSuc commented Mar 12, 2023

any updates on this?

@do1kbl
Copy link

do1kbl commented Apr 28, 2023

Good question @VSuc
If pymumble will support UDP it will be so nice. I hope that @azlux find a solution

@TerryGeng
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants