aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
diff options
context:
space:
mode:
authornyanmisaka <nst799610810@gmail.com>2020-11-08 09:01:58 +0000
committernyanmisaka <nst799610810@gmail.com>2020-11-08 09:01:58 +0000
commit5048719a64ce914f859e058c1a7b03258255836e (patch)
treea240598af8d54b7532777d6de8c38536c5f69fc9 /MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
parent1abd3d1bd8049e0fad557b95ee7d76916883b539 (diff)
minor changes per suggestions
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs')
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs8
1 files changed, 6 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
index 87670e2eb..6e348f1e6 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
@@ -662,6 +662,10 @@ namespace MediaBrowser.Controller.MediaEncoding
if (string.Equals(state.ActualOutputVideoCodec, "hevc", StringComparison.OrdinalIgnoreCase)
|| string.Equals(state.ActualOutputVideoCodec, "h265", StringComparison.OrdinalIgnoreCase))
{
+ // Transcode to level 5.0 and lower for maximum compatibility
+ // level 5.0 is suitable for up to 4k 30fps hevc encoding, otherwise let the encoder to handle it
+ // https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding_tiers_and_levels
+ // MaxLumaSampleRate = 3840*2160*30 = 248832000 < 267386880,
if (requestLevel >= 150)
{
return "150";
@@ -3293,7 +3297,7 @@ namespace MediaBrowser.Controller.MediaEncoding
if (state.RunTimeTicks.HasValue && state.BaseRequest.CopyTimestamps)
{
- args += " -copyts -avoid_negative_ts disabled -start_at_zero";
+ args += " -copyts -avoid_negative_ts 0 -start_at_zero";
}
if (!state.RunTimeTicks.HasValue)
@@ -3341,7 +3345,7 @@ namespace MediaBrowser.Controller.MediaEncoding
args += " -copyts";
}
- args += " -avoid_negative_ts disabled";
+ args += " -avoid_negative_ts 0";
if (!(state.SubtitleStream != null && state.SubtitleStream.IsExternal && !state.SubtitleStream.IsTextSubtitleStream))
{