diff options
| author | gnattu <gnattu@users.noreply.github.com> | 2024-09-22 10:01:47 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-21 20:01:47 -0600 |
| commit | 56cf1a581c7f0ffc19fca284a13878d231136aaa (patch) | |
| tree | ea6c2e77c8a4d5d02fa2bcd9a1b1a84b37a0431e /MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | |
| parent | c97c2217a59ea17666373460db4f7e53e67dbee8 (diff) | |
Better bitrate and resolution normalization (#12644)
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs')
| -rw-r--r-- | MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index f8ba8ddd8..788bd0335 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -2400,7 +2400,7 @@ namespace MediaBrowser.Controller.MediaEncoding return 1; } - private static int ScaleBitrate(int bitrate, string inputVideoCodec, string outputVideoCodec) + public static int ScaleBitrate(int bitrate, string inputVideoCodec, string outputVideoCodec) { var inputScaleFactor = GetVideoBitrateScaleFactor(inputVideoCodec); var outputScaleFactor = GetVideoBitrateScaleFactor(outputVideoCodec); @@ -2424,6 +2424,12 @@ namespace MediaBrowser.Controller.MediaEncoding { scaleFactor = Math.Max(scaleFactor, 2); } + else if (bitrate >= 30000000) + { + // Don't scale beyond 30Mbps, it is hardly visually noticeable for most codecs with our prefer speed encoding + // and will cause extremely high bitrate to be used for av1->h264 transcoding that will overload clients and encoders + scaleFactor = 1; + } return Convert.ToInt32(scaleFactor * bitrate); } |
