Page 1 of 1

Max Bit Rate Per User Please

PostPosted: Sun Feb 04, 2007 5:03 pm
by kapz
Hi Sindre,

I have posted this request before and really think it would make sense to have a global max bit rate limit or a limit per user account. I have been using Subsonic strictly for personal use to stream to my cell phone. This works great as long as I set the player to use in the stream URL. I recently created an account for a co-worker and had to remind him to set the max bit rate to 56kbps in his player (or when he logs in on a different computer from a different IP). Like most cable modem users, I have a limited upload speed and all my (ripped from personal collection) mp3 files are encoded at 256kbps. I can not stream more than one user at 256kbps with out buffering problems for another user.

Could you add a setting that would allow an admin to set the max bit rate for all players on each user account?

Many thanks for your continued support

PostPosted: Mon Feb 05, 2007 11:54 am
by sindre_mehus
Hi kapz, and thanks for your input.

I totally agree with you, and I promise to add support for it in the upcoming 3.0 release. As you suggest, there will be a bitrate limit setting both for each player and each user. When streaming, the strictest of these two limits will apply. Only the admin can change the per-user setting, whereas the users themselves can change the per-player settings.

Sounds good?


PostPosted: Tue Feb 06, 2007 2:35 am
by kapz
Yes, sounds great. Thanks.

PostPosted: Thu Feb 08, 2007 4:00 pm
by mistaox
I would like this feature as well...
I have coworker as well who loves to download 2 or 3 movies at kills my NAS and disrupts streaming.

PostPosted: Fri Feb 09, 2007 8:54 am
by kdid
I know that the below request mostly will be of any good for subsonic servers with a limitted upspeed. But here is my thoughts:

Could it be an idea to also have a automatic bandwidth setting that will distribute the available bandwidth between current players based on the number of players?

Say you have 400 kbit/sek upspeed line and have 5 potential players set to l28 kbit/sek limits. If all 5 players is online and playing, there would not be bandwidth enough, but if only 3 is online and playing, then there is bandwidth enough.

So what would be lovely to have is that if 5 players is online, the bandwidth on new songs would be reduced to the next speed that will work. E.g. In my example above, if there was 5 players at the same time, then the speed would be reduced to 400/5=80 kbit/sek.

Then when players is dropping out or stops playing, the bandwidth would increase again for new songs played on other players. - The number of players that subsonic counts when calculating the bandwidth should be the ones currently streaming or have streamed anything within the last n minutes. Say last 10 minutes. This to avoid the bandwidth to change to often.

This would require a place to specify the max bandwidth you want to use with subsonic, and a way to specify the internet gateway so that players on the local network is omitted from the bandwidth restrictions. - Also on the each user settings you will have a maximum bandwidth settings and a minimum bandwidth setting. The actual bandwidth the player gets would then be calculated to be within those limits. If there is a very large number of players, and not enough bandwidth to support the minimum bandwidth speed, then the minimum bandwidth setting probably should be ignored to make it possible to continue streaming.

You might have thought of this yourself, and it might be to much work to get it right, but I would at least have mentioned this for you.


Related to this I also would like to mention this: I do not know how this is currently handled, but have downloading lower priority than streaming? E.g. So in the above case where several users is streaming songs, if then all of them start downloading songs, will streaming be suffering, or would it just go very slowly to download? (as it should do in that case)

Maybe it should be possible to specify that downloading should be prioritized some. You could say that the minimum total download speed should at least be 100 kbit/sek, and the minimum per user download speed should be 50 kbit/sek. (Both values configurable.) Those settings will only be used when calculating the streaming speed. So the download speed would still be dynamic based on actual available bandwidth. But it would prevent that a high number of players would bring downloading down to a halt.


Under user settings the administrators would have settings for:
- Maximim bandwidth per player: [ ] kbit/sek
- Minimum bandwidth per player: [ ] kbit/sek *
* Will be ignored when needed.

Under general settings the administrators would have:
- Maximum bandwidth to internet: [ ] kbit/sek
- Minimum total download bandwidth: [ ] kbit/sek
- Minimum per user download bandwidth: [ ] kbit/sek

In addition each user can specify their preferred streaming bandwidth per player. Just as they do today.

PostPosted: Sun Feb 11, 2007 1:36 pm
by sindre_mehus
Hi kdid,

Thanks for your detailed and insightful ideas. I do recognize the potential for a smarter bandwidth allocation strategy, and I'll consider your input when and if I decide to change the implementation.


PostPosted: Mon Feb 12, 2007 7:59 pm
by mistaox
Can we also have a Max Download Limit per user as well?

I Use subsonic primarily for large AVI files.
Given the nature of M3u files, seeking is not an option.
So my users prefer to download the files they want to view.
This however becomes a problem when there are multiple downloads happening at once..The bandwidth is directed to these downloads and the rest of the users have problems streaming.

A max D/L rate per user would be nice.

PostPosted: Tue Feb 13, 2007 12:51 am
by sindre_mehus
There is already a global download (and upload) limit that I think will solve your problem.


PostPosted: Tue Feb 13, 2007 10:56 pm
by mistaox
sindre_mehus wrote:There is already a global download (and upload) limit that I think will solve your problem.


it does..but then it limits the bandwidth on my acct as well...Im the admin.. thats not cool :cry: