diff options
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding')
3 files changed, 20 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 29d37f99b..54a361ff7 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -968,7 +968,7 @@ namespace MediaBrowser.Controller.MediaEncoding { if (bitrate.HasValue && videoStream.BitRate.HasValue) { - bitrate = Math.Min(bitrate.Value, videoStream.BitRate.Value); + bitrate = GetMinBitrate(bitrate.Value, videoStream.BitRate.Value); } } } @@ -981,13 +981,29 @@ namespace MediaBrowser.Controller.MediaEncoding // If a max bitrate was requested, don't let the scaled bitrate exceed it if (request.VideoBitRate.HasValue) { - bitrate = Math.Min(bitrate.Value, request.VideoBitRate.Value); + bitrate = GetMinBitrate(bitrate.Value, request.VideoBitRate.Value); } } return bitrate; } + private int GetMinBitrate(int sourceBitrate, int requestedBitrate) + { + if (sourceBitrate <= 2000000) + { + sourceBitrate *= 2; + } + else if (sourceBitrate <= 3000000) + { + sourceBitrate = Convert.ToInt32(sourceBitrate * 1.5); + } + + var bitrate = Math.Min(sourceBitrate, requestedBitrate); + + return bitrate; + } + public int? GetAudioBitrateParam(BaseEncodingJobOptions request, MediaStream audioStream) { if (request.AudioBitRate.HasValue) diff --git a/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs b/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs index bac9807a9..10d7b9a7e 100644 --- a/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs +++ b/MediaBrowser.Controller/MediaEncoding/IMediaEncoder.cs @@ -124,7 +124,7 @@ namespace MediaBrowser.Controller.MediaEncoding Task Init(); - Task UpdateEncoderPath(string path, string pathType); + void UpdateEncoderPath(string path, string pathType); bool SupportsEncoder(string encoder); void SetLogFilename(string name); diff --git a/MediaBrowser.Controller/MediaEncoding/MediaEncoderHelpers.cs b/MediaBrowser.Controller/MediaEncoding/MediaEncoderHelpers.cs index 0b1ca08e5..d5c85197f 100644 --- a/MediaBrowser.Controller/MediaEncoding/MediaEncoderHelpers.cs +++ b/MediaBrowser.Controller/MediaEncoding/MediaEncoderHelpers.cs @@ -4,7 +4,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using MediaBrowser.Common.IO; + using MediaBrowser.Controller.IO; namespace MediaBrowser.Controller.MediaEncoding |
