|
|
|
@ -1975,7 +1975,7 @@ namespace MediaBrowser.Api.Playback
|
|
|
|
|
if (state.OutputVideoBitrate.HasValue && !string.Equals(state.OutputVideoCodec, "copy", StringComparison.OrdinalIgnoreCase))
|
|
|
|
|
{
|
|
|
|
|
var resolution = ResolutionNormalizer.Normalize(
|
|
|
|
|
state.VideoStream == null ? (int?) null : state.VideoStream.BitRate,
|
|
|
|
|
state.VideoStream == null ? (int?)null : state.VideoStream.BitRate,
|
|
|
|
|
state.OutputVideoBitrate.Value,
|
|
|
|
|
state.VideoStream == null ? null : state.VideoStream.Codec,
|
|
|
|
|
state.OutputVideoCodec,
|
|
|
|
@ -2692,17 +2692,27 @@ namespace MediaBrowser.Api.Playback
|
|
|
|
|
//inputModifier += " -noaccurate_seek";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var videoStream = state.VideoStream;
|
|
|
|
|
if (videoStream != null && !string.IsNullOrWhiteSpace(videoStream.Codec))
|
|
|
|
|
foreach (var stream in state.MediaSource.MediaStreams)
|
|
|
|
|
{
|
|
|
|
|
inputModifier += " -codec:0 " + videoStream.Codec;
|
|
|
|
|
|
|
|
|
|
var audioStream = state.AudioStream;
|
|
|
|
|
if (audioStream != null && !string.IsNullOrWhiteSpace(audioStream.Codec))
|
|
|
|
|
if (!stream.IsExternal && stream.Type != MediaStreamType.Subtitle)
|
|
|
|
|
{
|
|
|
|
|
inputModifier += " -codec:1 " + audioStream.Codec;
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(stream.Codec) && stream.Index != -1)
|
|
|
|
|
{
|
|
|
|
|
inputModifier += " -codec:" + stream.Index.ToString(UsCulture) + " " + stream.Codec;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//var videoStream = state.VideoStream;
|
|
|
|
|
//if (videoStream != null && !string.IsNullOrWhiteSpace(videoStream.Codec))
|
|
|
|
|
//{
|
|
|
|
|
// inputModifier += " -codec:0 " + videoStream.Codec;
|
|
|
|
|
|
|
|
|
|
// var audioStream = state.AudioStream;
|
|
|
|
|
// if (audioStream != null && !string.IsNullOrWhiteSpace(audioStream.Codec))
|
|
|
|
|
// {
|
|
|
|
|
// inputModifier += " -codec:1 " + audioStream.Codec;
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return inputModifier;
|
|
|
|
|