aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Encoder
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder')
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs8
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs9
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs8
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs2
4 files changed, 16 insertions, 11 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs
index a4d4797eb..c2754217f 100644
--- a/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/AudioEncoder.cs
@@ -35,9 +35,13 @@ namespace MediaBrowser.MediaEncoding.Encoder
audioTranscodeParams.Add("-ac " + state.OutputAudioChannels.Value.ToString(UsCulture));
}
- if (state.OutputAudioSampleRate.HasValue)
+ // opus will fail on 44100
+ if (!string.Equals(state.OutputAudioCodec, "opus", StringComparison.OrdinalIgnoreCase))
{
- audioTranscodeParams.Add("-ar " + state.OutputAudioSampleRate.Value.ToString(UsCulture));
+ if (state.OutputAudioSampleRate.HasValue)
+ {
+ audioTranscodeParams.Add("-ar " + state.OutputAudioSampleRate.Value.ToString(UsCulture));
+ }
}
const string vn = " -vn";
diff --git a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
index aef206f13..1df7ffab3 100644
--- a/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/BaseEncoder.cs
@@ -20,6 +20,7 @@ using System.Text;
using System.Threading;
using System.Threading.Tasks;
using CommonIO;
+using MediaBrowser.Model.Dlna;
namespace MediaBrowser.MediaEncoding.Encoder
{
@@ -456,7 +457,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
{
var arg = string.Format("-i {0}", GetInputPathArgument(state));
- if (state.SubtitleStream != null)
+ if (state.SubtitleStream != null && state.Options.SubtitleMethod == SubtitleDeliveryMethod.Encode)
{
if (state.SubtitleStream.IsExternal && !state.SubtitleStream.IsTextSubtitleStream)
{
@@ -826,7 +827,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
args += " -map -0:a";
}
- if (state.SubtitleStream == null)
+ if (state.SubtitleStream == null || state.Options.SubtitleMethod == SubtitleDeliveryMethod.Hls)
{
args += " -map -0:s";
}
@@ -933,7 +934,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
var output = string.Empty;
- if (state.SubtitleStream != null && state.SubtitleStream.IsTextSubtitleStream)
+ if (state.SubtitleStream != null && state.SubtitleStream.IsTextSubtitleStream && state.Options.SubtitleMethod == SubtitleDeliveryMethod.Encode)
{
var subParam = GetTextSubtitleParam(state);
@@ -1018,7 +1019,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
var pts = string.Empty;
- if (state.SubtitleStream != null && state.SubtitleStream.IsTextSubtitleStream)
+ if (state.SubtitleStream != null && state.SubtitleStream.IsTextSubtitleStream && state.Options.SubtitleMethod == SubtitleDeliveryMethod.Encode && !state.Options.CopyTimestamps)
{
var seconds = TimeSpan.FromTicks(state.Options.StartTimeTicks ?? 0).TotalSeconds;
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index 8d1b4057b..934fbc18f 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -293,10 +293,10 @@ namespace MediaBrowser.MediaEncoding.Encoder
}
var formats = (video.Container ?? string.Empty).Split(',').ToList();
- var enableInterlacedDection = formats.Contains("vob", StringComparer.OrdinalIgnoreCase) &&
- formats.Contains("m2ts", StringComparer.OrdinalIgnoreCase) &&
- formats.Contains("ts", StringComparer.OrdinalIgnoreCase) &&
- formats.Contains("mpegts", StringComparer.OrdinalIgnoreCase) &&
+ var enableInterlacedDection = formats.Contains("vob", StringComparer.OrdinalIgnoreCase) ||
+ formats.Contains("m2ts", StringComparer.OrdinalIgnoreCase) ||
+ formats.Contains("ts", StringComparer.OrdinalIgnoreCase) ||
+ formats.Contains("mpegts", StringComparer.OrdinalIgnoreCase) ||
formats.Contains("wtv", StringComparer.OrdinalIgnoreCase);
// If it's mpeg based, assume true
diff --git a/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs
index 5756566fe..d1afcc720 100644
--- a/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/VideoEncoder.cs
@@ -88,7 +88,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
args += keyFrameArg;
- var hasGraphicalSubs = state.SubtitleStream != null && !state.SubtitleStream.IsTextSubtitleStream;
+ var hasGraphicalSubs = state.SubtitleStream != null && !state.SubtitleStream.IsTextSubtitleStream && state.Options.SubtitleMethod == SubtitleDeliveryMethod.Encode;
// Add resolution params, if specified
if (!hasGraphicalSubs)