2023-10-09, 06:31 PM
This is not a feature request, though could easily creep towards one. Right now it's just a curiosity as to how the current design came to be...
As it stands, clients can request a lower bitrate manually. Has there ever been discussion or attempts at having clients automatically requesting a bitrate they're capable of supporting? For instance, I travel frequently and bring a travel Roku with me. Hotel internet sucks much of the time and I'm either on < 3Mbps Wifi or I'm using my phone as a hotspot, both of which require me to artificially restrict the bitrate by setting the user's limit lower since Roku doesn't provide this option via UI.
I know that true adaptive streaming is dynamic and constantly monitoring the capability of the client (plus generally has several pre-encoded tiers to choose from), but is it feasible to have a system where part of the streaming initiation process is a network check of capability, setting that as a bitrate cap for the transcode (or forcing transcoding if direct play was possible previously), then if network issues such as frequent buffering take place, re-initiate that network check, set that cap again, etc...? Or is this something that could possibly break down very easily and cause instability? Or maybe it's too complex to insert into the current process of how streaming/transcoding is initiated?
For me, it's not that big of a deal, but it's kind of a quality of life improvement that could make a big difference for folks that could be enabled/disabled as a feature flag. Again, not in "feature request" territory, just in curiosity around why any kind of adaptive measures haven't been put in place.
As it stands, clients can request a lower bitrate manually. Has there ever been discussion or attempts at having clients automatically requesting a bitrate they're capable of supporting? For instance, I travel frequently and bring a travel Roku with me. Hotel internet sucks much of the time and I'm either on < 3Mbps Wifi or I'm using my phone as a hotspot, both of which require me to artificially restrict the bitrate by setting the user's limit lower since Roku doesn't provide this option via UI.
I know that true adaptive streaming is dynamic and constantly monitoring the capability of the client (plus generally has several pre-encoded tiers to choose from), but is it feasible to have a system where part of the streaming initiation process is a network check of capability, setting that as a bitrate cap for the transcode (or forcing transcoding if direct play was possible previously), then if network issues such as frequent buffering take place, re-initiate that network check, set that cap again, etc...? Or is this something that could possibly break down very easily and cause instability? Or maybe it's too complex to insert into the current process of how streaming/transcoding is initiated?
For me, it's not that big of a deal, but it's kind of a quality of life improvement that could make a big difference for folks that could be enabled/disabled as a feature flag. Again, not in "feature request" territory, just in curiosity around why any kind of adaptive measures haven't been put in place.
Jellyfin 10.10.3 LSIO Docker | Ubuntu 24.04 LTS | i7-13700K | Arc A380 6 GB | 64 GB RAM | 79 TB Storage