Why such high bitrate? Improve and enable more use cases? #1787
Replies: 5 comments 11 replies
-
Hi 38, |
Beta Was this translation helpful? Give feedback.
-
I noticed that, too, and thought that it might be due to the very small frame size which forces opus to either disable certain optimizations or makes existing optimizations way less effective.
That's interesting -- I would have expected that to sound similar. This sounds like something that would be interesting to investigate.
Yes, that's what I assume as well.
I don't have a direct answer to your question, but you can see the exact opus configuration here: Line 254 in a4c8620
It currently isn't. Jamulus uses opus directly, with no ogg or webm container which would usually contain the information about codec parameters (IIRC). That means that the choice of opus parameters has to be part of the Jamulus protocol. This part only supports the existing modes right now. Additional modes could be added, but would introduce more complexity. In addition, all audio and and buffer handling currently works with static frame sizes (CBR). Opus optimizations would likely also contain VBR, so this would require some re-working (which I think is possible, but not as straight forward as the existing modes). We should also note that other modes may not only affect the network bandwidth, but also CPU usage (mainly in the server). It may also mean that CPU usage is no longer that predictable. We should be careful to handle the case that a load test with 50 empty client works on a server, but that the server would start struggling once the silence would be replaced with actual music. Personally, I'd be open to something like this in general, but to judge whether it would be acceptable we would have to know how much complexity it would introduce. |
Beta Was this translation helpful? Give feedback.
-
A little bandwidth test, just for fun, using cbm on my Ubuntu server and Taskmgr on Win10 both give the same values: 64 samples, small buffers enabled up (from client) 700kbs down 708kbs The calculated values reported by Jamulus are not very real, will have to look into this. |
Beta Was this translation helpful? Give feedback.
-
The audio quality issues are probably not due to encoding quality, but rather due to dropped/late packets. Try setting the Jitter Buffer to manual and increasing both settings to maximum. The downside is that you'll have more delay though. |
Beta Was this translation helpful? Give feedback.
-
The number that is shown to the user as "Audio Stream Rate" is calculated here: It adds If you do the calculation without the header, the actual audio-only data rate should be for mono:
which looks quite reasonable in general, while the high setting seems to be a bit over the top. But this is just my outside view |
Beta Was this translation helpful? Give feedback.
-
I have always wondered why using Enable Small Network Buffers, stereo and highest audio quality result in over 900 kbps and still have some audio quality issues. If I encode music to Opus using the smallest 1.5ms frame size and a bitrate of between 192-224 kbps I hear no difference.
If so, then maybe we, who have high bandwidth internet, can archieve better audio quality while also enabling for people to setup "low bitrate" servers with even lower bitrates possible today for those who are very bandwidth limited.
Keep up the good work, everyone!
Beta Was this translation helpful? Give feedback.
All reactions