aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-12-12 02:05:36 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-12-12 02:05:36 -0500
commit4999b47b475d248a2e3fa43352bf6057bcb40d9d (patch)
treef25271e4e28b4437e467530e3bd27ab358ccf992
parent02938e7bcb0459a44dfa6c9e7dfa2a04be3467be (diff)
update transcoding for chrome
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs13
-rw-r--r--MediaBrowser.Api/Playback/Progressive/VideoService.cs17
2 files changed, 25 insertions, 5 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index eacd7999c..64862da60 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -2178,7 +2178,18 @@ namespace MediaBrowser.Api.Playback
inputModifier += " " + videoDecoder;
}
- //inputModifier += " -noaccurate_seek";
+ if (state.VideoRequest != null)
+ {
+ var videoCodec = GetVideoEncoder(state);
+ // See if we can save come cpu cycles by avoiding encoding
+ if (string.Equals(videoCodec, "copy", StringComparison.OrdinalIgnoreCase))
+ {
+ if (string.Equals(state.OutputContainer, "mkv", StringComparison.OrdinalIgnoreCase))
+ {
+ inputModifier += " -noaccurate_seek";
+ }
+ }
+ }
return inputModifier;
}
diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
index 519bfa8d8..46830384d 100644
--- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
@@ -136,11 +136,20 @@ namespace MediaBrowser.Api.Playback.Progressive
}
// See if we can save come cpu cycles by avoiding encoding
- if (codec.Equals("copy", StringComparison.OrdinalIgnoreCase))
+ if (string.Equals(codec, "copy", StringComparison.OrdinalIgnoreCase))
{
- return state.VideoStream != null && IsH264(state.VideoStream) && string.Equals(state.OutputContainer, "ts", StringComparison.OrdinalIgnoreCase) ?
- args + " -bsf:v h264_mp4toannexb" :
- args;
+ if (string.Equals(state.OutputContainer, "mkv", StringComparison.OrdinalIgnoreCase))
+ {
+ //args += " -copyts -avoid_negative_ts disabled -start_at_zero";
+ }
+
+ if (state.VideoStream != null && IsH264(state.VideoStream) &&
+ (string.Equals(state.OutputContainer, "ts", StringComparison.OrdinalIgnoreCase) || string.Equals(state.OutputContainer, "mkv", StringComparison.OrdinalIgnoreCase)))
+ {
+ args += " -bsf:v h264_mp4toannexb";
+ }
+
+ return args;
}
var keyFrameArg = string.Format(" -force_key_frames expr:gte(t,n_forced*{0})",