diff options
Diffstat (limited to 'MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index 2fc8fccbe..6744fbd92 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -18,6 +18,7 @@ using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; +using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Services; using MimeTypes = MediaBrowser.Model.Net.MimeTypes; @@ -777,7 +778,7 @@ namespace MediaBrowser.Api.Playback.Hls return ResultFactory.GetResult(playlistText, MimeTypes.GetMimeType("playlist.m3u8"), new Dictionary<string, string>()); } - protected override string GetAudioArguments(StreamState state) + protected override string GetAudioArguments(StreamState state, EncodingOptions encodingOptions) { var audioCodec = EncodingHelper.GetAudioEncoder(state); @@ -813,7 +814,7 @@ namespace MediaBrowser.Api.Playback.Hls if (string.Equals(audioCodec, "copy", StringComparison.OrdinalIgnoreCase)) { - var videoCodec = EncodingHelper.GetVideoEncoder(state, ApiEntryPoint.Instance.GetEncodingOptions()); + var videoCodec = EncodingHelper.GetVideoEncoder(state, encodingOptions); if (string.Equals(videoCodec, "copy", StringComparison.OrdinalIgnoreCase) && state.EnableBreakOnNonKeyFrames(videoCodec)) { @@ -844,19 +845,19 @@ namespace MediaBrowser.Api.Playback.Hls args += " -ar " + state.OutputAudioSampleRate.Value.ToString(UsCulture); } - args += " " + EncodingHelper.GetAudioFilterParam(state, ApiEntryPoint.Instance.GetEncodingOptions(), true); + args += " " + EncodingHelper.GetAudioFilterParam(state, encodingOptions, true); return args; } - protected override string GetVideoArguments(StreamState state) + protected override string GetVideoArguments(StreamState state, EncodingOptions encodingOptions) { if (!state.IsOutputVideo) { return string.Empty; } - var codec = EncodingHelper.GetVideoEncoder(state, ApiEntryPoint.Instance.GetEncodingOptions()); + var codec = EncodingHelper.GetVideoEncoder(state, encodingOptions); var args = "-codec:v:0 " + codec; @@ -882,8 +883,6 @@ namespace MediaBrowser.Api.Playback.Hls var hasGraphicalSubs = state.SubtitleStream != null && !state.SubtitleStream.IsTextSubtitleStream && state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode; - var encodingOptions = ApiEntryPoint.Instance.GetEncodingOptions(); - args += " " + EncodingHelper.GetVideoQualityParam(state, codec, encodingOptions, GetDefaultH264Preset()) + keyFrameArg; //args += " -mixed-refs 0 -refs 3 -x264opts b_pyramid=0:weightb=0:weightp=0"; @@ -918,9 +917,8 @@ namespace MediaBrowser.Api.Playback.Hls return args; } - protected override string GetCommandLineArguments(string outputPath, StreamState state, bool isEncoding) + protected override string GetCommandLineArguments(string outputPath, EncodingOptions encodingOptions, StreamState state, bool isEncoding) { - var encodingOptions = ApiEntryPoint.Instance.GetEncodingOptions(); var threads = EncodingHelper.GetNumberOfThreads(state, encodingOptions, false); var inputModifier = EncodingHelper.GetInputModifier(state, encodingOptions); @@ -947,7 +945,7 @@ namespace MediaBrowser.Api.Playback.Hls segmentFormat = "mpegts"; } - var videoCodec = EncodingHelper.GetVideoEncoder(state, ApiEntryPoint.Instance.GetEncodingOptions()); + var videoCodec = EncodingHelper.GetVideoEncoder(state, encodingOptions); var breakOnNonKeyFrames = state.EnableBreakOnNonKeyFrames(videoCodec); var breakOnNonKeyFramesArg = breakOnNonKeyFrames ? " -break_non_keyframes 1" : ""; @@ -957,8 +955,8 @@ namespace MediaBrowser.Api.Playback.Hls EncodingHelper.GetInputArgument(state, encodingOptions), threads, mapArgs, - GetVideoArguments(state), - GetAudioArguments(state), + GetVideoArguments(state, encodingOptions), + GetAudioArguments(state, encodingOptions), state.SegmentLength.ToString(UsCulture), startNumberParam, outputPath, |
