jellyfin-web
jellyfin-web copied to clipboard
Provide more friendly transcoding bitrate options.
Changed the bitrate option for transcoding. *Remove some high bitrate options, such as 1080P 60M *Add some low bitrate options, for example, for 1080P, there should be lower bitrate options, such as 4M, setting 10M as the lowest bitrate for 1080P is not appropriate, in fact, most 1080P bitrates are less than 10M
Filter out transcoding options that are higher than the source streaming bitrate multiplied by 3. For example, a 1080P 10M hevc source transcoded to 1080P 40M does not make much sense.
PS: I know that hardware-accelerated transcoding is worse than CPU transcoding, and HEVC encoding has better compression, but even so, the transcoded bitrate is not more than 3 times the original bitrate at about the same image quality, I think.
Kudos, SonarCloud Quality Gate passed! 
0 Bugs
0 Vulnerabilities
0 Security Hotspots
3 Code Smells
No Coverage information
1.2% Duplication
Kudos, SonarCloud Quality Gate passed! 
0 Bugs
0 Vulnerabilities
0 Security Hotspots
0 Code Smells
No Coverage information
4.3% Duplication
AFAIK currently the resolution isn't taken into account at all by the transcoder, only bitrate and display resolution.
I have been wondering if it would make sense to have separate options for resolution and bitrate... with limited options for bitrate based on the selected resolution (and some sane defaults for bitrate based on the selected resolution). I think this would be more inline with most services where there is only really a simple quality selector while still allowing more fine grained control for those that want it.
This is a good PR. Hopefully it can be merged - even if resolution isn't being taken into account, it would massively improve the UX.
Functionally, it works well. Just some minor code cleanup / optimization items to address.
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.
Superseded by #6071