diff options
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder')
4 files changed, 3 insertions, 250 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index 27f66835f..43e463902 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -90,7 +90,8 @@ namespace MediaBrowser.MediaEncoding.Encoder "h264_qsv", "hevc_qsv", "mpeg2_qsv", - "vc1_qsv" + "vc1_qsv", + "h264_cuvid" }; foreach (var codec in required) diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs index 97623c44b..d53701feb 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingJob.cs @@ -150,248 +150,6 @@ namespace MediaBrowser.MediaEncoding.Encoder } } - public int? TotalOutputBitrate - { - get - { - return (OutputAudioBitrate ?? 0) + (OutputVideoBitrate ?? 0); - } - } - - public int? OutputWidth - { - get - { - if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue) - { - var size = new ImageSize - { - Width = VideoStream.Width.Value, - Height = VideoStream.Height.Value - }; - - var newSize = DrawingUtils.Resize(size, - Options.Width, - Options.Height, - Options.MaxWidth, - Options.MaxHeight); - - return Convert.ToInt32(newSize.Width); - } - - if (!IsVideoRequest) - { - return null; - } - - return Options.MaxWidth ?? Options.Width; - } - } - - public int? OutputHeight - { - get - { - if (VideoStream != null && VideoStream.Width.HasValue && VideoStream.Height.HasValue) - { - var size = new ImageSize - { - Width = VideoStream.Width.Value, - Height = VideoStream.Height.Value - }; - - var newSize = DrawingUtils.Resize(size, - Options.Width, - Options.Height, - Options.MaxWidth, - Options.MaxHeight); - - return Convert.ToInt32(newSize.Height); - } - - if (!IsVideoRequest) - { - return null; - } - - return Options.MaxHeight ?? Options.Height; - } - } - - /// <summary> - /// Predicts the audio sample rate that will be in the output stream - /// </summary> - public int? TargetVideoBitDepth - { - get - { - var stream = VideoStream; - return stream == null || !Options.Static ? null : stream.BitDepth; - } - } - - /// <summary> - /// Gets the target reference frames. - /// </summary> - /// <value>The target reference frames.</value> - public int? TargetRefFrames - { - get - { - var stream = VideoStream; - return stream == null || !Options.Static ? null : stream.RefFrames; - } - } - - /// <summary> - /// Predicts the audio sample rate that will be in the output stream - /// </summary> - public float? TargetFramerate - { - get - { - var stream = VideoStream; - var requestedFramerate = Options.MaxFramerate ?? Options.Framerate; - - return requestedFramerate.HasValue && !Options.Static - ? requestedFramerate - : stream == null ? null : stream.AverageFrameRate ?? stream.RealFrameRate; - } - } - - public TransportStreamTimestamp TargetTimestamp - { - get - { - var defaultValue = string.Equals(OutputContainer, "m2ts", StringComparison.OrdinalIgnoreCase) ? - TransportStreamTimestamp.Valid : - TransportStreamTimestamp.None; - - return !Options.Static - ? defaultValue - : InputTimestamp; - } - } - - /// <summary> - /// Predicts the audio sample rate that will be in the output stream - /// </summary> - public int? TargetPacketLength - { - get - { - var stream = VideoStream; - return !Options.Static - ? null - : stream == null ? null : stream.PacketLength; - } - } - - /// <summary> - /// Predicts the audio sample rate that will be in the output stream - /// </summary> - public string TargetVideoProfile - { - get - { - var stream = VideoStream; - return !string.IsNullOrEmpty(Options.Profile) && !Options.Static - ? Options.Profile - : stream == null ? null : stream.Profile; - } - } - - public string TargetVideoCodecTag - { - get - { - var stream = VideoStream; - return !Options.Static - ? null - : stream == null ? null : stream.CodecTag; - } - } - - public bool? IsTargetAnamorphic - { - get - { - if (Options.Static) - { - return VideoStream == null ? null : VideoStream.IsAnamorphic; - } - - return false; - } - } - - public bool? IsTargetInterlaced - { - get - { - if (Options.Static) - { - return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced; - } - - if (DeInterlace) - { - return false; - } - - return VideoStream == null ? (bool?)null : VideoStream.IsInterlaced; - } - } - - public bool? IsTargetAVC - { - get - { - if (Options.Static) - { - return VideoStream == null ? null : VideoStream.IsAVC; - } - - return false; - } - } - - public int? TargetVideoStreamCount - { - get - { - if (Options.Static) - { - return GetMediaStreamCount(MediaStreamType.Video, int.MaxValue); - } - return GetMediaStreamCount(MediaStreamType.Video, 1); - } - } - - public int? TargetAudioStreamCount - { - get - { - if (Options.Static) - { - return GetMediaStreamCount(MediaStreamType.Audio, int.MaxValue); - } - return GetMediaStreamCount(MediaStreamType.Audio, 1); - } - } - - private int? GetMediaStreamCount(MediaStreamType type, int limit) - { - var count = MediaSource.GetStreamCount(type); - - if (count.HasValue) - { - count = Math.Min(count.Value, limit); - } - - return count; - } - public override void ReportTranscodingProgress(TimeSpan? transcodingPosition, float? framerate, double? percentComplete, long? bytesTranscoded, int? bitRate) { var ticks = transcodingPosition.HasValue ? transcodingPosition.Value.Ticks : (long?)null; diff --git a/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs b/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs index c74a8ce37..ba5f625f5 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncodingJobFactory.cs @@ -105,7 +105,6 @@ namespace MediaBrowser.MediaEncoding.Encoder //state.OutputContainer = (container ?? string.Empty).TrimStart('.'); state.OutputAudioBitrate = encodingHelper.GetAudioBitrateParam(state.Options, state.AudioStream); - state.OutputAudioSampleRate = request.AudioSampleRate; state.OutputAudioCodec = state.Options.AudioCodec; diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 280b01ee2..faf5b0667 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -80,11 +80,6 @@ namespace MediaBrowser.MediaEncoding.Encoder int defaultImageExtractionTimeoutMs, bool enableEncoderFontFile, IEnvironmentInfo environmentInfo) { - if (jsonSerializer == null) - { - throw new ArgumentNullException("jsonSerializer"); - } - _logger = logger; _jsonSerializer = jsonSerializer; ConfigurationManager = configurationManager; @@ -330,7 +325,7 @@ namespace MediaBrowser.MediaEncoding.Encoder } var newPaths = GetEncoderPaths(appPath); - if (string.IsNullOrWhiteSpace(newPaths.Item1) || string.IsNullOrWhiteSpace(newPaths.Item2)) + if (string.IsNullOrWhiteSpace(newPaths.Item1) || string.IsNullOrWhiteSpace(newPaths.Item2) || IsSystemInstalledPath(appPath)) { newPaths = TestForInstalledVersions(); } |
