aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Playback/BaseStreamingService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Playback/BaseStreamingService.cs')
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs15
1 files changed, 11 insertions, 4 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index 36207c8b4..1de42268a 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -291,6 +291,11 @@ namespace MediaBrowser.Api.Playback
{
get
{
+ if (string.Equals(ApiEntryPoint.Instance.GetEncodingOptions().HardwareVideoDecoder, "qsv", StringComparison.OrdinalIgnoreCase))
+ {
+ return "h264_qsv";
+ }
+
return "libx264";
}
}
@@ -313,7 +318,7 @@ namespace MediaBrowser.Api.Playback
{
param = "-preset superfast";
- param += " -crf 23";
+ param += " -crf 23 -rc-lookahead 0 -muxdelay 0 -refs 1";
}
else if (string.Equals(videoCodec, "libx265", StringComparison.OrdinalIgnoreCase))
@@ -326,7 +331,7 @@ namespace MediaBrowser.Api.Playback
// h264 (h264_qsv)
else if (string.Equals(videoCodec, "h264_qsv", StringComparison.OrdinalIgnoreCase))
{
- param = "-preset 7";
+ param = "-preset 7 -look_ahead 0";
}
@@ -561,7 +566,10 @@ namespace MediaBrowser.Api.Playback
if (string.Equals(outputVideoCodec, "h264_qsv", StringComparison.OrdinalIgnoreCase))
{
- filters[filters.Count - 1] += ":flags=fast_bilinear";
+ if (filters.Count > 0)
+ {
+ filters[filters.Count - 1] += ":flags=fast_bilinear";
+ }
}
var output = string.Empty;
@@ -1662,7 +1670,6 @@ namespace MediaBrowser.Api.Playback
state.InputContainer = mediaSource.Container;
state.InputFileSize = mediaSource.Size;
state.InputBitrate = mediaSource.Bitrate;
- state.ReadInputAtNativeFramerate = mediaSource.ReadAtNativeFramerate;
state.RunTimeTicks = mediaSource.RunTimeTicks;
state.RemoteHttpHeaders = mediaSource.RequiredHttpHeaders;