Josh Hobbs / writing

A bitrate ladder for Jellyfin

June 2026 ยท branch on my fork

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 Jellyfinthis 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.