update transcoding for chrome

This commit is contained in:
Luke Pulverenti 2015-12-12 02:05:36 -05:00
parent 02938e7bcb
commit 4999b47b47
2 changed files with 25 additions and 5 deletions

View file

@ -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;
}

View file

@ -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})",