speedrr icon indicating copy to clipboard operation
speedrr copied to clipboard

Throttle download speed

Open ciotorcristian opened this issue 9 months ago • 6 comments

Is your feature request related to a problem? Please describe. Would it be possible to implement a feature that limits the download speed whenever a Jellyfin stream begins?

Describe the solution you'd like Perhaps there could be an option to specify what you want to throttle—a flag allowing users to choose between limiting both download and upload speeds or just one of them. This flexibility would provide more tailored control for different scenarios

Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

Additional context Add any other context or screenshots about the feature request here.

ciotorcristian avatar Mar 16 '25 13:03 ciotorcristian

Added in v1.0.0

itschasa avatar Mar 16 '25 13:03 itschasa

Hello,

It is still not working or I am do not have the correct config:

[2025-03-30 21:52:57,939] [INFO] <media_servers> Upload reduction values = http://jellyfin:8096: 14.471 (media_server.py:47) [2025-03-30 21:52:57,940] [INFO] New calculated upload speed: 85.529MB (main.py:98) [2025-03-30 21:52:57,940] [INFO] New calculated download speed: 100MB (main.py:99) [2025-03-30 21:52:57,940] [INFO] Getting active torrent counts (main.py:101) [2025-03-30 21:52:58,008] [INFO] Set upload speed for http://qbittorrent:8085 to 85.529MB (main.py:123) [2025-03-30 21:52:58,008] [INFO] Set download speed for http://qbittorrent:8085 to 100.0MB (main.py:124) [2025-03-30 21:52:58,009] [INFO] Speeds updated (main.py:127) [2025-03-30 21:52:58,009] [INFO] Waiting for next update event (main.py:134)

==================================================

units: MB min_upload: 1 max_upload: 100 min_download: 1 max_download: 100 clients:

  • type: qbittorrent url: http://qbittorrent:8085 username: admin password: QeHNHgBHFw!2Uvuafz https_verify: true modules: media_servers:
    • type: jellyfin url: http://jellyfin:8096 api_key: 978e44f63e93469399782ef0f506ad6b https_verify: true bandwidth_multiplier: 2 update_interval: 10 ignore_local_streams: false ignore_paused_after: 300 schedule:

Could you please help me?

ciotorcristian avatar Mar 30 '25 18:03 ciotorcristian

These logs indicate that it successfully changed the download speed. Did you see the upload speed change? Is it just the download that hasn't updated? If you're viewing in the WebUI, you might need to refresh the page in order to see the change.

itschasa avatar Mar 30 '25 23:03 itschasa

Hi,

The maximum download speed is 100. It calculates the download speed as 100, but it should have been equal to the upload speed. It's not that it does not the speed, it's that the speed calculation is wrong

ciotorcristian avatar Mar 31 '25 11:03 ciotorcristian

Ahh, I see what you mean. I've made it so the media server module does not decrease the download speed, as the media server is uploading, not downloading. My logic is that only the upload would have to be decreased. If you wanted it to have a download reduction as well, I can implement something like that?

itschasa avatar Mar 31 '25 12:03 itschasa

Yes, if you can implement it this way it would be awesome. Maybe a toggle to enable download limiting?

ciotorcristian avatar Mar 31 '25 16:03 ciotorcristian