mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
Progressive transcode bitrate #1247
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @brianjmurrell on GitHub (Jan 30, 2020).
Surely this is a duplicate but I couldn't find the ticket.
It would be great if jellyfin could determine the optimal nitrate for transcoding automatically thorough progressively increasing the bitrate until finding the maximum butyrate that the connection can tolerate.
This seems to be how Netflix works for example rather than jellyfin's existing static setting for all remote connections. Such a capability could be used for both remote and local connections reckoning the distinction between the two and further simplifying jellyfin.
@cvium commented on GitHub (Jan 30, 2020):
There is already some rudimentary bitrate testing in place. To do what you're asking though, you need some relatively beefy hardware to be able to stop and start a bunch of transcodes. And no matter what, there will always be unpredictable bitrate spikes.
And fyi, Netflix does not transcode on the fly. Everything they have is pre-transcoded, so it's super easy for them to switch between bitrates.
@brianjmurrell commented on GitHub (Jan 30, 2020):
I would suggest rather than starting a bunch of transcodes you start one relatively low bitrate (maybe .5Mbs} and start sending that and measure the actual bandwidth of the connection and then set the bitrate of future segments. You would continue to measure the average bandwidth of the connection and adjust future segments accordingly.
How does the existing rudimentary bitrate testing work?
@cvium commented on GitHub (Jan 30, 2020):
It sends junk data and measures the speed.
This is a very complex thing you're asking and it potentially involves stopping and starting ffmpeg a bunch. You also have to discard already made segment, stitch them into the master playlist etc. It's not a simple thing to make.
And fyi, feature requests must be made here: https://features.jellyfin.org