-
Notifications
You must be signed in to change notification settings - Fork 176
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Remove separate codec, HDR, and remote bitrate adjustments
We currently scale bitrate based on both remote vs local, SDR vs HDR, and H.264 vs HEVC vs AV1. This has led to a lot of user confusion wondering why the bitrate doesn't seem to match their selection in some configurations. In H.264 local streams, we will currently overshoot the selected bitrate by about 20% due to FEC, while remote streams will be right around the selected bitrate due to remote-specific FEC bitrate adjustments. HEVC and AV1 streams (as configured by most clients) basically behave similarly between local and remote, since the codec bitrate adjustment factor of 75% is nearly the same as the FEC bitrate adjustment factor of 80%. However, this adjustment was only performed for SDR streams so local HDR streams would overshoot like H.264. This change cleans up all this mess by using a single non-codec-specific video bitrate adjustment for FEC in all cases. It also allows Sunshine to perform the FEC adjustment on its end if the default FEC value of 20% has been overridden by the user or if we implement dynamic FEC support in the future. The net result is HEVC and AV1 SDR streams will only see a tiny bitrate increase, but HDR and H.264 may see noticable 20% bitrate reductions that may require the user to adjust their bitrate setting to reach the effective value they got before. However, the new behavior should be more intuitive for users going forward since changing codecs, using a VPN, or enabling HDR won't cause significant changes to the video bitrate.
- Loading branch information
Showing
5 changed files
with
21 additions
and
48 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters