Josh Hobbs / writing
A bitrate ladder for Jellyfin
When a connection slows down mid-video, the player should switch to a lower-quality version and keep going instead of stopping to buffer. Jellyfin's list of versions, the bitrate ladder, rarely holds one low enough to help. This branch rebuilds it.
| stock Jellyfin | this branch | |
|---|---|---|
| versions offered | two, both close to the original quality | 8, 4, 2, 1 Mbps, then 500 and 250 kbps |
| measured against | the ceiling the app asked for, so an app that asks for no limit is offered nothing low | what the server is actually sending, so every app is offered something lower |
| on a home network | skipped, on the assumption the link is fast | on by default, with a setting to turn it off |
| when audio is passed through untouched | turned off entirely | video versions still offered, audio left alone |
None of that helps unless the app on the other end actually switches, so the Android TV client got a matching change: measure how fast the connection is really running, remember that between sessions, and step down a version after playback stalls. That is a separate branch.
Both have run on my server since June 2026.